Webhooks Em desenvolvimento
Os webhooks ainda não estão disponíveis em produção. Esta página documenta o contrato planejado — se você precisa de webhook hoje, mande email para contato@wsapi.app para entrar na lista de early access.
Configuração (preview)
curl -X POST https://api.wsapi.app/v1/webhooks \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"instanceId": "INST-RMQJHC-7CKZH3",
"url": "https://api.seudominio.com/wsapi/webhook",
"events": ["message.received", "message.status", "instance.connection"],
"secret": "uma_string_aleatoria_pra_assinar"
}'Eventos planejados
message.received— mensagem recebida em uma instância.message.status— mudança de status (sent, delivered, read, failed).instance.connection— instância conectou ou desconectou.instance.qr— novo QR Code disponível para reconexão.
Payload de exemplo
{
"event": "message.received",
"instanceId": "INST-RMQJHC-7CKZH3",
"timestamp": 1736001234,
"data": {
"id": "wamid.HBg...",
"from": "5547999198263",
"type": "text",
"text": "Olá, vocês atendem aos sábados?"
}
}Assinatura
Cada requisição de webhook traz o header X-WSAPI-Signature com o HMAC-SHA256 do body
usando o secret que você configurou. Valide antes de processar.
Enquanto webhook não chega
Para o estado da conexão, faça polling em GET /v1/instance/status de tempos em tempos
(a cada 30s é suficiente). Para mensagens recebidas, infelizmente, não há alternativa hoje — só
via webhook futuro.