9 min de lectureIntégrations

Raccourcisseur d'URL n8n : nœud HTTP Request ou nœud communautaire Elido

Construisez un raccourcisseur d'URL n8n sur l'API Elido : configuration HTTP Request, ID de domaine et d'espace de travail, trois workflows de liens courts, nouvelles tentatives, et le nœud communautaire Elido.

Marius Voß
DevRel · edge infra
Couverture style pixel montrant un workflow raccourcisseur d'URL n8n où un nœud déclencheur envoie une longue URL à Elido et l'étape suivante reçoit un lien court suivi

Pour construire un raccourcisseur d'URL n8n sur Elido aujourd'hui, utilisez le nœud HTTP Request intégré de n8n : POST vers /v1/workspaces/{workspace_id}/links avec un jeton Bearer, un domain_id et une destination_url, et la réponse renvoie le slug du nouveau lien et short_url. Cette voie fonctionne aussi bien sur n8n Cloud que sur auto-hébergé. Il existe aussi un nœud communautaire packagé, n8n-nodes-elido, publié sur npm (0.2.0), qui enveloppe la même API dans des champs typés pour les instances auto-hébergées.

La plupart des recherches de lien court n8n veulent cette première voie. Le nœud HTTP Request nécessite environ cinq minutes de configuration : un identifiant, deux ID de votre espace de travail et un corps JSON. Après cela, c'est juste un autre nœud.

Je l'ai écrit depuis la source de l'API et du paquet plutôt que depuis un texte marketing, parce qu'un corps de requête est facile à énoncer exactement et pénible à deviner. Si l'API REST elle-même est nouvelle pour vous, le démarrage rapide API et SDK couvre les jetons, les espaces de travail, et le reste de la surface sur laquelle repose cet article.

Deux façons de raccourcir des liens dans n8n

n8n n'a aucun raccourcisseur intégré, donc il y a deux façons de câbler Elido :

  • Nœud HTTP Request. Intégré à chaque édition de n8n, atteint chaque point d'entrée, et vous laisse définir des en-têtes comme Idempotency-Key vous-même. C'est la voie de référence.
  • Nœud communautaire n8n-nodes-elido. Un nœud Elido packagé avec une ressource Link et quatre opérations (Create, Get, List, Get Analytics) plus un type d'identifiant API Elido. Auto-hébergé uniquement.

Les recettes Make et IFTTT traitent n8n comme une option parmi quatre plateformes. Ici, n8n obtient l'article entier.

Raccourcir une URL avec le nœud HTTP Request

Commencez par un jeton. Dans Elido, ouvrez Paramètres, puis Jetons API, et créez un jeton d'accès personnel ; il commence par elido_ et s'affiche une seule fois. Dans n8n, créez un identifiant Header Auth avec le nom Authorization et la valeur Bearer elido_.... n8n le chiffre au repos et le garde hors du JSON de workflow exporté, ce qui bat coller l'en-tête dans chaque nœud de chaque workflow puis les traquer tous le jour où le jeton tourne. Donnez au jeton le rôle d'éditeur et une date d'expiration ; notre analyse des permissions des clés API pour les outils de liens explique pourquoi un workflow de liens n'a jamais besoin des droits d'administrateur.

Ensuite, deux nombres. Votre ID d'espace de travail se trouve dans l'URL du tableau de bord juste après /dashboard/. Pour le domaine, exécutez un GET contre /v1/workspaces/{workspace_id}/domains depuis un nœud HTTP Request jetable : chaque élément porte un id et un hostname, et vous avez besoin des deux.

Ensuite, l'appel de création lui-même :

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 réponse est l'enregistrement du lien : id, slug, short_url, destination_url, domain_id, tags et horodatages. Utilisez {{ $json.short_url }} dans le nœud suivant ; le nom d'hôte que vous avez noté ne sert que si vous construisez une URL à la main. Ajoutez un champ slug pour une arrière-moitié vanity (plan Starter et au-dessus), ou laissez-le de côté et Elido en génère un. La documentation du nœud HTTP Request de n8n couvre les options restantes, y compris la pagination intégrée pour les appels de liste.

Comment le nœud HTTP Request n8n crée un lien court Elido : un identifiant Header Auth avec un jeton Bearer, un POST vers le point d'entrée de liens de l'espace de travail avec domain_id et destination_url, et un slug de réponse joint au nom d'hôte du domaine

Le nœud communautaire Elido pour n8n auto-hébergé

