O que é um webhook?
É uma URL HTTPS no seu sistema que recebe avisos automáticos da Notifique. Em vez de ficar perguntando “já entregou?” para a API, você espera o aviso chegar. Pense como notificação push, só que para o seu backend.Para que serve?
Com webhooks você pode:- Saber na hora quando uma mensagem foi enviada, entregue, lida ou falhou
- Automatizar pedidos, CRM, financeiro e bots sem olhar o painel
- Processar mensagens que o cliente mandou (WhatsApp, Telegram, SMS)
- Monitorar conexão de instâncias (QR, conectado, desconectado)
- Rastrear cliques em links curtos e eventos de Forms
Quando usar?
Como configurar
1. Prepare seu endpoint
Crie uma rota HTTPS que aceita POST com JSON e responde 2xx rápido. Exemplo:https://meusite.com/webhooks/notifique
Se o processamento for pesado, enfileire do seu lado e responda 200 logo. É como atender a campainha e resolver a visita depois.
2. Cadastre no painel
Abra Developer → Webhooks, crie um webhook e marque os eventos que importam para você. Também dá para cadastrar pela API com escoposwebhooks:manage e webhooks:read. Precisa de chave? Veja Chaves de API.
3. Valide a assinatura
Cada POST trazX-Notifique-Signature e X-Notifique-Timestamp. Calcule HMAC-SHA256 do secret com {timestamp}.{body bruto} e rejeite timestamps fora de 5 minutos.
Detalhes na seção Headers e assinatura abaixo.
4. Trate retentativas
Se seu endpoint falhar, tentamos de novo em 5 min, 30 min e 2 h. Responda 2xx rápido.Sandbox x Produção
- Sandbox (
sk_test_...): mesmos nomes de evento; o payload trazsandbox: true - Produção (
sk_live_...): eventos reais do tráfego
Formato do payload
Todas as requisições são POST comContent-Type: application/json. O corpo segue a estrutura:
Headers e assinatura
- Cálculo HMAC:
hash = HMAC-SHA256(secret, timestamp + "." + body)(body = corpo bruto do POST). - Anti-replay: Rejeite requisições com timestamp fora de uma janela (ex.: 5 minutos).
Mensagens recebidas (inbound)
Para processar o que o cliente mandou (WhatsApp, Telegram, SMS):- Marque o evento no webhook
- Configure inbound em Settings → Received messages
inboundId na API. Guia completo: Mensagens recebidas e respostas.
Boas práticas
- HTTPS sempre na URL cadastrada
- Responda 2xx rápido e processe em background
- Valide a assinatura em todo POST
- Marque só os eventos que sua integração consome
Eventos por canal
Cada canal tem seus próprios eventos. Marque só o que precisa:Envio, entrega, inbound e instância
SMS
Envio, DLR, MO e respostas
Telegram
Envio, inbound e instância
Envio, comentários e inbound
Envio, abertura, clique e bounce
Push
Envio, entrega e clique
RCS
Envio, entrega e falha
Voz
Chamadas e gravações
Forms
Inscrição, confirmação e cancelamento
Links curtos
Cliques e conversões
Números de telefone
Ciclo de vida do número contratado
Automações
Ativar, pausar e lifecycle de runs
Templates (Meta)
Aprovação, rejeição e categoria
Evento de reputação do workspace (
trust.score_changed): veja Trust Factor.Próximos passos
- Comece aqui: envie sua primeira mensagem
- Chaves de API: credenciais para cadastrar webhooks via API

