📄 Documentação de Webhook - WhatsContábil
Introdução
O sistema pode enviar eventos automaticamente para uma URL configurada nas Configurações de Integração, no campo
Webhook para eventos.
Quando configurado, o sistema fará uma requisição POST para essa URL sempre que alguns eventos da
API Oficial do WhatsApp forem processados.
Formato da Requisição
Endpoint: https://url-do-cliente.com/webhook
Método: POST
Headers
Content-Type: application/json
Corpo
O corpo da requisição sempre será enviado em JSON.
Comportamento do Envio
- Se a URL do webhook não estiver configurada, o sistema ignora o envio.
- Se a URL estiver inválida ou indisponível, o sistema apenas registra um alerta interno e continua o fluxo normal.
- O webhook deve responder com status HTTP
2xxpara ser considerado recebido com sucesso. - Atualmente, não há retentativa automática em caso de falha.
Seleção de Eventos
Antes dos eventos enviados no webhook, é preciso selecionar quais eventos deseja receber. Somente os eventos selecionados serão enviados para a URL configurada.
Eventos Enviados
Mensagem recebida
Enviado quando uma nova mensagem de texto é recebida pelo número conectado.
{
"type": "message",
"messageId": "wamid.xxxxx",
"body": "Texto da mensagem",
"messageType": "text"
}
Mensagem de mídia recebida
Para mídias, o campo body recebe a URL ou caminho da mídia.
Enviado quando uma nova mensagem com arquivo, imagem, vídeo, áudio, figurinha ou documento é recebida.
{
"type": "message",
"messageId": "wamid.xxxxx",
"body": "https://.../arquivo.jpg",
"messageType": "image"
}
Reação em mensagem
Enviado quando um contato reage a uma mensagem.
{
"type": "reaction",
"messageId": "wamid.xxxxx",
"reaction": "like"
}
Mensagem editada
Enviado quando o conteúdo de uma mensagem recebida é alterado pelo contato.
{
"type": "edit",
"messageId": "wamid.xxxxx",
"editedBody": "Novo texto da mensagem"
}
Mensagem apagada
Enviado quando uma mensagem é apagada ou revogada pelo contato.
{
"type": "revoke",
"messageId": "wamid.xxxxx"
}
Atualização de status da mensagem
Enviado quando o status de entrega de uma mensagem muda, como enviada, entregue, lida ou com falha.
{
"type": "statuses",
"messageId": "wamid.xxxxx",
"status": "delivered"
}
Tipos e Status
Tipos possíveis em messageType
textbuttonunsupportedsystemdocumentimagevideoaudiosticker
Status possíveis
sentdeliveredreadfailed
Observações Importantes
O envio do webhook não bloqueia o atendimento nem o processamento interno do sistema. Caso o endpoint do cliente esteja fora do ar no momento do evento, o atendimento continuará normalmente.
Recomendamos que o endpoint do cliente retorne rapidamente uma resposta HTTP 2xx após receber o
evento. Qualquer processamento demorado deve ser feito de forma assíncrona do lado do cliente.