O módulo Eventos é como você recebe o que acontece na sua instância em tempo real. A RyzeAPI emite eventos por dois canais independentes que compartilham o mesmo envelope e o mesmo catálogo:Documentation Index
Fetch the complete documentation index at: https://docs.ryzeapi.cloud/llms.txt
Use this file to discover all available pages before exploring further.
Webhook (HTTP push)
A RyzeAPI faz
POST na sua URL toda vez que um evento ocorre. Persistido em fila com retry/backoff e DLQ. Ideal para servidores, CRMs, automações.WebSocket (push em tempo real)
O cliente abre uma conexão e recebe os eventos na hora. Sem persistência, ideal para dashboards, painéis ao vivo, telas de atendimento.
Endpoints do módulo
| Método | Path | Função |
|---|---|---|
POST | /api/events/webhook/:instance | Configurar webhook (até 3 habilitados) |
GET | /api/events/getWebhook/:instance | Listar webhooks ou obter um por ?label= |
POST | /api/events/websocket/:instance | Configurar WebSocket ({"enabled": false} desabilita) |
GET | /api/events/getWebsocket/:instance | Ler config atual do WebSocket |
GET | /ws/:instance | Conectar via WebSocket (upgrade) |
A configuração de webhook e WebSocket também pode ser feita na criação da instância, basta enviar
webhookEnabled, webhookURL, websocketEnabled, etc. no body de POST /api/instance/new.Envelope compartilhado
Tanto webhook quanto WebSocket entregam o mesmo objeto:instanceData.token é o token da própria instância, útil quando seu consumidor centraliza várias instâncias e precisa identificar a origem.
Os 6 tipos de evento
message.exchange
Mensagens enviadas/recebidas (texto, mídia, sticker, doc, enquete, contato, localização, botão/lista, edits e revogações).
message.status
Recibos de entrega:
delivered, read, played, read_self, played_self etc.call.update
Chamadas:
offer, accepted, rejected, terminated, notification, latency.group.flow
Mudanças em grupos:
joined/left/promoted/demoted + metadata (name, topic, announce, link, etc.).instance.state
Mudanças de conexão da instância:
connected, qr_ready, temp_banned, logged_out, pair_success…label.update
Etiquetas WhatsApp Business: edição, associação a chats e mensagens.
Catálogo completo de eventos
Schemas de payload, enums e exemplos de cada um dos 6 tipos.
Webhook x WebSocket
| Aspecto | Webhook | WebSocket |
|---|---|---|
| Protocolo | HTTP POST | WS (upgrade TCP) |
| Entrega | Async, persistida em fila | Real-time, em memória |
| Retry/DLQ | Backoff exponencial 1s→1h, até 5 tentativas + DLQ | Sem retry, eventos perdidos se cliente offline |
| Filtro de eventos | events[] por config | events[] por config |
| Mídia em base64 | mediaBase64 opcional | mediaBase64 opcional |
| Autenticação | Header Authorization configurável | Token no upgrade (header ou ?token=) |
| Heartbeat | N/A | PING/PONG ~54s/60s |
| Limite | Até 3 webhooks habilitados por instância | 1 config por instância (broadcast a N clientes conectados) |
| Backpressure | Fila cresce no DB | Buffer de 256 msgs por cliente; lentos são dropados |
| Sobrevive a queda do consumer? | Sim | Não |
Múltiplos webhooks por instância
Cada instância aceita até 3 webhooks habilitados simultâneos, você os identifica por umlabel. Permite, por exemplo:
defaultpara o sistema principal de produçãoanalytics-pipelinepara um sink de eventosstaging-mirrorpara validar mudanças em paralelo
label tem URL, eventos filtrados, authorization e mediaBase64 próprios. Ver configurar webhook.
Boas práticas
Responda 2xx em menos de 5s no endpoint webhook, caso contrário, a entrega entra em retry com backoff exponencial.
Valide a origem com o header
Authorization configurado, não há HMAC automático, o consumidor é responsável.mediaBase64: false se você precisa só da URL/s3Url, economiza banda e DB.Reconecte com backoff no WebSocket, não há resumo de sessão; eventos perdidos não voltam.
Filtre
events[] quando souber exatamente o que vai consumir, reduz tráfego e processamento.Próximos passos
Configurar webhook
POST /api/events/webhook/:instance, cria/atualiza por label.Listar webhooks
GET /api/events/getWebhook/:instance, todos ou por ?label=.Configurar WebSocket
POST /api/events/websocket/:instance, enabled, events, mediaBase64.Verificar config do WebSocket
GET /api/events/getWebsocket/:instance.Catálogo de eventos
Schemas e exemplos dos 6 tipos.
Conectar via WebSocket
GET /ws/:instance, protocolo, auth, reconexão.