Skip to main content
WEBHOOK
message_received
{
  "eventType": "message.incoming",
  "messageId": "wamid.HBgNNTU0Mzk2NjQ3NjM5...",
  "chatId": "665f1c2b8a9d4e2fb1c39d8e",
  "contactId": "664a0b1c2d3e4f5a6b7c8d9e",
  "direction": "incoming",
  "timestamp": "2026-07-14T12:34:56.789Z",
  "engine": "whatsapp",
  "origin": "contact",
  "state": "received",
  "content": {
    "type": "text",
    "text": "Olá, preciso de ajuda"
  }
}
Antes de processar, valide a assinatura HMAC dos headers X-Webhook-Signature e X-Webhook-Timestamp — veja Configuração e assinatura.

Authorizations

x-channel-api-key
string
header
required

Chave de API do canal, gerada na aba API das configurações do canal (Dashboard → Suporte → Canais). A chave é exibida uma única vez ao ser gerada; gerar uma nova invalida a anterior.

Headers

X-Webhook-Signature
string
required

sha256=<hex> — HMAC-SHA256 do texto "{timestamp}.{body}" calculado com o secret do canal.

X-Webhook-Timestamp
string
required

Timestamp da assinatura em milissegundos (epoch). Usado na composição do texto assinado.

Body

application/json
eventType
enum<string>
required

message.incoming para o evento message_received; message.outgoing para message_sent.

Available options:
message.incoming,
message.outgoing
direction
enum<string>
required

Direção da mensagem.

Available options:
incoming,
outgoing
timestamp
string<date-time>
required

Data/hora da mensagem em ISO 8601.

content
any
required

Conteúdo da mensagem. A estrutura varia conforme o tipo (texto, mídia, template etc.).

messageId
string

ID da mensagem (quando disponível, o ID do provider).

chatId
string

ID do chat no Zazz Chat.

contactId
string

ID do contato no Zazz Chat.

engine
string

Provider/engine do canal (quando disponível).

Example:

"whatsapp"

origin
string

Origem da mensagem (quando disponível).

state
string

Estado da mensagem no momento do evento (quando disponível).

Response

200

Responda com qualquer status 2xx para confirmar o recebimento. Timeout de 10s por tentativa; erros de rede, 5xx e 429 são retentados até 5 vezes com backoff exponencial.