Webhooks
Reintentos y replay
Cómo reintenta Trifaco, cómo leer los intentos y cómo reproducir un evento de forma explícita.
Reintentos automáticos
- Se conservan el
event_idy el cuerpo. Cada intento tiene su propio ID y calcula timestamp y firma al enviar. Dos intentos en el mismo segundo pueden compartir timestamp. 2xxconfirma la recepción. Un código no exitoso, una respuesta perdida o un fallo DNS transitorio se reintentan con espera exponencial: desde 10 segundos, con un máximo de una hora entre intentos, durante hasta 72 horas.- Máximo 1000 trabajos pendientes por destino. Si se satura, el evento y el intento fallido se conservan y la factura no se bloquea; recupéralo con un replay.
Estados de un intento
GET /v1/webhook-events/{id}/attempts muestra cada intento con su código HTTP cuando existe.
| Estado | Significado |
|---|---|
queued | Programado. |
sent | Se armó el envío. Una caída puede impedir el envío físico: no demuestra recepción. |
acknowledged | Tu receptor respondió 2xx. |
failed | Falló; puede haber otro intento programado. |
Replay explícito
POST /v1/webhook-events/{id}/replays con permiso webhooks:write e Idempotency-Key:
{
"endpoint_id": "…",
"reason": "Recuperar el aviso tras restablecer el receptor"
}- Disponible hasta 30 días después del evento, solo si no hay trabajo pendiente, con un minuto entre replays del mismo destino y evento.
- Conserva el evento y programa un intento nuevo con su propia ventana.
- Tu receptor debe deduplicar: un replay entrega el mismo
event_id.
Cambios en el destino
- Cambiar la URL no redirige los envíos antiguos: quedan fallidos. Un replay explícito los envía al destino actual.
- Desactivar detiene los nuevos envíos; uno ya armado puede estar en tránsito.
- Los eventos no se borran automáticamente.