📄 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

Corpo

O corpo da requisição sempre será enviado em JSON.

Comportamento do Envio

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.

Campo Eventos do webhook com opções de seleção

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

Status possíveis

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.