Le nœud packagé vend une chose : les champs typés. Il enregistre un identifiant API Elido (Base URL, un API Token qui est une clé API d'espace de travail commençant par elido_, et Workspace ID), et le test de l'identifiant appelle GET /v1/workspaces/{id}. Ensuite vient un nœud Elido avec une ressource Link. Create prend une URL de destination plus un slug personnalisé optionnel, un ID de domaine, un titre, des tags, une expiration et un statut de redirection 301, 302 ou 307. Get récupère un lien par ID. List prend une limite de 1 à 100 et des filtres de recherche, de tags et d'état actif ou désactivé, et émet un élément n8n par lien. Get Analytics prend un ID de lien et un rapport (clics dans le temps, ou clics par pays, référent, appareil ou navigateur), des dates de début et de fin qui prennent par défaut les 30 derniers jours, et un intervalle d'un jour ou d'une heure, avec un élément par ligne. Les réponses de liens incluent short_url.

Une condition s'applique avant de vous baser dessus. n8n Cloud n'accepte que les nœuds communautaires vérifiés, et celui-ci ne l'est pas, donc c'est auto-hébergé ou rien. Le paquet est disponible sur npm en version 0.2.0 :

npm view n8n-nodes-elido version

Sur une instance auto-hébergée, un propriétaire ou administrateur peut ouvrir Paramètres, puis Community Nodes, sélectionner Install et saisir n8n-nodes-elido. Dans Docker, définissez plutôt N8N_COMMUNITY_PACKAGES="n8n-nodes-elido". Il n'existe pas encore de nœud déclencheur Elido (un tel nœud est prévu), donc les événements de lien passent toujours par le nœud Webhook de n8n, et les actions Update et Look Up by slug sont également prévues. La page d'aide n8n auto-hébergé décrit les étapes de configuration. Le guide d'installation des nœuds communautaires de n8n couvre les voies GUI, manuelle et variable d'environnement, y compris la manuelle dont les configurations en mode file d'attente ont besoin.

Trois workflows de liens courts n8n qui valent la peine d'être construits

Voici les flux que je construirais en premier, par ordre croissant de complexité. Chacun utilise l'appel HTTP Request ci-dessus plus des nœuds n8n standards, donc aucun ne dépend du paquet communautaire.

RSS vers lien court vers Slack. Un déclencheur RSS Feed Trigger sonde votre flux de blog. Le nœud HTTP Request publie {{ $json.link }} comme destination et {{ $json.title }} comme titre. Un nœud Slack publie ensuite le nom d'hôte plus {{ $json.slug }} vers votre canal d'annonces. Trois nœuds, zéro visite au tableau de bord. Si vous voulez des tags UTM sur ces liens, construisez-les dans la destination avec un nœud Set d'abord ; notre guide de suivi UTM a la convention de nommage.

Nouvelle ligne de feuille vers lien court et retour. Un déclencheur Google Sheets se déclenche sur chaque nouvelle ligne, l'appel de création raccourcit la colonne url, et un second nœud Sheets réécrit l'URL courte finie dans la même ligne. C'est une version artisanale de l'import en masse depuis Google Sheets, mieux quand les lignes arrivent au compte-goutte quotidiennement et pire quand vous en collez 5 000 d'un coup.

Nouveau lien vers un canal d'audit. Placez d'abord le nœud Webhook de n8n et abonnez son URL de production à link.created sous Paramètres, Webhooks dans Elido. Activez l'option Raw Body du nœud Webhook, parce que la signature est un HMAC-SHA256 sur timestamp.raw_body et un corps JSON re-sérialisé ne correspondra pas. Vérifiez dans un nœud Code, puis publiez le slug et la destination vers Slack. Le formulaire de webhook du tableau de bord liste les événements de cycle de vie de lien et d'espace de travail, pas ceux par clic (un événement click.created est prévu), donc pour les rapports de clics j'exécuterais plutôt un tirage planifié. L'article sur les événements webhook couvre les nouvelles tentatives et les en-têtes.

Un workflow raccourcisseur d'URL n8n en trois nœuds : RSS Feed Trigger passe le lien et le titre de l'élément à un nœud HTTP Request qui crée le lien Elido, et un nœud Slack publie le nom d'hôte plus le slug renvoyé

Fatigué de coller des liens à la main dans les trois mêmes outils chaque lundi ? Ouvrez un espace de travail gratuit, générez un jeton et câblez le flux RSS ci-dessus en environ le temps qu'il faut pour lire cette section.

Gestion des erreurs : nouvelles tentatives, doublons et exécutions échouées

n8n donne à chaque nœud deux paramètres qui comptent ici. Retry On Fail réexécute le nœud sur erreur, avec une attente que vous choisissez, et On Error décide si le workflow s'arrête, continue, ou route l'échec vers une sortie d'erreur séparée. Pour un filet à l'échelle du workflow, le guide de n8n sur la gestion élégante des erreurs montre comment pointer chaque workflow vers un workflow d'erreur unique qui commence par un Error Trigger.

Faites correspondre le paramètre au code de statut. Une erreur 429 ou tout 5xx vaut la peine d'être retenté avec une attente de quelques secondes, puisque l'API définit Retry-After sur les limites de débit et que le niveau gratuit autorise 60 requêtes par minute. Une erreur 400 ne s'améliorera pas d'elle-même, et c'est généralement un domain_id ou destination_url manquant. Une erreur 409 à la création signifie que le slug personnalisé est pris, donc routez-le vers la sortie d'erreur et ajoutez un suffixe plutôt que de retenter la même requête cinq fois.

Voici la partie que j'aurais aimé qu'on me dise. Sans Idempotency-Key, un appel de création qui expire après que le serveur a déjà écrit le lien est retenté en un doublon. C'est pourquoi l'exemple ci-dessus en envoie une construite depuis l'ID d'exécution et l'index d'élément : une nouvelle tentative du même élément rejoue la réponse d'origine au lieu d'en générer un second. Le guide des limites de débit et de l'idempotence explique la fenêtre de rejeu.

Nœud communautaire contre HTTP Request : lequel utiliser

Le nœud packagé et le nœud HTTP Request atteignent la même API, donc c'est plus un choix de maintenance qu'un choix de capacité.

Nœud HTTP RequestNœud communautaire Elido
Fonctionne sur n8n CloudOuiNon, auto-hébergé uniquement
Points d'entréeTousCreate, Get, List, Get Analytics
En-tête Idempotency-KeyVous l'ajoutezNon exposé
ConfigurationIdentifiant Header Auth plus un corps JSONChamps typés et un identifiant API Elido
Meilleur pourFlux de production et tout ce qui est inhabituelFlux simples qu'un non-développeur maintient

Ma règle empirique : construisez sur HTTP Request par défaut, parce qu'il fonctionne sur chaque édition de n8n et que vous contrôlez chaque en-tête, et tournez-vous vers le nœud communautaire sur une instance auto-hébergée quand quelqu'un qui ne lit pas de JSON va posséder le workflow, et quand ses quatre opérations couvrent le besoin. Pour la liste complète des points d'entrée, voir la page fonctionnalité API et SDK, et si un modèle push convient mieux que le sondage, les webhooks Elido couvrent le côté sortant. Vous pesez plutôt des outils hébergés ? Lisez aussi la marche à suivre Zapier.

Lisez le pilier → Démarrage rapide API et SDK du raccourcisseur d'URL

À lire aussi sur le blog

Questions fréquentes

n8n a-t-il un nœud raccourcisseur d'URL intégré ?

Non. n8n ne livre aucun raccourcisseur propre, donc vous appelez l'API REST d'un raccourcisseur depuis le nœud HTTP Request intégré ou installez un nœud communautaire. Pour Elido, le nœud HTTP Request est la voie qui fonctionne sur chaque édition de n8n aujourd'hui, et le paquet n8n-nodes-elido, publié sur npm, est l'option typée pour les instances auto-hébergées.

Puis-je installer le nœud communautaire Elido sur n8n Cloud ?

Non. n8n Cloud ne propose que des nœuds communautaires vérifiés, et n8n-nodes-elido n'est pas sur la liste vérifiée, donc il nécessite une instance auto-hébergée. Sur Cloud, utilisez le nœud HTTP Request avec un identifiant Header Auth, qui atteint la même API Elido.

Comment raccourcir une URL dans n8n sans nœud communautaire ?

Ajoutez un nœud HTTP Request, définissez la méthode sur POST et l'URL sur https://api.elido.app/v1/workspaces/{workspace_id}/links, attachez un identifiant Header Auth portant votre jeton Bearer, et envoyez un corps JSON avec domain_id et destination_url. La réponse renvoie le slug du nouveau lien et un short_url prêt à l'emploi.

Où trouver le domain_id pour un lien court Elido ?

Appelez GET /v1/workspaces/{workspace_id}/domains avec le même identifiant. Chaque élément de la réponse a un id et un hostname, donc choisissez le domaine sur lequel vous voulez que les liens vivent et codez en dur son id dans l'appel de création. Gardez aussi le hostname si vous construisez un jour une URL courte à la main, même si les réponses contiennent déjà short_url.

Pourquoi l'API Elido renvoie-t-elle 401 ou 403 dans n8n ?

Une erreur 401 signifie que le jeton est manquant, mal saisi ou révoqué, donc recréez-le sous Paramètres, Jetons API et collez-le à nouveau dans l'identifiant Header Auth. Une erreur 403 signifie que le jeton est valide mais manque de permission dans cet espace de travail, ce qui pointe généralement vers le mauvais ID d'espace de travail dans l'URL plutôt qu'un mauvais jeton.

n8n peut-il créer des slugs personnalisés ou des liens courts expirants ?

Oui. Ajoutez un champ slug au corps de création pour une arrière-moitié vanity sur les plans Starter et au-dessus, ou laissez-le de côté et Elido en génère un. Pour l'expiration, ajoutez un horodatage expires_at au même corps de création, ou envoyez PATCH vers l'URL d'un lien existant avec cet horodatage.

Essayer Elido

Collez une URL, obtenez un lien court

Sans inscription. Lien actif 30 jours. Inscrivez-vous pour le garder pour toujours.

Gratuit, sans inscription · 2 par jour

Essayer Elido

Raccourcisseur d'URL hébergé en UE : domaines personnalisés, analyses approfondies et API ouverte. Forfait gratuit - sans carte bancaire.

Tags
n8n url shortener
n8n short link
n8n community node
workflow automation
http request node
self-hosted n8n

Lire la suite