Ir al contenido principal
短.be

URLs cortas y webhooks: lleva los eventos de clic a tus sistemas de negocio

Envía clics a CRMs, Slack y Sheets con webhooks. Cubre reintentos, idempotencia y verificación de firma con patrones que aguantan operación a largo plazo.

26 may 2026 · Lectura de aproximadamente 1 min

TécnicoNegocios

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.

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).

Compartir en XHatena

¿Te resultó útil este artículo?

Artículos relacionados

Términos relacionados

Preguntas frecuentes

¿Webhooks o polling?
Webhooks para tiempo real y eficiencia; polling solo para volúmenes muy pequeños. Polling consume rate limits, así que sobre unos pocos miles de clics mensuales pasa a webhooks.
¿Por qué firmar?
Para evitar suplantación. Firma con HMAC-SHA256 y verifica al recibir; añade timestamp para bloquear replays. Solo IP allowlist no basta.
¿Cómo evitamos espirales de reintento?
Responde en 1 segundo, empuja lo pesado a colas, detén en 4xx y haz backoff solo en 5xx y timeouts hasta 5 veces.

Pega una URL. Eso es todo.

Acortar una URL