Qué es
En vez de hacer polling de /v1/events, puedes registrar una URL y
Axelo te enviará un POST por cada evento de entrega — de email, WhatsApp y wallet:
sent · delivered · opened · clicked · bounced · failed · suppressed
Para email: sent = aceptado por el servidor de Axelo; delivered = el servidor del destinatario
confirmó la recepción (250). opened/clicked prueban además que el destinatario interactuó.
La entrega es asíncrona y con reintentos automáticos (backoff exponencial) si tu endpoint no
responde 2xx.
Configurar
Desde el dashboard (admin → detalle del tenant → Webhook de eventos) registra tu URL. Al
guardarla se genera un secreto de firma (whsec_...) que se muestra ahí mismo. Deja la URL
vacía para deshabilitar.
Payload
Headers de cada request:
id es el event_id único. La entrega es at-least-once (en un reinicio un evento podría
repetirse): usa id para deduplicar.
Verificar la firma
Calcula HMAC-SHA256 sobre el cuerpo crudo con tu events_webhook_secret y compáralo (en tiempo
constante) con el header X-Axelo-Signature-256.
Firma el cuerpo crudo tal cual llega, antes de parsear el JSON — reserializar cambia los bytes e
invalida la firma.
Reintentos
Si tu endpoint devuelve un código fuera de 2xx (o falla la conexión), Axelo reintenta con backoff.
Responde 2xx en cuanto recibas el evento (procesa de forma asíncrona de tu lado) para evitar
reintentos innecesarios.