O webhook é o mecanismo que permite receber mensagens e atualizações de status do WhatsApp em tempo real no seu servidor. Neste guia você aprende como validar o challenge, tratar eventos de entrega e leitura, e evitar os erros mais comuns de configuração.
Para simplificar o conceito arquitetural de dev: Se a REST API é a sua empresa bater na porta do Facebook para enviar um dado com (GET/POST), o Webhook é o Facebook bater na porta do seu servidor para informar algo instantaneamente sempre que acontece uma ação humana, evitando que sua aplicação precise consultar os servidores de Mark Zuckerberg de minuto em minuto eternamente (o temido polling infinito).
Quando sua equipe conecta o Dashboard da Hablas ao App Oficial da Meta, nossa malha tecnológica registra um campo Callback URL de recepção. Nós transformamos a imensa bagunça JSON crua da Meta num modelo limpo, disparando diretamente para a sua API final (seja em PHP, Laravel, Node.JS ou num n8n).
A Estrutura de Tratamento Obrigatória do Dev Backend:
No Meta for Developers, acesse o App > WhatsApp > Configuração > Webhook. Insira a URL do seu servidor (HTTPS obrigatório) e um Verify Token. A Meta fará um GET com hub.challenge e você deve retornar o valor. Depois, ative os campos: messages, message_deliveries e message_reads.
Verifique: (1) se o servidor responde em menos de 3 segundos com HTTP 200; (2) se o SSL/HTTPS está válido; (3) se os campos de assinatura estão ativados no painel da Meta; (4) se o webhook foi verificado com sucesso. Use ngrok para testar localmente antes de publicar.
O payload contém o campo statuses com os valores: sent (enviado ao servidor da Meta), delivered (entregue ao celular do destinatário) ou read (lido pelo usuário). Responda HTTP 200 imediatamente e processe a lógica em background com filas assíncronas.
Polling é quando sua aplicação consulta a API periodicamente para verificar novos eventos — ineficiente e com delay. Webhook é o oposto: a Meta notifica seu servidor instantaneamente. A API Oficial só suporta webhook, tornando o sistema mais rápido e eficiente.
Um webhook é uma URL no seu servidor que a Meta chama automaticamente (via HTTP POST) toda vez que algo acontece — uma nova mensagem recebida, uma mensagem entregue ou lida. É em tempo real e não exige consultas periódicas ao servidor.
No Meta for Developers, acesse o App > WhatsApp > Configuração > Webhook. Insira a URL do seu servidor (HTTPS obrigatório) e um Verify Token. A Meta fará um GET com hub.challenge e você deve retornar o valor. Depois, ative os campos: messages, message_deliveries e message_reads.
Verifique: (1) se o servidor responde em menos de 3 segundos com HTTP 200; (2) se o SSL/HTTPS está válido; (3) se os campos de assinatura estão ativados no painel da Meta; (4) se o webhook foi verificado com sucesso. Use ngrok para testar localmente antes de publicar.
O payload contém o campo statuses com os valores: sent (enviado ao servidor da Meta), delivered (entregue ao celular do destinatário) ou read (lido pelo usuário). Responda HTTP 200 imediatamente e processe a lógica em background com filas assíncronas.
Polling é quando sua aplicação consulta a API periodicamente para verificar novos eventos — ineficiente e com delay. Webhook é o oposto: a Meta notifica seu servidor instantaneamente. A API Oficial só suporta webhook, tornando o sistema mais rápido e eficiente.
* Acesse a mais pura WhatsApp API do mercado. Documentação simples em PT-BR.