Integrações
Webhooks de saída
O ZapyChat chama o seu servidor quando algo acontece, sem você precisar perguntar.
Cadastre a URL em Configurações › Webhooks e escolha os eventos. Guarde o segredo mostrado na criação: é com ele que você confere que a chamada veio mesmo do ZapyChat.
Eventos
| Evento | Quando acontece |
|---|---|
| message.received | Chegou uma mensagem de um cliente. |
| conversation.status_changed | O status de uma conversa mudou (aberta, encerrada…). |
| conversation.assigned | Uma conversa foi atribuída a um atendente. |
| tag.added | Uma tag foi aplicada a uma conversa ou contato. |
| tag.removed | Uma tag foi removida de uma conversa ou contato. |
Corpo da chamada
json
{
"id": "evt_123",
"event": "message.received",
"organizationId": "cmf0org001",
"createdAt": "2026-10-05T14:32:10.000Z",
"data": { ... }
}Conferindo a assinatura
Cada chamada traz os cabeçalhos X-ChatPRO-Event, X-ChatPRO-Timestamp e X-ChatPRO-Signature. A assinatura é sha256= seguido do HMAC-SHA256, com o seu segredo, do texto "{timestamp}.{corpo}".
javascript
import crypto from 'node:crypto';
function assinaturaValida(segredo, timestamp, corpoBruto, assinatura) {
const esperada =
'sha256=' + crypto.createHmac('sha256', segredo).update(`${timestamp}.${corpoBruto}`).digest('hex');
return crypto.timingSafeEqual(Buffer.from(esperada), Buffer.from(assinatura));
}Responda com um código 2xx em poucos segundos. Um endereço que falha muitas vezes seguidas é desativado automaticamente.