Para construir um encurtador de URL no n8n sobre o Elido hoje, use o node embutido HTTP Request do n8n: POST para /v1/workspaces/{workspace_id}/links com um token Bearer, um domain_id e um destination_url, e a resposta devolve o slug e short_url do novo link. Esse caminho funciona tanto no n8n Cloud quanto no self-hosted. Também existe um node de comunidade empacotado, n8n-nodes-elido, publicado no npm (0.2.0), que envolve a mesma API em campos tipados para instâncias self-hosted.
A maioria das buscas por link curto no n8n quer esse primeiro caminho. O node HTTP Request precisa de cerca de cinco minutos de configuração: uma credencial, dois IDs do seu workspace e um corpo JSON. Depois disso é só mais um node.
Escrevi isso a partir da API e do código-fonte do pacote em vez de material de marketing, porque um corpo de requisição é fácil de declarar com exatidão e doloroso de adivinhar. Se a própria API REST é nova para você, o guia rápido da API e SDKs cobre tokens, workspaces e o resto da superfície sobre a qual este post se apoia.
Duas formas de encurtar links no n8n
O n8n não tem encurtador embutido, então existem duas formas de conectar o Elido:
- Node HTTP Request. Embutido em toda edição do n8n, alcança todo endpoint, e permite que você defina headers como
Idempotency-Keyvocê mesmo. É o caminho de referência. - Node de comunidade
n8n-nodes-elido. Um node empacotado do Elido com um recurso Link e quatro operações (Create, Get, List, Get Analytics) mais um tipo de credencial de API do Elido. Só self-hosted.
As receitas de Make e IFTTT tratam o n8n como uma opção entre quatro plataformas. Aqui o n8n ganha o post inteiro.
Encurtando uma URL com o node HTTP Request
Comece com um token. No Elido, abra Settings, depois API Tokens, e crie um token de acesso pessoal; ele começa com elido_ e é mostrado uma vez. No n8n, crie uma credencial Header Auth com o nome Authorization e o valor Bearer elido_.... O n8n a criptografa em repouso e a mantém fora do JSON de workflow exportado, o que é melhor do que colar o header em todo node de todo workflow e depois caçar todos eles no dia em que o token for rotacionado. Dê ao token a função de editor e uma data de expiração; nossa análise das permissões de chaves de API para ferramentas de links explica por que um workflow de links nunca precisa de administrador.
Em seguida, dois números. O ID do seu workspace fica na URL do painel logo depois de /dashboard/. Para o domínio, rode um GET contra /v1/workspaces/{workspace_id}/domains a partir de um node HTTP Request descartável: cada item carrega um id e um hostname, e você precisa dos dois.
Depois a própria chamada de criação:
Method: POST
URL: https://api.elido.app/v1/workspaces/1/links
Authentication: Generic credential > Header Auth (Authorization: Bearer elido_...)
Headers: Idempotency-Key: {{ $execution.id }}-{{ $itemIndex }}
Body (JSON): {
"domain_id": 7,
"destination_url": "{{ $json.link }}",
"title": "{{ $json.title }}",
"tags": ["n8n", "rss"]
}
A resposta é o registro do link: id, slug, short_url, destination_url, domain_id, tags e timestamps. Mapeie {{ $json.short_url }} no próximo node; o hostname que você anotou só importa se você montar uma URL à mão. Adicione um campo slug para uma parte final personalizada (plano Starter e acima), ou deixe de fora e o Elido gera um. A documentação do node HTTP Request do n8n cobre as opções restantes, incluindo paginação embutida para chamadas de listagem.
O node de comunidade do Elido para n8n self-hosted
O node empacotado vende uma coisa: campos tipados. Ele registra uma credencial de API do Elido (Base URL, um API Token que é uma chave de API do workspace começando com elido_, e Workspace ID), e depois um node Elido com um recurso Link. Create recebe uma URL de destino mais slug personalizado opcional, ID de domínio, título, tags, expiração e um status de redirecionamento 301, 302 ou 307. Get busca um link por ID. List recebe um limite de 1 a 100 e filtros de busca, tags e status ativo ou desativado, e emite um item do n8n por link. Get Analytics recebe um ID de link e um relatório (cliques ao longo do tempo, ou cliques por país, referenciador, dispositivo ou navegador), datas De e Até com padrão nos últimos 30 dias, e um intervalo de dia ou hora, com um item por linha. As respostas de link incluem short_url.
Uma condição se aplica antes de você planejar em cima disso. O n8n Cloud aceita só nodes de comunidade verificados, e este não está verificado, então é self-hosted ou nada. O pacote está no npm como versão 0.2.0:
npm view n8n-nodes-elido version
Em uma instância self-hosted, um proprietário ou administrador pode abrir Settings, depois Community Nodes, selecionar Install e digitar n8n-nodes-elido. No Docker, defina N8N_COMMUNITY_PACKAGES="n8n-nodes-elido" em vez disso. Ainda não existe um node de gatilho do Elido (um está planejado), então os eventos de link continuam entrando pelo node Webhook do n8n, e ações de Update e Look Up by slug também estão planejadas. A página de ajuda do n8n self-hosted traz as etapas de configuração. O guia de instalação de nodes de comunidade do n8n cobre os caminhos de GUI, manual e variável de ambiente, incluindo o manual que configurações em modo fila precisam.
Três workflows de link curto no n8n que vale a pena construir
Estes são os fluxos que eu construiria primeiro, em ordem crescente de complexidade. Cada um usa a chamada HTTP Request de cima mais nodes padrão do n8n, então nenhum deles depende do pacote de comunidade.
RSS para link curto para Slack. Um RSS Feed Trigger faz polling no feed do seu blog. O node HTTP Request posta {{ $json.link }} como o destino e {{ $json.title }} como o título. Um node Slack então posta o hostname mais {{ $json.slug }} no seu canal de anúncios. São três nodes, zero visitas ao painel. Se você quiser tags de UTM nesses links, construa-as no destino com um node Set primeiro; nosso guia de rastreamento de UTM tem a convenção de nomenclatura.
Nova linha de planilha para link curto e de volta. Um gatilho do Google Sheets dispara em cada nova linha, a chamada de criação encurta a coluna url, e um segundo node Sheets escreve a URL curta finalizada de volta na mesma linha. É uma versão feita à mão da importação em massa a partir do Google Sheets, melhor quando as linhas chegam aos poucos diariamente e pior quando você cola 5.000 de uma vez.
Novo link para um canal de auditoria. Coloque o node Webhook do n8n primeiro e assine a URL de produção dele em link.created em Settings, Webhooks no Elido. Ative a opção Raw Body do node Webhook, porque a assinatura é um HMAC-SHA256 sobre timestamp.raw_body e um corpo JSON reserializado não vai bater. Verifique em um node Code, depois poste o slug e o destino no Slack. O formulário de webhook do painel lista eventos de ciclo de vida de link e de workspace, não por clique (um evento click.created está planejado), então para relatórios de clique eu rodaria uma busca agendada em vez disso. O texto sobre eventos de webhook cobre retries e headers.
Cansado de colar links manualmente nas mesmas três ferramentas toda segunda-feira? Abra um workspace gratuito, gere um token e conecte o fluxo de RSS acima no tempo que leva para ler esta seção.
Tratamento de erro: retries, duplicatas e execuções falhadas
O n8n dá a cada node duas configurações que importam aqui. Retry On Fail reexecuta o node em caso de erro, com uma espera à sua escolha, e On Error decide se o workflow para, continua, ou roteia a falha para uma saída de erro separada. Para uma rede de segurança em todo o workflow, o guia do n8n para tratar erros com elegância mostra como apontar todo workflow para um único workflow de erro que começa com um Error Trigger.
Combine a configuração com o código de status. Um 429 ou qualquer 5xx vale a pena tentar de novo com uma espera de alguns segundos, já que a API define Retry-After em limites de taxa e o nível gratuito permite 60 requisições por minuto. Um 400 não vai melhorar sozinho, e geralmente é um domain_id ou destination_url ausente. Um 409 na criação significa que o slug personalizado já está em uso, então roteie-o pela saída de erro e acrescente um sufixo em vez de tentar a mesma requisição cinco vezes.
Aqui está a parte que eu gostaria que alguém tivesse me contado. Sem um Idempotency-Key, uma chamada de criação que dá timeout depois que o servidor já escreveu o link é reexecutada em uma duplicata. É por isso que o exemplo acima envia um construído a partir do ID de execução e do índice do item: uma nova tentativa do mesmo item reproduz a resposta original em vez de criar um segundo link. O guia de limites de taxa e idempotência explica a janela de reprodução.
Node de comunidade vs HTTP Request: qual usar
O node empacotado e o node HTTP Request alcançam a mesma API, então essa é mais uma escolha de manutenção do que de capacidade.
| Node HTTP Request | Node de comunidade do Elido | |
|---|---|---|
| Roda no n8n Cloud | Sim | Não, só self-hosted |
| Endpoints | Todos | Create, Get, List, Get Analytics |
| Header Idempotency-Key | Você adiciona | Não exposto |
| Configuração | Credencial Header Auth mais um corpo JSON | Campos tipados e uma credencial de API do Elido |
| Melhor para | Fluxos de produção e qualquer coisa incomum | Fluxos simples mantidos por quem não lê JSON |
Minha regra prática: construa sobre o HTTP Request por padrão, porque ele roda em toda edição do n8n e você controla todo header, e recorra ao node de comunidade em uma instância self-hosted quando alguém que não lê JSON vai ser dono do workflow, e quando as quatro operações dele cobrem o trabalho. Para a lista completa de endpoints, veja a página do recurso de API e SDKs, e se um modelo de push encaixa melhor do que polling, os webhooks do Elido cobrem o lado de saída. Pesando ferramentas hospedadas em vez disso? Leia também o passo a passo do Zapier.
Leia o conteúdo principal → Guia rápido da API e SDKs do encurtador de URL
Relacionados no blog
- Automação de link curto com Make e IFTTT - os mesmos trabalhos em duas plataformas de automação hospedadas.
- Automação de encurtador de URL do Zapier - app nativo do Zapier, sem self-hosting.
- Webhooks para eventos de link - payloads, assinaturas e comportamento de retry.
- Limites de taxa da API e idempotência - tentando novamente sem duplicar links.
- Bot de encurtamento de link e alertas no Slack - quando o lado do Slack merece seu próprio app.
- Automação de link self-hosted com n8n - Docker, proxy reverso e webhooks assinados no seu próprio servidor.
Perguntas frequentes
O n8n tem um node de encurtador de URL embutido?
Não. O n8n não vem com nenhum encurtador próprio, então você chama a API REST de um encurtador a partir do node embutido HTTP Request ou instala um node de comunidade. Para o Elido, o node HTTP Request é o caminho que funciona em toda edição do n8n hoje, e o pacote n8n-nodes-elido, publicado no npm, é a opção tipada para instâncias self-hosted.
Posso instalar o node de comunidade do Elido no n8n Cloud?
Não. O n8n Cloud só oferece nodes de comunidade verificados, e o n8n-nodes-elido não está na lista verificada, então precisa de uma instância self-hosted. No Cloud, use o node HTTP Request com uma credencial Header Auth, que alcança a mesma API do Elido.
Como encurto uma URL no n8n sem um node de comunidade?
Adicione um node HTTP Request, defina o método como POST e a URL como https://api.elido.app/v1/workspaces/{workspace_id}/links, anexe uma credencial Header Auth carregando seu token Bearer, e envie um corpo JSON com domain_id e destination_url. A resposta retorna o slug do novo link e um short_url pronto.
Onde encontro o domain_id para um link curto do Elido?
Chame GET /v1/workspaces/{workspace_id}/domains com a mesma credencial. Cada item na resposta tem um id e um hostname, então escolha o domínio onde você quer que os links vivam e fixe o id dele na chamada de criação. Guarde o hostname também se algum dia você montar uma URL curta à mão, embora as respostas já tragam short_url.
Por que a API do Elido retorna 401 ou 403 no n8n?
Um 401 significa que o token está ausente, digitado errado ou revogado, então recrie-o em Settings, API Tokens e cole-o de novo na credencial Header Auth. Um 403 significa que o token é válido mas não tem permissão naquele workspace, o que geralmente aponta para o ID de workspace errado na URL em vez de um token ruim.
O n8n consegue criar slugs personalizados ou links curtos que expiram?
Sim. Adicione um campo slug ao corpo de criação para uma parte final personalizada em planos Starter e acima, ou deixe de fora e o Elido gera um. Para a expiração, adicione um timestamp expires_at ao mesmo corpo de criação, ou envie PATCH para a URL de um link existente com esse valor.
Experimente Elido
Cole uma URL, obtenha um link curto
Sem cadastro. O link vive 30 dias. Cadastre-se para mantê-lo para sempre.
Grátis, sem necessidade de registo · 2 por dia