API
Eventos
Webhook HTTP e WebSocket por instância. Até N webhooks com filtro de eventos e Authorization próprio.
Tipos
`message.exchange` — `data.phone`, `chat.phone` e `chat.jid` (`5511…@s.whatsapp.net`) vêm do celular real (SenderAlt / RecipientAlt / mapa LID→PN). Sem PN, `chat.jid` fica `@lid` e `addressing=lid` — não inventa telefone.
`instance.state` — disconnected / qr / connected.
`presence.update` — digitando / online.
`group.update` — participantes, assunto, foto.
`call.offer` — ligação recebida.
/api/events/webhook/{instance}Definir webhook
Cria ou atualiza pelo label ou pela URL (não duplica default + cotapy). Label padrão: cotapy.
Auth: TokenInstance
Body
| Campo | Tipo | Descrição | |
|---|---|---|---|
url | string | obrigatório | https://seu-backend/webhook |
label | string | padrão cotapy — mesma URL atualiza o registro existente | |
events | string[] | ["message.exchange","instance.state"] | |
authorization | string | header Authorization que a Wagzap envia | |
mediaBase64 | boolean | inclui mídia no payload | |
enabled | boolean | liga/desliga |
cURL
curl -X POST https://api.wagzap.com.br/api/events/webhook/vendas \
-H "token: $TOKEN_INSTANCE" \
-H "Content-Type: application/json" \
-d '{
"url": "https://exemplo.com/wag",
"events": [
"message.exchange",
"instance.state"
],
"authorization": "Bearer segredo"
}'/api/events/webhook/{instance}Listar webhooks
Config atual.
Auth: TokenInstance
/api/events/websocket/{instance}Config WS
enabled, events[], mediaBase64.
Auth: TokenInstance
/api/events/websocket/{instance}Ler config WS
Estado do canal persistente.
Auth: TokenInstance
/ws/{instance}Upgrade WebSocket
Autentique com token na query (?token=) ou header. Heartbeat e reconexão ficam a cargo do cliente.
Auth: TokenInstance