Voltar ao início

Integração com n8n

Última atualização: Agosto de 2026

O Klyk não tem — e não vai ter por enquanto — um node próprio dentro do n8n. Não é limitação: um node customizado pede homologação na loja de integrações do n8n, e os dois nodes genéricos que qualquer conta já tem (Webhook e HTTP Request) já bastam. O trabalho desta atualização foi outro: achar e fechar os pedaços que faltavam para esse caminho funcionar de ponta a ponta.

DemonstraçãoKlyk com n8n, sem node nenhum para instalar1/4
  1. 1Cadastra a URL do n8n como webhook do Klyk

    Em Integrações, ou pelo próprio n8n via POST /v1/webhooks — é assim que ele se inscreve sozinho quando alguém liga a automação.

    • Escolhe quais eventos interessam: clique, marco de cliques, link parado, ou todos.
    • O node do n8n para receber é o Webhook genérico — não existe (nem precisa existir) um node do Klyk.
  2. 2O evento chega — e a assinatura vem junto

    Cada entrega traz um X-Klyk-Signature, HMAC do timestamp mais o corpo. O node Webhook do n8n não confere isso sozinho — um node Code antes de processar faz essa checagem com a função pronta na documentação.

    • Sem conferir, qualquer um que descubra a URL do webhook pode mandar um evento falso.
    • A verificação é sobre o corpo CRU, antes de qualquer JSON.parse.
  3. 3O workflow chama a API de volta, se precisar

    Quer os detalhes do link, ou criar um novo com UTM pronta? O node HTTP Request, com autenticação Bearer, chama os mesmos endpoints desta documentação.

    • Nenhum SDK, nenhuma biblioteca própria — é a mesma API que qualquer integração usa.
  4. 4Pausar sem perder a integração

    PATCH /v1/webhooks/:id com active: false desliga sem apagar — o segredo continua o mesmo quando reativar, então o node Code de verificação não precisa mudar nada.

    • Antes disso, pausar exigia apagar e recriar — e recriar troca o segredo, quebrando a verificação do outro lado.

O que já existia

Webhook de saída com assinatura HMAC, fila durável com reentrega automática, e uma API v1 com chave de escopo — tudo isso já estava no ar. A base não mudou nesta atualização.

O que faltava, e entrou agora

Um bug fechado no caminho

A tela de webhooks sempre disse Planos Pro e Business, mas o disparo de verdade nunca conferia isso — uma conta Free podia cadastrar um webhook e ele funcionava normalmente. Corrigido: quem perde o plano perde o disparo, não a configuração salva — a mesma regra que já valia para a Página de Transição e o roteamento por regras.

A configuração nunca é apagada por downgrade

Voltar para o Pro ou o Business faz o webhook voltar a disparar sozinho — a inscrição continua exatamente como foi deixada.

Por que Webhook, e não polling

A API pública tem um limite de 100 requisições por hora, por chave. Um workflow que fica perguntando mudou alguma coisa? a cada minuto esbarra nisso rápido. Um workflow que espera o Klyk avisar não tem esse problema — é para isso que o webhook existe.