Enviar eventos de clic de URLs cortas a sistemas externos vía webhook automatiza la entrada en CRM, alertas en Slack y agregaciones en Google Sheets. A cientos de miles de clics diarios, el ciclo CSV+import manual colapsa, así que la integración por webhook se vuelve obligatoria. Bitly, Rebrandly y Short.io ofrecen webhooks como estándar SaaS.
Empieza por la schema del payload: short code, URL original, hora UTC, IP, User-Agent, Referer, geo (país, región), tipo de dispositivo y UTM. Valida con JSON Schema y coloca añadidos bajo "extensions" para preservar compatibilidad. Stripe y GitHub son referencias.
Verificar firmas no es opcional. El emisor firma con HMAC-SHA256 y el receptor valida. "X-Hub-Signature-256" de GitHub y "Stripe-Signature" de Stripe ilustran el patrón. La lista blanca de IP por sí sola permite inyección. Combina con verificación de timestamp (5 minutos) para bloquear replays. Para más know-how en integración API, también hay libros en Amazon.
La idempotencia se olvida con frecuencia. Errores de red disparan reintentos y los receptores ingenuos duplican procesamiento. Asigna "event_id" único y descarta los IDs ya vistos en 24 horas, con TTL en Redis o DynamoDB. Reintentos: backoff exponencial (1m, 5m, 30m, 2h, 8h) hasta 5 veces para 5xx y timeouts; los 4xx detienen reintentos al instante. Los receptores deben confirmar en 1 segundo y empujar trabajo pesado a colas (SQS, Pub/Sub).