Webhooks e SSE
Server-Sent Events (SSE)
https://api.nodinfra.com.br/sseReceber eventos em tempo real via Server-Sent Events (SSE)
Funcionalidades Principais:
- Configuração de URL para recebimento de eventos
- Seleção granular de tipos de eventos
- Filtragem avançada de mensagens
- Parâmetros adicionais na URL
- Gerenciamento múltiplo de webhooks
Eventos Disponíveis:
connection: Alterações no estado da conexãohistory: Recebimento de histórico de mensagensmessages: Novas mensagens recebidasmessages_update: Atualizações em mensagens existentescall: Eventos de chamadas VoIPcontacts: Atualizações na agenda de contatospresence: Alterações no status de presençagroups: Modificações em gruposlabels: Gerenciamento de etiquetaschats: Eventos de conversaschat_labels: Alterações em etiquetas de conversasblocks: Bloqueios/desbloqueios
Estabelece uma conexão persistente para receber eventos em tempo real. Este endpoint:
-
Requer autenticação via token
-
Mantém uma conexão HTTP aberta com o cliente
-
Envia eventos conforme ocorrem no servidor
-
Suporta diferentes tipos de eventos
Exemplo de uso:
const eventSource = new
EventSource('/sse?token=SEU_TOKEN&events=chats,messages');
eventSource.onmessage = function(event) {
const data = JSON.parse(event.data);
console.log('Novo evento:', data);
};
eventSource.onerror = function(error) {
console.error('Erro na conexão SSE:', error);
};
Estrutura de um evento:
{
"type": "message",
"data": {
"id": "3EB0538DA65A59F6D8A251",
"from": "5511999999999@s.whatsapp.net",
"to": "5511888888888@s.whatsapp.net",
"text": "Olá!",
"timestamp": 1672531200000
}
}
Parâmetros
tokenstringobrigatórioToken de autenticação da instância
exemplo: {{token}}
eventsstringobrigatórioTipos de eventos a serem recebidos. Suporta dois formatos: - Separados por vírgula: `?events=chats,messages` - Parâmetros repetidos: `?events=chats&events=messages`
exemplo: chats,messages
excludeMessagesstringopcionalTipos de mensagens a serem excluídas do evento `messages`. Suporta dois formatos: - Separados por vírgula: `?excludeMessages=poll,reaction` - Parâmetros repetidos: `?excludeMessages=poll&excludeMessages=reaction`
exemplo: poll,reaction