Per costruire un n8n URL shortener su Elido oggi, usa il nodo HTTP Request integrato di n8n: una POST a /v1/workspaces/{workspace_id}/links con un token Bearer, un domain_id e un destination_url, e la risposta restituisce lo slug del nuovo link e short_url. Questa via funziona sia su n8n Cloud sia self-hosted. Esiste anche un community node pacchettizzato, n8n-nodes-elido, pubblicato su npm (0.2.0), che avvolge la stessa API in campi tipizzati per le istanze self-hosted.
La maggior parte delle ricerche su n8n short link vuole quella prima via. Il nodo HTTP Request richiede circa cinque minuti di configurazione: una credenziale, due ID dal tuo workspace e un body JSON. Dopodiché è solo un altro nodo.
L'ho scritto a partire dall'API e dal codice sorgente del pacchetto piuttosto che dal materiale marketing, perché un body di richiesta è facile da definire con esattezza e doloroso da indovinare. Se l'API REST in sé è nuova per te, il quickstart API e SDK copre token, workspace e il resto della superficie su cui poggia questo post.
Due modi per accorciare i link in n8n
n8n non ha uno shortener integrato, quindi ci sono due modi per collegare Elido:
- Nodo HTTP Request. Integrato in ogni edizione di n8n, raggiunge ogni endpoint, e ti permette di impostare header come
Idempotency-Keyda solo. È la via di riferimento. - Community node
n8n-nodes-elido. Un nodo Elido pacchettizzato con una risorsa Link e quattro operazioni (Create, Get, List, Get Analytics) più un tipo di credenziale API Elido. Solo self-hosted.
Le ricette Make e IFTTT trattano n8n come una delle quattro piattaforme possibili. Qui n8n ha l'intero post per sé.
Accorciare un URL con il nodo HTTP Request
Parti da un token. In Elido, apri Settings, poi API Tokens, e crea un personal access token; inizia con elido_ e viene mostrato una sola volta. In n8n, crea una credenziale Header Auth con nome Authorization e valore Bearer elido_.... n8n la cifra a riposo e la tiene fuori dal JSON del workflow esportato, il che batte incollare l'header in ogni nodo di ogni workflow e poi doverli rintracciare tutti il giorno in cui il token viene ruotato. Assegna al token il ruolo editor e una data di scadenza; la nostra analisi delle autorizzazioni delle chiavi API per gli strumenti di link spiega perché un workflow per i link non ha mai bisogno dei privilegi di amministratore.
Poi, due numeri. Il tuo workspace ID si trova nell'URL della dashboard subito dopo /dashboard/. Per il dominio, esegui una GET verso /v1/workspaces/{workspace_id}/domains da un nodo HTTP Request usa e getta: ogni elemento porta un id e un hostname, e ti servono entrambi.
Poi la chiamata di creazione vera e propria:
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"]
}
La risposta è il record del link: id, slug, short_url, destination_url, domain_id, tag e timestamp. Mappa {{ $json.short_url }} nel nodo successivo; l'hostname che hai annotato conta solo se costruisci un URL a mano. Aggiungi un campo slug per un back-half personalizzato (piano Starter e superiori), oppure lascialo fuori e Elido ne genera uno. La documentazione del nodo HTTP Request di n8n copre le opzioni restanti, inclusa la paginazione integrata per le chiamate di lista.
Il community node Elido per n8n self-hosted
Il nodo pacchettizzato vende una sola cosa: campi tipizzati. Registra una credenziale API Elido (Base URL, un API Token che è una chiave API del workspace con prefisso elido_, e Workspace ID), e il test della credenziale legge GET /v1/workspaces/{id}. Poi c'è un nodo Elido con una risorsa Link. Create accetta un URL di destinazione più slug personalizzato, domain ID, titolo, tag, scadenza e uno stato di redirect 301, 302 o 307 opzionali. Get recupera un link tramite ID. List accetta un limite da 1 a 100 e filtri per ricerca, tag e stato attivo o disabilitato, ed emette un elemento n8n per ogni link. Get Analytics accetta un ID link e un report (clic nel tempo, oppure clic per paese, referrer, dispositivo o browser), una data Da e A con valore predefinito negli ultimi 30 giorni, e un intervallo giornaliero o orario, con un elemento per riga. Le risposte dei link includono short_url.
Una condizione si applica prima di pianificarci sopra. n8n Cloud accetta solo community node verificati, e questo non lo è, quindi è self-hosted o niente. Il pacchetto è su npm come versione 0.2.0:
npm view n8n-nodes-elido version
Su un'istanza self-hosted, un owner o admin può aprire Settings, poi Community Nodes, selezionare Install e inserire n8n-nodes-elido. In Docker, imposta invece N8N_COMMUNITY_PACKAGES="n8n-nodes-elido". Non esiste ancora un trigger node Elido (è previsto), quindi gli eventi dei link arrivano ancora tramite il nodo Webhook di n8n; sono previsti anche i comandi Update e Look Up by slug. La pagina di assistenza n8n self-hosted descrive i passaggi di configurazione. La guida all'installazione dei community node di n8n copre le vie GUI, manuale e da variabile d'ambiente, inclusa quella manuale che serve alle configurazioni in modalità coda.
Tre workflow n8n per link brevi che vale la pena costruire
Questi sono i flussi che costruirei per primi, in ordine crescente di complessità. Ognuno usa la chiamata HTTP Request vista sopra più nodi n8n standard, quindi nessuno dipende dal pacchetto community.
Da RSS a link breve a Slack. Un RSS Feed Trigger interroga il feed del tuo blog. Il nodo HTTP Request invia {{ $json.link }} come destinazione e {{ $json.title }} come titolo. Un nodo Slack poi pubblica l'hostname più {{ $json.slug }} sul tuo canale annunci. Sono tre nodi, zero visite alla dashboard. Se vuoi i tag UTM su quei link, costruiscili nella destinazione con un nodo Set prima; la nostra guida al tracking UTM ha la convenzione di denominazione.
Da nuova riga del foglio a link breve e ritorno. Un trigger Google Sheets scatta su ogni nuova riga, la chiamata di creazione accorcia la colonna url, e un secondo nodo Sheets scrive l'URL breve completato di nuovo nella stessa riga. È una versione fatta a mano dell'importazione in blocco da Google Sheets, migliore quando le righe arrivano un po' alla volta ogni giorno e peggiore quando ne incolli 5.000 in una volta.
Da nuovo link a un canale di audit. Metti il nodo Webhook di n8n per primo e iscrivi il suo URL di produzione a link.created sotto Settings, Webhooks in Elido. Attiva l'opzione Raw Body del nodo Webhook, perché la firma è un HMAC-SHA256 sopra timestamp.raw_body e un body JSON ri-serializzato non corrisponderebbe. Verifica in un nodo Code, poi pubblica lo slug e la destinazione su Slack. Il form dei webhook nella dashboard elenca eventi del ciclo di vita dei link e del workspace, non eventi per singolo clic (un evento click.created è previsto), quindi per i report sui clic eseguirei invece un pull programmato. L'approfondimento sugli eventi webhook copre retry e header.
Stanco di incollare link a mano negli stessi tre strumenti ogni lunedì? Apri un workspace gratuito, genera un token e collega il flusso RSS descritto sopra nel tempo che ci vuole a leggere questa sezione.
Gestione errori: retry, duplicati ed esecuzioni fallite
n8n dà a ogni nodo due impostazioni che contano qui. Retry On Fail riesegue il nodo in caso di errore, con un'attesa a tua scelta, e On Error decide se il workflow si ferma, continua, o instrada l'errore verso un'uscita separata dedicata agli errori. Per una rete di sicurezza a livello di workflow, la guida di n8n su come gestire gli errori con eleganza mostra come far puntare ogni workflow a un unico workflow di errore che inizia con un Error Trigger.
Fai corrispondere l'impostazione al codice di stato. Un 429 o qualsiasi 5xx vale la pena riprovarlo con un'attesa di qualche secondo, dato che l'API imposta Retry-After sui rate limit e il piano free consente 60 richieste al minuto. Un 400 non migliorerà da solo, ed è di solito un domain_id o destination_url mancante. Un 409 in creazione significa che lo slug personalizzato è già preso, quindi instradalo verso l'uscita errore e aggiungi un suffisso invece di riprovare la stessa richiesta cinque volte.
Ecco la parte che vorrei qualcuno mi avesse detto. Senza un Idempotency-Key, una chiamata di creazione che va in timeout dopo che il server ha già scritto il link viene riprovata e finisce per creare un duplicato. Per questo l'esempio sopra invia una chiave costruita dall'execution ID e dall'indice dell'elemento: una riprova dello stesso elemento riproduce la risposta originale invece di generare un secondo link. La guida a rate limit e idempotenza spiega la finestra di replay.
Community node vs HTTP Request: quale usare
Il nodo pacchettizzato e il nodo HTTP Request raggiungono la stessa API, quindi questa è più una scelta di manutenzione che di capacità.
| Nodo HTTP Request | Community node Elido | |
|---|---|---|
| Funziona su n8n Cloud | Sì | No, solo self-hosted |
| Endpoint | Tutti | Create, Get, List, Get Analytics |
| Header Idempotency-Key | Lo aggiungi tu | Non esposto |
| Configurazione | Credenziale Header Auth più un body JSON | Campi tipizzati e una credenziale API Elido |
| Ideale per | Flussi di produzione e qualsiasi cosa insolita | Flussi semplici mantenuti da chi non è sviluppatore |
La mia regola pratica: costruisci su HTTP Request come default, perché funziona su ogni edizione di n8n e controlli ogni header, e ricorri al community node su un'istanza self-hosted quando qualcuno che non legge JSON dovrà mantenere il workflow, e quando le sue quattro operazioni coprono il lavoro. Per l'elenco completo degli endpoint, vedi la pagina delle funzionalità API e SDK, e se un modello push si adatta meglio del polling, i webhook Elido coprono il lato in uscita. Stai valutando invece strumenti hosted? Leggi anche la panoramica su Zapier.
Leggi la guida cornerstone → Quickstart API e SDK per URL shortener
Correlati sul blog
- Automazione dei link brevi con Make e IFTTT - gli stessi compiti su due piattaforme di automazione hosted.
- Automazione URL shortener con Zapier - app Zapier nativa, senza self-hosting.
- Webhook per gli eventi sui link - payload, firme e comportamento di retry.
- Rate limit API e idempotenza - riprovare senza link duplicati.
- Bot Slack per l'accorciamento dei link e avvisi - quando il lato Slack merita una sua app.
- Automazione dei link self-hosted con n8n - Docker, reverse proxy e webhook firmati sul tuo server.
Domande frequenti
n8n ha un nodo URL shortener integrato?
No. n8n non include alcun shortener proprio, quindi devi chiamare l'API REST di uno shortener dal nodo HTTP Request integrato oppure installare un community node. Per Elido, il nodo HTTP Request è la via che funziona su ogni edizione di n8n oggi, e il pacchetto n8n-nodes-elido, pubblicato su npm, è l'opzione tipizzata per le istanze self-hosted.
Posso installare il community node Elido su n8n Cloud?
No. n8n Cloud offre solo community node verificati, e n8n-nodes-elido non è nella lista dei verificati, quindi serve un'istanza self-hosted. Su Cloud, usa il nodo HTTP Request con una credenziale Header Auth, che raggiunge la stessa API Elido.
Come accorcio un URL in n8n senza un community node?
Aggiungi un nodo HTTP Request, imposta il metodo su POST e l'URL su https://api.elido.app/v1/workspaces/{workspace_id}/links, collega una credenziale Header Auth con il tuo token Bearer, e invia un body JSON con domain_id e destination_url. La risposta restituisce lo slug del nuovo link e uno short_url già pronto.
Dove trovo il domain_id per un link breve Elido?
Chiama GET /v1/workspaces/{workspace_id}/domains con la stessa credenziale. Ogni elemento della risposta ha un id e un hostname, quindi scegli il dominio su cui vuoi che vivano i link e inserisci il suo id come valore fisso nella chiamata di creazione. Conserva anche l'hostname se in futuro costruirai un URL breve a mano, anche se le risposte contengono già short_url.
Perché l'API Elido restituisce 401 o 403 in n8n?
Un 401 significa che il token manca, è scritto male o è stato revocato, quindi ricrealo sotto Settings, API Tokens e incollalo di nuovo nella credenziale Header Auth. Un 403 significa che il token è valido ma non ha i permessi in quel workspace, il che di solito indica l'ID workspace sbagliato nell'URL più che un token difettoso.
n8n può creare slug personalizzati o link brevi con scadenza?
Sì. Aggiungi un campo slug al body di creazione per un back-half personalizzato sui piani Starter e superiori, oppure lascialo fuori e Elido ne genera uno. Per la scadenza, aggiungi un timestamp expires_at allo stesso body di creazione, oppure invia una PATCH all'URL di un link esistente con quel valore.
Prova Elido
Incolla un URL, ottieni un link breve
Senza registrazione. Il link vive 30 giorni. Iscriviti per conservarlo.
Gratis, nessuna registrazione richiesta · 2 al giorno