WS WSAPI

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)

terminal
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

POST /seu/webhook
{
  "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.