API oficial do WhatsApp

Webhook do WhatsApp API: como as respostas e os status chegam ao seu sistema

Resposta rápida

O webhook WhatsApp API é o endereço do seu sistema para onde a Meta envia, em tempo real, as respostas dos clientes e os status de cada mensagem (enviada, entregue, lida ou com falha). Sem webhook, o disparo sai, mas ninguém vê o retorno. Quando a AD PRO dispara pela API oficial, as respostas seguem para o seu time, o seu CRM ou o fluxo combinado.

Por AD PRO TecnologiaPublicado em 7 min de leitura
Neste conteúdo (6 partes)

O que é o webhook da API do WhatsApp e para que serve?

Webhooks são requisições HTTP com conteúdo em JSON que os servidores da Meta enviam para um endereço que você define. Na API do WhatsApp, o campo messages cobre dois tipos de aviso: as mensagens que os clientes mandam para a empresa e as atualizações de status das mensagens que a empresa enviou. Em vez de perguntar à Meta o tempo todo se algo mudou, o seu sistema é avisado quando acontece.

Para o disparo em massa, isso resolve duas coisas. A primeira é o atendimento: a resposta do cliente chega ao CRM e cai na fila de quem vai atender. A segunda é a medição: cada mensagem recebe um status, e a soma dos status vira o relatório da campanha. Se você quer entender o conceito de webhook em geral, veja o que é webhook; aqui o foco é o WhatsApp.

O que a Meta envia pelo webhook?

No caminho de saída, cada mensagem enviada gera avisos de status. Segundo a documentação da Meta, os valores são estes:

Status de mensagem enviados pelo webhook do WhatsApp
StatusO que significaComo usar no disparo
sentA mensagem saiu dos servidores com sucessoConta como envio, ainda não prova entrega
deliveredA mensagem chegou ao aparelho do clienteBase do relatório de entrega
readA mensagem foi exibida em uma conversa abertaIndica leitura; se o cliente viu com o chat aberto, o aviso de entregue pode ser pulado
failedFalha ao enviar ou entregarVem com código de erro; separar por motivo antes de reenviar

Cada aviso traz o identificador da mensagem, o status, o horário, o número do destinatário e, quando há falha, um bloco de erro com código e descrição. Um dos avisos (sent, delivered ou read) também traz o bloco de cobrança, com a categoria da mensagem. Um detalhe útil para campanhas: se você enviar um valor próprio de controle junto com a mensagem (o campo de dados opacos de retorno), ele volta no status. Dá para carregar ali o código da campanha e cruzar o resultado com a sua planilha depois.

O seu sistema precisa aceitar que o entregue não chegue: quando a mensagem é lida no instante em que chega, a Meta manda só o lido. Também precisa aceitar avisos repetidos, por causa das novas tentativas descritas adiante. Para entender o que cada código de falha quer dizer, use códigos de erro da API do WhatsApp e status de entrega da API do WhatsApp.

O webhook também carrega avisos da conta, além das mensagens: a Meta notifica pausa de template (por webhook, e-mail e no gerenciador) e informa, quando nega o aumento de limite, o próximo passo pelo alerta de conta. Ou seja, o mesmo canal que traz a resposta do cliente traz o sinal de que algo precisa de atenção.

Como configurar o webhook, passo a passo?

  1. 1
    Criar um endereço HTTPS

    O endpoint precisa de certificado TLS válido e bem instalado. Certificado autoassinado não é aceito. Existe a opção de mTLS para mais segurança.

  2. 2
    Responder à verificação

    A Meta faz uma requisição GET com hub.mode igual a subscribe, um hub.challenge aleatório e o seu hub.verify_token. Se o token bate com o que você guardou, responda 200 e devolva o valor do challenge. Só depois disso a Meta começa a enviar eventos.

  3. 3
    Cadastrar o endereço no painel

    No painel do app da Meta, em WhatsApp e Configuration, informe a URL de retorno (callback) e o token de verificação.

  4. 4
    Assinar os campos

    Depois da verificação, aparece a lista de campos. Marque o campo messages (respostas e status) e os campos da conta que o seu time precisa acompanhar.

  5. 5
    Validar a assinatura de cada aviso

    Cada POST traz o cabeçalho X-Hub-Signature-256 no formato sha256=hash. Calcule o HMAC-SHA256 do corpo bruto com o segredo do app e compare. Se não bate, descarte.

  6. 6
    Responder 200 e tratar depois

    Devolva 200 logo que validar e processe a fila em seguida. Resposta diferente de 200 faz a Meta tentar de novo.

Quais regras técnicas o webhook precisa cumprir?

  • Repetição: se o seu endpoint falha ou responde diferente de 200, a Meta tenta de novo por até 7 dias, com frequência decrescente. Isso gera avisos duplicados, então o tratamento precisa ser idempotente (guardar o identificador da mensagem e do status e ignorar repetidos).
  • Tamanho: o corpo pode ter até 3 MB.
  • Lotes: um envio pode reunir até 1.000 atualizações, mas a Meta não garante lote, então trate cada requisição como independente.
  • Permissões: o campo messages exige a permissão whatsapp_business_messaging; os demais avisos de conta exigem whatsapp_business_management.
  • Segurança: além da assinatura, há mTLS. A lista de IPs da Meta muda de tempos em tempos, por isso o mTLS é a opção mais estável do que liberar IP por IP.

Para testar sem perder tempo, use o envio de teste do painel do app e depois uma mensagem real para um número seu. O passo a passo de teste está em como testar um webhook.

