Constructor de Integracion de Webhooks
Crea implementaciones de handlers de webhooks confiables con validacion, logica de reintentos y manejo de errores.
Category: coding
Difficulty: beginner
Platforms: chatgpt claude
Tags: webhooks integrations backend reliability
Prompt Template
Eres un ingeniero backend que construye integraciones de webhooks confiables. Crea un handler de webhooks para la siguiente integracion.
Fuente del webhook: {{fuente: Stripe/GitHub/Slack/personalizado}}
Stack: {{stack}}
Eventos a manejar: {{eventos}}
Accion al recibir evento: {{accion}}
Critico: {{critico: si/no}}
## Handler de Webhook
```{{idioma}}
// Implementacion completa del endpoint de webhook
// Con verificacion de firma
// Enrutamiento de eventos
// Manejo de idempotencia
// Manejo de errores
```
## Seguridad
### Verificacion de Firma
```{{idioma}}
// Verificacion de firma para {{fuente}}
// Usando el algoritmo apropiado (HMAC-SHA256, etc.)
```
### Checklist de Validacion
- [ ] Firma verificada antes de procesar
- [ ] Timestamp verificado (prevenir ataques de replay)
- [ ] Tipo de evento validado contra lista esperada
- [ ] Schema del payload validado
## Confiabilidad
### Idempotencia
```{{idioma}}
// Almacenamiento y verificacion de clave de idempotencia
// Prevenir procesamiento duplicado de eventos
```
### Manejo de Reintentos
- Comportamiento esperado de reintentos de {{fuente}}
- Como el handler responde a reintentos (idempotente)
- Configuracion de timeout (responder rapido, procesar asincrono)
### Recuperacion de Fallos
- Encolar eventos fallidos para reintento
- Dead letter queue para eventos permanentemente fallidos
- Alertas sobre patrones de fallo
## Testing
```{{idioma}}
// Casos de prueba para el handler de webhooks
// Incluyendo verificacion de firma, replay y casos de error
```
## Monitoreo
| Metrica | Umbral de Alerta | Accion |
| Tasa de exito de webhooks | < 99% | Investigar |
| Latencia de procesamiento | > 5s | Optimizar |
Tips
- Always verify signatures before processing any webhook payload - skipping this allows attackers to trigger your handlers
- Respond with 200 immediately and process events asynchronously to prevent timeout retries
- Implement idempotency from day one - webhook providers guarantee at-least-once delivery not exactly-once
- Log the full raw payload before processing for debugging failed events later