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.

1
2
3

Você pode adicionar múltiplas URLs de webhook. Todas as URLs receberão o mesmo payload quando o link for clicado.

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

Webhooks no nível do link só disparam quando esse link específico é clicado.

Como configurar webhooks no nível do workspace

1

Vá para Settings (ícone de engrenagem na barra lateral).

2

Clique em Workspace Settings

3

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.

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

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:

eventEnviado quando
clickUm link curto é clicado. Inclui um objeto click com os dados da solicitação do visitante.
link.createdUm novo link é criado no workspace.
link.updatedAs 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.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 foram aplicadas)
workspace_idIdentificador do workspace
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 a hora do clique, então os ids são classificados cronologicamente como strings simples
countryCódigo de país com duas letras (ex: "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 Serviços de Internet
bot_nameIdentificador do bot (nulo 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 nos payloads dos webhooks.

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 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

  1. 1
    Configure uma URL de webhook usando um serviço como webhook.site ou RequestBin
  2. 2
    Clique em 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.

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.

Sim. Se você configurar webhooks em ambos os níveis, ambos dispararão quando esse link for clicado. Isso é útil se você deseja logs em toda a workspace além de ações específicas para determinados links.

Disponibilidade do plano

Disponível a partir do Business

Comparar planos →

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