Webhooks
Webhooks permitem que você receba notificações em tempo real sobre seus links — tanto quando são clicados quanto quando são criados, atualizados ou excluídos. O Linkly envia uma solicitação POST para sua(s) URL(s) especificada(s) com informações detalhadas sobre cada evento.
Casos de uso
- Plataformas de Automação: Dispare fluxos de trabalho em Make ou Zapier quando links são clicados
- Análises Personalizadas: Envie dados de cliques para seu próprio sistema de análises
- Atualizações de CRM: Atualize registros de clientes quando eles clicam em links
- Notificações no Slack: Receba notificações no Slack quando links importantes são clicados
- Rastreamento de Leads: Rastreie quando prospects se envolvem com seus links
Dica: Para a maioria dos casos de uso de automação, nossa integração com Make ou integração com Zapier são mais fáceis de configurar do que webhooks personalizados. Elas incluem gatilhos de cliques instantâneos alimentados por webhooks, sem necessidade de codificação.
Como configurar webhooks no nível do link
Vá para Links e clique no link que deseja configurar.
Role para baixo até a seção Webhooks.
Digite sua(s) URL(s) de webhook, uma por linha.
Você pode adicionar múltiplas URLs de webhook. Todas as URLs receberão o mesmo payload quando o link for clicado.

Clique em Salvar Link.
Webhooks no nível do link só disparam quando esse link específico é clicado.
Como configurar webhooks no nível do workspace
Vá para Settings (ícone de engrenagem na barra lateral).
Clique em Workspace Settings
Digite sua(s) URL(s) de webhook, uma por linha.
Você pode adicionar múltiplas URLs de webhook. Todas as URLs receberão o mesmo payload quando qualquer link em seu workspace for clicado.

