--- id: "ADR-008" title: "Webhook Retry Strategy" type: "ADR" status: "Accepted" priority: "P0" supersedes: "N/A" superseded_by: "N/A" version: "1.0.0" created_date: "2026-01-10" updated_date: "2026-01-10" --- # ADR-008: Webhook Retry Strategy ## Metadata | Campo | Valor | |-------|-------| | ID | ADR-008 | | Estado | Accepted | | Fecha | 2026-01-10 | | Supersede | N/A | ## Contexto Los webhooks outbound pueden fallar por multiples razones y se necesita una estrategia robusta de reintentos para garantizar entrega eventual. ## Decision **Implementar BullMQ con exponential backoff y Dead Letter Queue** para webhooks fallidos. ## Implementacion ```typescript { attempts: 5, backoff: { type: 'exponential', delay: 60000 // 1min, 2min, 4min, 8min, 16min } } ``` ### Estrategia de Reintentos | Intento | Delay | |---------|-------| | 1 | Inmediato | | 2 | 1 minuto | | 3 | 2 minutos | | 4 | 4 minutos | | 5 | 8 minutos | | DLQ | Despues de 5 fallos | ## Consecuencias ### Positivas - Alta tasa de entrega eventual (>99.9%) - No sobrecarga destinos problematicos ### Negativas - Delay maximo de entrega: ~15 minutos - Complejidad de DLQ --- **Fecha decision:** 2026-01-10 **Autores:** Claude Code (Arquitectura)