Webhooks
Webhooks permitem que você receba notificações em tempo real quando seus links são clicados. Quando ocorre um clique, o Linkly envia uma solicitação POST para sua(s) URL(s) especificada(s) com informações detalhadas sobre o clique.
Casos de Uso
- Plataformas de Automação: Acione fluxos de trabalho no Make ou Zapier quando os links são clicados
- Análises Personalizadas: Envie dados de cliques para seu próprio sistema de análise
- Atualizações de CRM: Atualize registros de clientes quando eles clicam em links
- Notificações do Slack: Seja notificado no Slack quando links importantes são clicados
- Rastreamento de Leads: Rastreie quando prospects interagem 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. Eles incluem gatilhos de cliques instantâneos alimentados por webhooks, sem necessidade de código.
Como Configurar Webhooks de Nível de Link
Vá para Links e clique no link que você deseja configurar.
Role para baixo até a seção Webhooks.
Digite sua(s) URL(s) de webhook, uma por linha.
Você pode adicionar várias URLs de webhook. Todas as URLs receberão a mesma carga quando o link for clicado.

Clique em Salvar Link.
Webhooks de nível de link só disparam quando esse link específico é clicado.
Como Configurar Webhooks de Nível de Workspace
Vá para Configurações (ícone de engrenagem na barra lateral).
Clique em Configurações do Workspace
Digite sua(s) URL(s) de webhook, uma por linha.
Você pode adicionar várias URLs de webhook. Todas as URLs receberão a mesma carga quando qualquer link em seu workspace for clicado.

Clique em Salvar Configurações.
Webhooks de nível de workspace disparam para cada clique em qualquer link em seu workspace.
Nota: Se você configurar webhooks em ambos os níveis, ambos serão disparados para cliques nesse link.
Carga do Webhook
Quando ocorre um clique, o Linkly envia uma solicitação POST com a seguinte carga 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": {
"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 da Carga
Informações do Evento
| Campo | Descrição |
|---|---|
event | Sempre "click" |
timestamp | Timestamp ISO 8601 do clique |
Objeto 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 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 Click
| Campo | Descrição |
|---|---|
country | Código do país de duas letras (por exemplo, "US", "GB") |
is_eu_country | Se o clique foi originado da UE |
platform | Plataforma do dispositivo (desktop, ios, android, etc.) |
browser_name | Nome do navegador (Chrome, Safari, Firefox, etc.) |
referer | URL de referência (se disponível) |
isp | Provedor de Serviços de Internet |
bot_name | Identificador de 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 nas cargas de webhook.
Integrações de 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 internamente, mas gerenciam 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 a mesma carga quando ocorrer um clique.
Tratamento de Erros
- Webhooks são fire-and-forget - O Linkly não tenta reenviar 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 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 em seu link
- 3Inspecione a carga recebida
- 4Uma vez 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
Consulte a Documentação da API para detalhes.
Perguntas Frequentes sobre Webhooks
Por que meus webhooks não estão disparando?
Verifique se sua URL de webhook é válida e acessível. Verifique se os webhooks estão salvos nas configurações do link ou do workspace. Observe que webhooks só disparam quando cliques são registrados - IPs excluídos ou crawlers ignorados não acionarão webhooks.
Por que alguns campos estão null na carga do webhook?
Alguns campos podem estar null se a informação não estava disponível (por exemplo, sem referer), configurações de privacidade impediram a coleta, ou o clique foi de um bot (caso em que bot_name será preenchido).
O Linkly tenta reenviar entregas de webhook falhadas?
Não. Webhooks são fire-and-forget. Entregas falhadas não são reenviadas, 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 ocorrem cliques. 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 um 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 internamente, mas gerenciam toda a configuração automaticamente. Use webhooks personalizados quando você precisa enviar dados para seus próprios sistemas ou requer mais controle sobre a integração.
Posso ter webhooks tanto em um link quanto no workspace?
Sim. Se você configurar webhooks em ambos os níveis, ambos serão disparados quando esse link for clicado. Isso é útil se você deseja registro em todo o workspace mais ações específicas para determinados links.