Reintentos y replay
Qué hace Cufy cuando tu receptor no contesta, cómo ver los intentos y cómo pedir que te reenvíen un aviso.
Tu receptor se va a caer alguna vez. Cufy lo da por hecho: si no responde, lo sigue intentando durante tres días, y si aun así se perdió el aviso, puedes pedir que te lo reenvíen.
Qué hace Cufy si no contestas
Un 2xx confirma la recepción. Cualquier otro código, una respuesta que se pierde o un fallo de DNS pasajero disparan un reintento:
- Empieza esperando 10 segundos y va doblando.
- Nunca espera más de una hora entre intentos.
- Se rinde a las 72 horas.
El event_id y el cuerpo son siempre los mismos; lo que cambia es el intento, que calcula su propio timestamp y su propia firma al salir. Dos intentos del mismo segundo pueden compartir timestamp, así que no uses el timestamp para distinguirlos.
Si tu destino acumula demasiado trabajo sin resolver (el tope son 1000 envíos pendientes), Cufy deja de encolar más. El evento y el intento fallido se conservan, y tu facturación no se detiene por eso: los avisos atrasados se recuperan con un replay.
Ver qué pasó
GET /v1/webhook-events/{id}/attempts lista cada intento con el código HTTP que devolviste, cuando hubo alguno.
| Estado | Significa |
|---|---|
queued | Programado, todavía no salió. |
sent | Se armó el envío. No demuestra que llegara: una caída entre armarlo y enviarlo deja el intento aquí. |
acknowledged | Respondiste 2xx. Llegó. |
failed | Falló. Puede haber otro intento programado. |
Pedir que te reenvíen un aviso
{
"endpoint_id": "…",
"reason": "Recuperar el aviso tras restablecer el receptor"
}Va a POST /v1/webhook-events/{id}/replays con su Idempotency-Key.
Condiciones:
- Hasta 30 días después del evento.
- Solo si ese destino no tiene ya trabajo pendiente.
- Un minuto de espera entre replays del mismo evento al mismo destino.
- Llega el mismo
event_id, así que tu receptor tiene que deduplicar. Si no lo hace, un replay te duplica el efecto en tu sistema.
Si cambias el destino
- Cambiar la URL no redirige lo viejo. Los envíos que ya habían fallado siguen fallidos; un replay explícito los manda a la URL actual.
- Desactivar corta los envíos nuevos, pero uno ya armado puede estar en camino.
- Los eventos no se borran solos. Siguen consultables aunque el destino ya no exista.