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.

1
2
3

Você pode adicionar várias URLs de webhook. Todas as URLs receberão o mesmo payload quando o link for clicado.

Insira sua(s) URL(s) de webhook, uma por linha.
Insira sua(s) URL(s) de webhook, uma por linha.
4

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

1

Vá para Configurações (ícone de engrenagem na barra lateral).

2

Clique em Configurações do Espaço de Trabalho

3

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.

Insira sua(s) URL(s) de webhook, uma por linha.
Insira sua(s) URL(s) de webhook, uma por linha.
4

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:

eventEnviado quando
clickUm link curto é clicado. Inclui um objeto click com os dados da solicitação do visitante.
link.createdUm novo link é criado no espaço de trabalho.
link.updatedAs 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.deletedUm 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

CampoDescrição
eventclick, link.created, link.updated, ou link.deleted
timestampTimestamp ISO 8601 do clique
CampoDescrição
idIdentificador único do link
nameApelido do link
urlURL de destino original
full_urlA URL do link curto
domainDomínio personalizado (se configurado)
slugCaminho/slug da URL
destinationDestino real para este clique (pode diferir de url se as regras forem aplicadas)
workspace_idIdentificador do espaço de trabalho
enabledSe o link está ativo
rulesArray de regras de redirecionamento (geo, dispositivo, rotador)
utm_*Parâmetros UTM se configurados
og_*Configurações Open Graph se configuradas

Objeto de clique

CampoDescrição
idIdentificador ú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
countryCódigo de país com duas letras (por exemplo, "US", "GB")
is_eu_countrySe o clique se originou da UE
platformPlataforma do dispositivo (desktop, ios, android, etc.)
browser_nameNome do navegador (Chrome, Safari, Firefox, etc.)
refererURL referenciadora (se disponível)
ispProvedor de Internet
bot_nameIdentificador do bot (null para cliques humanos)
destinationURL de destino final para este clique
paramsParâmetros de consulta passados para o link

Nota de Privacidade: Endereços IP nunca são incluídos em payloads de webhook.

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:

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

  1. 1
    Configure uma URL de webhook usando um serviço como webhook.site ou RequestBin
  2. 2
    Clique no seu link
  3. 3
    Inspecione o payload recebido
  4. 4
    Depois 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.

Sim. Se você configurar webhooks em ambos os níveis, ambos serão acionados quando esse link for clicado. Isso é útil se você quiser registro em nível de espaço de trabalho além de ações específicas para certos links.

Disponibilidade do plano

Disponível a partir do Business

Comparar planos →

Rastreie 500 cliques mensais com todos os recursos incluídos.