Webhooks
Los webhooks te permiten recibir notificaciones en tiempo real sobre tus enlaces — tanto cuando se hacen clic como cuando se crean, se actualizan o se eliminan. Linkly envía una solicitud POST a tu URL(s) especificada(s) con información detallada sobre cada evento.
Casos de uso
- Plataformas de automatización: Activa flujos de trabajo en Make o Zapier cuando se hace clic en los enlaces
- Análisis personalizados: Envía datos de clics a tu propio sistema de análisis
- Actualizaciones de CRM: Actualiza registros de clientes cuando hacen clic en enlaces
- Notificaciones en Slack: Recibe notificaciones en Slack cuando se hace clic en enlaces importantes
- Seguimiento de clientes potenciales: Realiza un seguimiento de cuándo los prospectos interactúan con tus enlaces
Consejo: Para la mayoría de los casos de uso de automatización, nuestra integración de Make o integración de Zapier son más fáciles de configurar que los webhooks personalizados. Incluyen activadores de clics instantáneos impulsados por webhooks, sin necesidad de codificación.
Cómo configurar webhooks a nivel de enlace
Ve a Enlaces y haz clic en el enlace que deseas configurar.
Desplázate hacia abajo hasta la sección Webhooks.
Ingresa tu(s) URL(s) de webhook, una por línea.
Puedes agregar varias URLs de webhook. Todas las URLs recibirán el mismo payload cuando se hace clic en el enlace.

Haz clic en Guardar enlace.
Los webhooks a nivel de enlace solo se activan cuando se hace clic en ese enlace específico.
Cómo configurar webhooks a nivel de espacio de trabajo
Ve a Configuración (icono de engranaje en la barra lateral).
Haz clic en Configuración del espacio de trabajo
Ingresa tu(s) URL(s) de webhook, una por línea.
Puedes agregar varias URLs de webhook. Todas las URLs recibirán el mismo payload cuando se hace clic en cualquier enlace en tu espacio de trabajo.

