Como Funciona
Quando um evento ocorre, a Oxenty API envia umPOST request para a URL
configurada com os dados do evento.
Configurando um Webhook
Via Dashboard
- Acesse oxenty.api.br/login
- Crie/edite uma sessão
- Configure:
- Webhook URL: Endpoint que receberá os eventos
- Webhook Events: Quais eventos deseja receber
Via API
Webhooks são configurados por sessão.Criar sessão já com webhook
Atualizar webhook de uma sessão existente
Eventos Disponíveis
Mensagens
Sessões
Grupos
Contatos
Payload do Webhook
Todos os webhooks seguem este formato:Exemplo: message.received
Exemplo: message.status
Exemplo: session.disconnected
Validando Webhooks
Para garantir que o webhook veio da Oxenty API, valide a assinatura:Header de Assinatura
Validação em Node.js
Validação em Python
Retries e Falhas
Se seu endpoint retornar erro (status >= 400) ou timeout, a Oxenty API fará retries automáticos:
Após 5 falhas consecutivas, o webhook é marcado como inativo e você
receberá um email de notificação.
Responda com
200 OK o mais rápido possível. Processe eventos de forma
assíncrona para evitar timeouts.Boas Práticas
Responda rapidamente
Responda rapidamente
Retorne
200 OK imediatamente e processe o evento de forma assíncrona
(usando filas como Redis, RabbitMQ, etc.).Sempre valide a assinatura
Sempre valide a assinatura
Nunca processe webhooks sem validar a assinatura para evitar ataques.
Implemente idempotência
Implemente idempotência
Use o
id do evento para evitar processar o mesmo evento duas vezes
(pode haver retries).Use HTTPS
Use HTTPS
Sempre use URLs HTTPS para receber webhooks. HTTP não é aceito em produção.
Testando Webhooks
Teste rápido
- Configure
webhookUrlem uma sessão (viaPOST /sessionsouPUT /sessions/{id}) - Dispare um evento (ex.: enviar mensagem via
POST /messages/text) - Verifique se seu endpoint recebeu o payload
Ferramentas Úteis
- webhook.site - Endpoint temporário para testes
- ngrok - Expor localhost para a internet
- Hookdeck - Proxy e debug de webhooks