WS WSAPI

Webhooks Disponível

Configure um endpoint HTTPS para receber eventos da instância. A WS API registra automaticamente o webhook interno na Evolution API e repassa os eventos públicos para o seu sistema com assinatura HMAC.

Configuração

terminal
curl -X POST "https://api.wsapi.app/v1/webhooks?instanceId=INST-RMQJHC-7CKZH3" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "tenantId": "ten_123",
    "url": "https://api.seudominio.com/wsapi/webhook",
    "events": ["message.received", "message.status", "connection.updated"],
    "secret": "uma_string_aleatoria_para_assinar",
    "enabled": true
  }'

Use GET /v1/webhooks?instanceId=... para consultar a configuração atual e PUT /v1/webhooks?instanceId=... para atualizar.

Eventos

  • message.received — mensagem recebida na instância.
  • message.status — atualização de status de mensagem enviada.
  • connection.updated — mudança de conexão da instância.

Payload

POST /seu/webhook
{
  "id": "evt_de0l4nkgm8",
  "tenantId": "ten_123",
  "instanceId": "INST-RMQJHC-7CKZH3",
  "type": "message.received",
  "occurredAt": "2026-05-16T12:00:00Z",
  "payload": {
    "messageId": "wamid.HBg...",
    "from": "5547999198263",
    "name": "Cliente Teste",
    "body": "Olá, vocês atendem aos sábados?"
  }
}

Assinatura

Cada entrega traz X-WSAPI-Timestamp e X-WSAPI-Signature. A assinatura é sha256=<hex>, calculada com HMAC-SHA256 usando o secret configurado sobre o conteúdo timestamp + "." + body.

Fluxo completo

  • Entrada: WhatsApp → Evolution API → WS API → seu webhook.
  • Saída: seu sistema → POST /v1/message/send-text → Evolution API → WhatsApp.