Haz clic en Guardar configuración.
Los webhooks a nivel de espacio de trabajo se activan para cada clic en cualquier enlace en tu espacio de trabajo.
Nota: Si configuras webhooks en ambos niveles, ambos se activarán para clics en ese enlace.
Eventos
Cada webhook recibe todos los tipos de eventos para su alcance — un webhook a nivel de enlace obtiene eventos para ese enlace, un webhook a nivel de espacio de trabajo obtiene eventos para cada enlace en el espacio de trabajo. Comprueba el campo event de nivel superior para distinguirlos:
event | Se envía cuando |
|---|---|
click | Se hace clic en un enlace corto. Incluye un objeto click con los datos de solicitud del visitante. |
link.created | Se crea un nuevo enlace en el espacio de trabajo. |
link.updated | Cambian las configuraciones de un enlace. Se activa en cada actualización, incluyendo ediciones guardadas automáticamente, por lo que es posible que recibas varias por sesión de edición. |
link.deleted | Se elimina un enlace. El objeto link mantiene el slug y dominio que tenía antes de la eliminación. |
Payload del webhook
Payload de clic
Cuando ocurre un clic, Linkly envía una solicitud POST con el siguiente payload JSON:
{
"event": "click",
"timestamp": "2025-01-15T10:30:00Z",
"link": {
"id": 12345,
"name": "My Campaign Link",
"url": "https://example.com/landing-page",
"full_url": "https://yourdomain.com/abc123",
"domain": "yourdomain.com",
"slug": "/abc123",
"destination": "https://example.com/landing-page",
"workspace_id": 1,
"enabled": true,
"cloaking": false,
"forward_params": true,
"block_bots": true,
"public_analytics": false,
"utm_source": "newsletter",
"utm_medium": "email",
"utm_campaign": "spring-sale",
"og_title": "Special Offer",
"og_description": "Check out our spring sale!",
"rules": [
{
"what": "country",
"matches": "US",
"url": "https://example.com/us-landing"
}
]
},
"click": {
"id": "01KYPGEEPJSPR3S564QRBDGA1W",
"country": "US",
"is_eu_country": false,
"platform": "desktop",
"browser_name": "Chrome",
"referer": "https://twitter.com/",
"isp": "Comcast",
"bot_name": null,
"destination": "https://example.com/landing-page",
"params": {
"utm_source": "twitter"
}
}
}
Campos del payload
Información del evento
| Campo | Descripción |
|---|---|
event | click, link.created, link.updated, o link.deleted |
timestamp | Marca de tiempo ISO 8601 del clic |
Objeto de enlace
| Campo | Descripción |
|---|---|
id | Identificador único del enlace |
name | Apodo del enlace |
url | URL de destino original |
full_url | La URL del enlace corto |
domain | Dominio personalizado (si está configurado) |
slug | Ruta o slug de URL |
destination | Destino real para este clic (puede diferir de url si se aplicaron reglas) |
workspace_id | Identificador del espacio de trabajo |
enabled | Si el enlace está activo |
rules | Matriz de reglas de redirección (geo, dispositivo, rotador) |
utm_* | Parámetros UTM si están configurados |
og_* | Configuración de Open Graph si está configurada |
Objeto de clic
| Campo | Descripción |
|---|---|
id | Identificador único para este clic, un ULID de 26 caracteres. Los caracteres iniciales codifican la hora del clic, por lo que los ids se ordenan cronológicamente como cadenas simples |
country | Código de país de dos letras (p. ej., "US", "GB") |
is_eu_country | Si el clic se originó desde la UE |
platform | Plataforma del dispositivo (desktop, ios, android, etc.) |
browser_name | Nombre del navegador (Chrome, Safari, Firefox, etc.) |
referer | URL de referencia (si está disponible) |
isp | Proveedor de servicios de Internet |
bot_name | Identificador de bot (null para clics humanos) |
destination | URL de destino final para este clic |
params | Parámetros de consulta pasados al enlace |
Nota de privacidad: Las direcciones IP nunca se incluyen en los payloads de webhook.
Payload del ciclo de vida del enlace
Los eventos link.created, link.updated y link.deleted comparten una forma. No hay objeto click — obtienes el event, un timestamp y el link completo:
{
"event": "link.created",
"timestamp": "2026-06-20T10:30:00Z",
"link": {
"id": 12345,
"name": "My Campaign Link",
"url": "https://example.com/landing-page",
"full_url": "https://yourdomain.com/abc123",
"domain": "yourdomain.com",
"slug": "/abc123",
"workspace_id": 1,
"enabled": true,
"rules": []
}
}
Integraciones de plataformas de automatización
Para una configuración más fácil sin codificación personalizada, usa nuestras integraciones nativas:
- Integración de Make - Plataforma de automatización visual con activadores de clics instantáneos
- Integración de Zapier - Conecta Linkly con miles de aplicaciones sin código
Ambas integraciones usan webhooks bajo el capó pero manejan toda la configuración automáticamente.
Mejores prácticas
Múltiples webhooks
Puedes agregar múltiples URLs de webhook (una por línea). Todas las URLs recibirán el mismo payload cuando ocurra un clic.
Manejo de errores
- Los webhooks son fire-and-forget - Linkly no reintenta entregas fallidas
- Las fallas de webhook nunca afectan la redirección - los usuarios siempre llegan a su destino
- Asegúrate de que tu endpoint de webhook responda rápidamente (< 5 segundos recomendado)
Seguridad
- Usa endpoints HTTPS para URLs de webhook
- Valida solicitudes entrantes en tu manejador de webhook
- Considera agregar un parámetro secreto a tu URL de webhook para verificación
Pruebas
- 1Configura una URL de webhook usando un servicio como webhook.site o RequestBin
- 2Haz clic en tu enlace
- 3Inspecciona el payload recibido
- 4Una vez verificado, cambia a tu URL de webhook de producción
Acceso a API
También puedes administrar webhooks programáticamente a través de la API:
POST /api/v1/link/:link_id/webhooks
DELETE /api/v1/link/:link_id/webhooks/:hook_id
GET /api/v1/link/:link_id/webhooks
POST /api/v1/workspace/:workspace_id/webhooks
DELETE /api/v1/workspace/:workspace_id/webhooks/:hook_id
GET /api/v1/workspace/:workspace_id/webhooks
Consulta la Documentación de API para más detalles.
Preguntas frecuentes sobre Webhooks
¿Qué eventos pueden enviar los webhooks?
Los webhooks se activan en cuatro eventos, identificados por el campo event en el payload. Obtienes click cuando se hace clic en un enlace, más link.created, link.updated y link.deleted cuando cambian los enlaces. Cada webhook recibe todos los tipos de eventos para su alcance, por lo que debes ramificarte en el campo event para manejar cada uno.
¿Por qué mis webhooks no se activan?
Comprueba que tu URL de webhook sea válida y accesible, y que los webhooks estén guardados en el enlace o espacio de trabajo. Para eventos de clic, ten en cuenta que los webhooks solo se activan cuando se registra un clic - los IPs excluidos o rastreadores saltados no los activarán.
¿Por qué algunos campos son nulos en el payload del webhook?
Algunos campos pueden ser nulos si la información no estaba disponible (p. ej., sin referencia), la configuración de privacidad impidió la recopilación, o el clic fue de un bot (en cuyo caso bot_name se rellenará en su lugar).
¿Reintenta Linkly entregas fallidas de webhooks?
No. Los webhooks son fire-and-forget. Las entregas fallidas no se reintentarán, y Linkly no realiza un seguimiento del estado de entrega de webhooks. Las solicitudes de webhook expiran después de 5 segundos.
¿Linkly admite postbacks para el seguimiento de conversiones?
No. Los webhooks de Linkly son solo salientes y se activan cuando ocurren clics. No podemos recibir datos de postback de redes de afiliados o plataformas publicitarias. Para el seguimiento de conversiones, usa el seguimiento nativo de la plataforma de destino, pasa un ID de clic a través del reenvío de parámetros de consulta, o usa nuestra integración de BigQuery para unir datos de clics con tus datos de conversión.
¿Debería usar webhooks o Make/Zapier?
Para la mayoría de los casos de uso de automatización, nuestras integraciones de Make o Zapier son más fáciles de configurar. Usan webhooks bajo el capó pero manejan toda la configuración automáticamente. Usa webhooks personalizados cuando necesites enviar datos a tus propios sistemas o requieras más control sobre la integración.
Disponibilidad del plan
Disponible desde Business
Rastrea 500 clics mensuales con todas las funciones incluidas.