Wow! Redução de 65% no preço para clientes brasileiros! Registre-se agora
Briefing da equipa escolar · Caso de uso da WhatsApp API

Resumo diário do LMS para a equipa no WhatsApp depois da escola

Um membro responsável da equipa pode ler o panorama operacional do dia no WhatsApp em vez de abrir o LMS. Depois do horário escolar, o seu agendador pode consultar a base de dados, compor um texto curto e enviá-lo através da Whapi.Cloud. Este caso de uso mostra aos integradores como implementar esse fluxo com a WhatsApp API.

Só texto, sem gráficos nem PDFs Um chat pessoal da equipa
Painel de operações escolares ao lado de um telefone cujo chat do WhatsApp mostra um breve resumo noturno para a equipa depois do horário escolar.
Cenário de uso

Quando usar este fluxo

O gatilho é um horário diário depois da escola

Use este fluxo quando uma tarefa agendada diária corre depois do horário escolar, não a cada mudança de linha no LMS em tempo real.

O resumo vem de dados do LMS ou da base de dados

Use este fluxo quando o own_backend consulta o LMS ou a base de dados e compõe contagens ou alertas, não quando só lê o histórico de mensagens do WhatsApp.

Um membro responsável da equipa num chat pessoal

Use este fluxo quando um funcionário responsável deve receber o brief num chat pessoal, não quando os professores partilham uma escala num grupo.

Chat do WhatsApp num telefone com um breve resumo noturno para a equipa depois do horário escolar.
Experiência do cliente

A equipa vê o dia no chat

Os sinais operacionais do dia ficam dentro do LMS até alguém abrir os painéis, e a direção fica a saber tarde das falhas ou do atraso.

Depois do fluxo correr, o membro responsável abre o WhatsApp e lê um resumo curto do panorama operacional do dia. Os integradores constroem este resultado com a WhatsApp API.

Fluxo

Envie o brief noturno para o chat

1

O agendador diário corre depois da escola

O seu agendador dispara depois do horário escolar. Um worker consulta o LMS ou a base de dados e constrói o texto desse dia.

2

Envie o brief de texto à equipa

POST /messages/text

sendMessageText entrega o resumo composto ao membro responsável da equipa. Ponha o telefone da equipa em to e o resumo em body.

Precisa de acompanhar a entrega? Uma resposta de sucesso da API não significa que a equipa já tenha o brief. Saiba mais sobre o estado de entrega →

Pré-requisitos

Antes de executar o fluxo

Ligue o número de WhatsApp que envia o brief noturno e autentique cada pedido com o token desse número. A consulta ao LMS, o horário e a composição do texto ficam no seu backend.

Opcional — aprofunde este fluxo

Implementação da API

Uma chamada envia o brief

Esta chamada é o check-in. Coloca o resumo do LMS composto no chat pessoal do membro responsável da equipa nessa noite.

Obtenha o token da API grátis depois de se registar em whapi.cloud e use esse token no código em vez de Your_Token dos exemplos.

Envie o brief de texto à equipa

Envie o brief operacional noturno ao membro responsável da equipa para a direção ver o panorama do dia sem abrir o LMS.

curl --request POST \
     --url https://gate.whapi.cloud/messages/text \
     --header 'accept: application/json' \
     --header 'authorization: Bearer Your_Token' \
     --header 'content-type: application/json' \
     --data '
{
  "to": "447123456789",
  "body": "Today: 12 absences, 3 late arrivals, 2 open tickets."
}
'
$curl = curl_init();

curl_setopt_array($curl, [
  CURLOPT_URL => "https://gate.whapi.cloud/messages/text",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_POSTFIELDS => "{\"to\":\"447123456789\",\"body\":\"Today: 12 absences, 3 late arrivals, 2 open tickets.\"}",
  CURLOPT_HTTPHEADER => [
    "accept: application/json",
    "authorization: Bearer Your_Token",
    "content-type: application/json"
  ],
]);

$response = curl_exec($curl);
curl_close($curl);
echo $response;
import requests

url = "https://gate.whapi.cloud/messages/text"
payload = {
    "to": "447123456789",
    "body": "Today: 12 absences, 3 late arrivals, 2 open tickets."
}
headers = {
    "accept": "application/json",
    "authorization": "Bearer Your_Token",
    "content-type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)
print(response.text)
const response = await fetch('https://gate.whapi.cloud/messages/text', {
  method: 'POST',
  headers: {
    accept: 'application/json',
    authorization: 'Bearer Your_Token',
    'content-type': 'application/json',
  },
  body: JSON.stringify({
    to: '447123456789',
    body: 'Today: 12 absences, 3 late arrivals, 2 open tickets.',
  }),
});

console.log(await response.text());
OkHttpClient client = new OkHttpClient();

MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\"to\":\"447123456789\",\"body\":\"Today: 12 absences, 3 late arrivals, 2 open tickets.\"}");
Request request = new Request.Builder()
  .url("https://gate.whapi.cloud/messages/text")
  .post(body)
  .addHeader("accept", "application/json")
  .addHeader("authorization", "Bearer Your_Token")
  .addHeader("content-type", "application/json")
  .build();

Response response = client.newCall(request).execute();
using RestSharp;