Como o webhook transforma o disparo em atendimento?

Quando o cliente responde, o webhook entrega a mensagem ao seu sistema, e a conversa abre a janela de 24 horas, na qual a empresa pode responder sem template (veja janela de 24 horas do WhatsApp). A parte que decide se a campanha vira venda é o que acontece em seguida: quem atende, em quanto tempo e com qual resposta pronta.

  1. A resposta entra pelo webhook e é associada ao contato pelo número do cliente.
  2. O CRM aplica a regra de fila: campanha, região ou tipo de produto.
  3. O contato recebe a etiqueta da campanha, para medir depois.
  4. Pedidos de saída (parar de receber) são registrados na hora e o contato sai das próximas listas.
  5. Os status viram o relatório: enviadas, entregues, lidas, falhas por motivo.

Se você ainda não tem CRM, a AD PRO implementa: veja implementação de CRM. E para preparar o time que recebe as respostas, leia como atender as respostas do disparo.

Checklist de teste do webhook (antes da campanha)
[ ] 1. Endereço em HTTPS com certificado válido (não autoassinado)
[ ] 2. Verificação GET respondida com 200 e o challenge devolvido
[ ] 3. Campo messages assinado
[ ] 4. App no modo Live
[ ] 5. Assinatura X-Hub-Signature-256 validada (aviso com assinatura errada é descartado)
[ ] 6. Mensagem de teste enviada para um número interno: apareceram sent, delivered e read?
[ ] 7. Resposta do número interno chegou ao CRM, na fila certa?
[ ] 8. Aviso repetido (mesmo id) não duplica contato nem relatório
[ ] 9. Falha simulada (número inexistente): o erro foi gravado com código?
[ ] 10. Quem é avisado se o endpoint cair: ____________

Exemplo de campos de um aviso de status (valores fictícios):
{ id: 'wamid.EXEMPLO', status: 'delivered', timestamp: '1760000000', recipient_id: '5511999990000' }

Perguntas frequentes

O que é webhook na API do WhatsApp?

É uma requisição que a Meta envia para um endereço do seu sistema sempre que algo acontece: um cliente responde ou o status de uma mensagem muda. O conteúdo vem em JSON e o campo principal é o messages.

Quais status o webhook do WhatsApp informa?

Os status de mensagem são sent (enviada), delivered (entregue), read (lida) e failed (falha). Quando há falha, o aviso vem com código e descrição do erro.

O que acontece se meu webhook ficar fora do ar?

A Meta tenta entregar de novo por até 7 dias, com frequência decrescente. Como isso pode gerar avisos duplicados, o seu sistema precisa ignorar eventos repetidos.

Como sei se o aviso veio mesmo da Meta?

Cada requisição traz o cabeçalho X-Hub-Signature-256. Você calcula o HMAC-SHA256 do corpo com o segredo do app e compara com o valor recebido. Se for diferente, descarte o aviso.

Preciso configurar webhook para disparar com a AD PRO?

Não. Na estrutura da AD PRO a gente cuida disso e entrega o relatório de entrega. As respostas podem ir para o seu time ou para o seu CRM, conforme o fluxo combinado.

Fontes
AD PRO Tecnologia

Receba as respostas do disparo onde seu time trabalha

Mande a base e a copy para a AD PRO e diga para onde as respostas devem ir. A gente dispara pela API oficial e entrega o relatório no fim.

  • Disparo pela API oficial do WhatsApp, da estrutura da AD PRO
  • Base tratada: sem duplicados, números validados, DDI e DDD padronizados
  • Teste em números reais antes de disparar, com a sua aprovação
  • Preço final já com a tarifa da Meta, pago só pelo que foi entregue
  • Relatório de entrega por campanha

Já é cliente? Crie a demanda, aprove o teste e baixe o relatório no portal de disparos, operado com a Nexor Company, empresa parceira do mesmo grupo.

Suas informações ficam com o time da AD PRO. Nada de spam.

Continue lendo

API oficial do WhatsApp
Enviado, entregue, lido e falhou: como ler o status de cada mensagem na API do WhatsApp

Status de mensagem do WhatsApp API explicado: o que são sent, delivered, read e failed, como o webhook informa e como ler cada um no relatório da campanha.

API oficial do WhatsApp
Códigos de erro da Cloud API do WhatsApp: o que significam e como resolver

Erros da API do WhatsApp em tabela: o que significam 131049, 131063, 131047, 132001 e outros códigos da Cloud API, a causa provável e como resolver.

API oficial do WhatsApp
Respostas do disparo em massa: como preparar o time e atender sem perder ninguém

Respostas do disparo em massa: como preparar o time, montar filas e respostas prontas e definir prazo de retorno para virar conversa e venda.

API oficial do WhatsApp
Gerenciador do WhatsApp (WhatsApp Manager): onde ver número, templates e limite

Gerenciador do WhatsApp (WhatsApp Manager): como acessar pelo portfólio da Meta, onde ver número, templates e limite de envio, e uma rotina semanal.

API oficial do WhatsApp
WhatsApp Cloud API explicada para quem vai disparar mensagens

WhatsApp Cloud API: o que é a API do WhatsApp Business na nuvem, como a Meta cobra por mensagem entregue, como começar e quando disparar pela AD PRO.

Disparo em massa
Relatório de disparo em massa: como ler o resultado e planejar a próxima campanha

Relatório de disparo em massa: o que a AD PRO entrega (enviados, entregues, evidências), como ler os números e como usar o resultado na próxima campanha.