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 os links são clicados
- Análise Personalizada: Envie dados de cliques para seu próprio sistema de análise
- Atualizações de CRM: Atualize registros de clientes quando clicarem em links
- Notificações do 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 Make ou integração Zapier são mais fáceis de configurar do que webhooks personalizados. Eles incluem gatilhos de cliques instantâneos alimentados por webhooks, sem necessidade de codificação.
Como configurar webhooks em nível de link
Vá para Links e clique no link que deseja configurar.
Role para baixo até a seção Webhooks.
Insira sua(s) URL(s) de webhook, uma por linha.
Você pode adicionar várias URLs de webhook. Todas as URLs receberão o mesmo payload quando o link for clicado.

Clique em Salvar.
Os webhooks em nível de link são acionados apenas quando esse link específico é clicado.
Como configurar webhooks em nível de espaço de trabalho
Vá para Configurações (ícone de engrenagem na barra lateral).
Clique em Configurações do Espaço de Trabalho
Insira sua(s) URL(s) de webhook, uma por linha.
Você pode adicionar várias URLs de webhook. Todas as URLs receberão o mesmo payload quando qualquer link no seu espaço de trabalho for clicado.

Clique em Salvar Configurações.
Os webhooks em nível de espaço de trabalho são acionados para cada clique em qualquer link do seu espaço de trabalho.
Observação: Se você configurar webhooks em ambos os níveis, ambos serão acionados para cliques nesse link.
Eventos
Cada webhook recebe todos os tipos de eventos para seu escopo — um webhook em nível de link obtém eventos para esse link, um webhook em nível de espaço de trabalho obtém eventos para cada link no espaço de trabalho. Verifique o campo event de 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 espaço de trabalho. |
link.updated | As configurações de um link mudam. É acionado a cada atualização, incluindo edições salvas automaticamente, então você pode receber várias durante uma 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 forem aplicadas) |
workspace_id | Identificador do espaço de trabalho |
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 o tempo do clique, portanto os IDs são classificados cronologicamente como strings simples |
country | Código de país com duas letras (por exemplo, "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 Internet |
bot_name | Identificador do bot (null 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 em payloads de webhook.
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 Make - Plataforma de automação visual com gatilhos de clique instantâneos
- Integração Zapier - Conecte o Linkly a milhares de aplicativos sem código
Ambas as integrações usam webhooks nos bastidores, mas lidam com toda a configuração automaticamente.
Melhores práticas
Múltiplos webhooks
Você pode adicionar várias 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 com falha
- 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 recebidas em 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 no 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.
FAQs sobre Webhooks
Quais eventos os webhooks podem enviar?
Os webhooks são acionados em quatro eventos, identificados pelo campo event no payload. Você recebe 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, então ramifique no campo event para lidar com cada um.
Por que meus webhooks não estão sendo acionados?
Verifique se sua URL de webhook é válida e acessível, e se os webhooks são salvos no link ou espaço de trabalho. Para eventos de clique, observe que os webhooks só são acionados quando um clique é realmente registrado - IPs excluídos ou rastreadores ignorados não os acionarão.
Por que alguns campos são nulos no payload do webhook?
Alguns campos podem ser nulos se as informações não estavam disponíveis (por exemplo, sem referenciador), 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 com falha?
Não. Webhooks são fire-and-forget. Entregas com falha não são tentadas novamente, e o Linkly não rastreia o status de entrega do webhook. As solicitações de webhook expiram após 5 segundos.
O Linkly oferece suporte a postbacks para rastreamento de conversão?
Não. Os webhooks do Linkly são apenas de saída e são acionados quando os cliques ocorrem. Não podemos receber dados de postback de redes de afiliados ou plataformas de publicidade. Para rastreamento de conversão, use o rastreamento nativo da plataforma de destino, passe um ID de clique via encaminhamento de parâmetro de consulta, ou use nossa integração BigQuery para unir dados de clique 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 Make ou Zapier são mais fáceis de configurar. Elas usam webhooks nos bastidores, mas lidam com toda a configuração automaticamente. Use webhooks personalizados quando 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.