Clique em Salvar Configurações.
Webhooks no nível do workspace disparam para cada clique em qualquer link do seu workspace.
Nota: Se você configurar webhooks em ambos os níveis, ambos dispararão para cliques nesse link.
Eventos
Cada webhook recebe todos os tipos de eventos para seu escopo — um webhook no nível do link obtém eventos para esse link, um webhook no nível do workspace obtém eventos para cada link no workspace. Verifique o campo event no nível superior para diferenciá-los:
event | Enviado quando |
|---|---|
click | Um link curto é clicado. Inclui um objeto click com os dados da solicitação do visitante. |
link.created | Um novo link é criado no workspace. |
link.updated | As configurações de um link mudam. Dispara em cada atualização, incluindo edições salvas automaticamente, portanto você pode receber vários por sessão de edição. |
link.deleted | Um link é excluído. O objeto link mantém o slug e o domínio que tinha antes da exclusão. |
Payload do webhook
Payload de clique
Quando um clique ocorre, o Linkly envia uma solicitação POST com o seguinte 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 do payload
Informações do evento
| Campo | Descrição |
|---|---|
event | click, link.created, link.updated, ou link.deleted |
timestamp | Timestamp ISO 8601 do clique |
Objeto de link
| Campo | Descrição |
|---|---|
id | Identificador único do link |
name | Apelido do link |
url | URL de destino original |
full_url | A URL do link curto |
domain | Domínio personalizado (se configurado) |
slug | Caminho/slug da URL |
destination | Destino real para este clique (pode diferir de url se as regras foram aplicadas) |
workspace_id | Identificador do workspace |
enabled | Se o link está ativo |
rules | Array de regras de redirecionamento (geo, dispositivo, rotador) |
utm_* | Parâmetros UTM se configurados |
og_* | Configurações Open Graph se configuradas |
Objeto de clique
| Campo | Descrição |
|---|---|
id | Identificador único para este clique, um ULID de 26 caracteres. Os caracteres iniciais codificam a hora do clique, então os ids são classificados cronologicamente como strings simples |
country | Código de país com duas letras (ex: "US", "GB") |
is_eu_country | Se o clique se originou da UE |
platform | Plataforma do dispositivo (desktop, ios, android, etc.) |
browser_name | Nome do navegador (Chrome, Safari, Firefox, etc.) |
referer | URL referenciadora (se disponível) |
isp | Provedor de Serviços de Internet |
bot_name | Identificador do bot (nulo para cliques humanos) |
destination | URL de destino final para este clique |
params | Parâmetros de consulta passados para o link |
Nota de Privacidade: Endereços IP nunca são incluídos nos payloads dos webhooks.
Payload do ciclo de vida do link
Os eventos link.created, link.updated e link.deleted compartilham uma forma. Não há objeto click — você obtém o event, um timestamp e o 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": []
}
}
Integrações com plataformas de automação
Para uma configuração mais fácil sem codificação personalizada, use nossas integrações nativas:
- Integração com Make - Plataforma de automação visual com gatilhos de cliques instantâneos
- Integração com Zapier - Conecte o Linkly a milhares de aplicativos sem código
Ambas as integrações usam webhooks sob o capô, mas lidam com toda a configuração automaticamente.
Melhores práticas
Múltiplos webhooks
Você pode adicionar múltiplas URLs de webhook (uma por linha). Todas as URLs receberão o mesmo payload quando um clique ocorrer.
Tratamento de erros
- Webhooks são fire-and-forget - O Linkly não tenta novamente entregas falhadas
- Falhas de webhook nunca afetam o redirecionamento - os usuários sempre chegam ao seu destino
- Certifique-se de que seu endpoint de webhook responda rapidamente (< 5 segundos recomendado)
Segurança
- Use endpoints HTTPS para URLs de webhook
- Valide solicitações de entrada no seu manipulador de webhook
- Considere adicionar um parâmetro secreto à sua URL de webhook para verificação
Testes
- 1Configure uma URL de webhook usando um serviço como webhook.site ou RequestBin
- 2Clique em seu link
- 3Inspecione o payload recebido
- 4Depois de verificado, mude para sua URL de webhook de produção
Acesso à API
Você também pode gerenciar webhooks programaticamente via 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
Veja a Documentação da API para detalhes.
Webhooks - Perguntas Frequentes
Que eventos os webhooks podem enviar?
Webhooks disparam em quatro eventos, identificados pelo campo event no payload. Você obtém click quando um link é clicado, além de link.created, link.updated e link.deleted quando os links mudam. Cada webhook recebe todos os tipos de eventos para seu escopo, portanto ramifique no campo event para lidar com cada um.
Por que meus webhooks não estão disparando?
Verifique se sua URL de webhook é válida e acessível, e se webhooks estão salvos no link ou workspace. Para eventos de clique, note que webhooks só disparam quando um clique é realmente registrado - IPs excluídos ou crawlers ignorados não os acionarão.
Por que alguns campos são nulos no payload do webhook?
Alguns campos podem ser nulos se a informação não estava disponível (ex: sem referer), as configurações de privacidade impediram a coleta, ou o clique foi de um bot (nesse caso bot_name será preenchido).
O Linkly tenta novamente entregas de webhook falhadas?
Não. Webhooks são fire-and-forget. Entregas falhadas não são tentadas novamente, e o Linkly não rastreia o status de entrega de webhooks. Solicitações de webhook expiram após 5 segundos.
O Linkly suporta postbacks para rastreamento de conversão?
Não. Webhooks do Linkly são apenas de saída e disparam quando cliques ocorrem. Não podemos receber dados de postback de redes de afiliados ou plataformas de anúncios. Para rastreamento de conversão, use o rastreamento nativo da plataforma de destino, passe uma ID de clique via encaminhamento de parâmetro de consulta, ou use nossa integração BigQuery para unir dados de cliques com seus dados de conversão.
Devo usar webhooks ou Make/Zapier?
Para a maioria dos casos de uso de automação, nossas integrações com Make ou Zapier são mais fáceis de configurar. Elas usam webhooks sob o capô, mas lidam com toda a configuração automaticamente. Use webhooks personalizados quando você precisar enviar dados para seus próprios sistemas ou exigir mais controle sobre a integração.
Disponibilidade do plano
Disponível a partir do Business
Rastreie 500 cliques mensais com todos os recursos incluídos.