var options = new RestClientOptions("https://gate.whapi.cloud/messages/text");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("accept", "application/json");
request.AddHeader("authorization", "Bearer Your_Token");
request.AddHeader("content-type", "application/json");
request.AddJsonBody(new { to = "447123456789", body = "Today: 12 absences, 3 late arrivals, 2 open tickets." });
var response = await client.PostAsync(request);

Console.WriteLine("{0}", response.Content);
package main

import (
	"bytes"
	"fmt"
	"io"
	"net/http"
)

func main() {
	body := []byte(`{"to":"447123456789","body":"Today: 12 absences, 3 late arrivals, 2 open tickets."}`)
	req, _ := http.NewRequest("POST", "https://gate.whapi.cloud/messages/text", bytes.NewReader(body))
	req.Header.Set("accept", "application/json")
	req.Header.Set("authorization", "Bearer Your_Token")
	req.Header.Set("content-type", "application/json")

	res, _ := http.DefaultClient.Do(req)
	defer res.Body.Close()
	out, _ := io.ReadAll(res.Body)
	fmt.Println(string(out))
}
Envio

Saiba quando o brief chegou

Uma resposta de envio com sucesso não significa que a equipa já tenha o brief. O primeiro estado visível antes de um webhook é pending. As mudanças seguintes chegam só em statuses.post e statuses.put. Se o estado ficar em pending e não passar a sent, delivered ou um aviso posterior, a mensagem não foi entregue. Verifique o payload e a permissão da conta para enviar esse tipo.

  • Uma resposta de sendMessageText não prova que a equipa tem o brief.

  • Um pending que não avança significa que o brief não foi entregue.

  • Acompanhe statuses.post e statuses.put para os avisos seguintes.

  • Ative webhooks se o seu worker deve repetir quando a entrega nunca se completa.

O que ler sobre entrega e webhooks

Contacte o suporte se algo correu mal
Quando algo falha

Trate as falhas em cada passo

Se a consulta ao LMS falhar, o worker saltar o envio ou o texto não for entregue, repita a tarefa ou alerte a equipa de reserva e não marque o check-in como completo.

O agendador correu, mas o check-in falhou?

A consulta ao LMS pode falhar antes de qualquer envio, ou sendMessageText pode ser rejeitado ou não entregue depois de o resumo já estar pronto. Repita a tarefa do worker ou alerte a equipa de reserva, e não marque o check-in como completo. Se o check-in noturno continuar a falhar depois de uma repetição, contacte o suporte da Whapi com o id do canal e a resposta de envio falhada.

Contacte o suporte se algo correu mal

Diagnostique por passo da API

Situação O que significa O que fazer
400 Wrong request parameters Parâmetros de pedido errados — verifique to e body no payload de envio.
401 Need channel authorization for send message
402 Trial version limit exceeded
403 It is forbidden to send to this group/recipient É proibido enviar a este destinatário — confirme o telefone ou chat id da equipa e as permissões do canal.
429 Too many requests
500 Internal Error
Perguntas frequentes

Perguntas de integradores

Não. Este fluxo envia um brief de texto noturno a um membro responsável da equipa. Gráficos, PDFs e verificações de alcance aos pais pertencem a um fluxo multiformato separado para os pais.
Não. Este fluxo aponta para um chat pessoal da equipa. Os alertas de coordenação de grupo usam um JID de grupo de professores e são um cenário separado.
Se a consulta ao LMS falhar, o worker saltar o envio ou o texto não for entregue, repita a tarefa ou alerte a equipa de reserva e não marque o check-in como completo.
Não. Compõe texto próprio a partir dos dados do LMS e envia com sendMessageText. O envio não espera um modelo pré-aprovado e não acrescenta um custo por modelo a essa mensagem.
No seu backend. O passo Whapi do catálogo é só sendMessageText. O agendamento, os workers de Redis ou Celery e as consultas à base de dados ficam em own_backend.
Recursos compatíveis do WhatsApp

Tudo o que você precisa para criar automações no WhatsApp

O Whapi.Cloud oferece acesso a um conjunto completo de recursos do WhatsApp — mensagens, mídia, grupos, canais, webhooks e muito mais. Crie bots, automações e integrações sem limitações de funcionalidades.

Escolhido por desenvolvedores

Confiado por mais de 3.300 desenvolvedores e equipes SaaS

Desenvolvedores no mundo inteiro utilizam o Whapi.Cloud para criar automações, bots, integrações com CRM, ferramentas de envio em massa e fluxos avançados de WhatsApp. Nossa infraestrutura processa milhões de requisições API com alta estabilidade — e esse número cresce a cada mês.

Ícone de recurso

5,5K+

canais de API ativos

Ícone de recurso

21M+

requisições API por mês

“Tudo é simples, intuitivo e fácil de navegar. A documentação é clara e todas as informações estão bem à mão. Trabalho excelente.”

Roberto K. / Desenvolvedor Web

“Conectamos o WhatsApp aos nossos fluxos usando o n8n em apenas alguns minutos. Sem código, sem complicações — funcionou de primeira.”

Martin P. / Desenvolvedor

“O Whapi.Cloud se tornou uma parte essencial da nossa comunicação com clientes. Automatizamos atualizações de produtos, notificações de pedidos e mensagens de suporte — tudo sem templates nem aprovações da Meta.”

Oscar T. / CTO

Balão decorativo