Especificación para un sistema de entrega de webhooks
Plantilla de especificación que los ingenieros de verdad usan: objetivos, no objetivos, SLO, modos de fallo
Ver vista previa de entrada y salida
Entrada
- Feature
- outbound webhooks with retries and signed payloads
- Constraints
- at-least-once delivery, p95 < 5s, 100 RPS sustained
Salida (extracto)
## Entrega de webhooks v1 — Especificación técnica **Objetivo:** entrega saliente al menos una vez de eventos de dominio a los endpoints de los clientes con payloads firmados con HMAC y reintentos con retroceso exponencial. **No objetivos:** entrega exactamente una vez, ordenación entre tipos de evento. **Arquitectura:** bus de eventos (NATS) -> grupo de workers de entrega (Go) -> endpoints HTTPS de los clientes. **Política de reintentos:** 8 intentos durante 24 h con retroceso exponencial (1 s, 5 s, 30 s, 5 m, 30 m, 2 h, 6 h, 12 h). **Firma:** HMAC-SHA256 sobre el cuerpo, con secreto rotado por endpoint. **SLO:** entrega p95 < 5 s, tasa de éxito > 99,5 %. **Modos de fallo:** tabla detallada que cubre DNS, TLS, 5xx, 4xx, tiempo de espera, respuesta parcial, desbordamiento del tamaño del cuerpo.