Skip to main content

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.