9 min de lecturaIntegraciones

Acortador de URL en n8n: nodo HTTP Request o nodo comunitario de Elido

Construye un acortador de URL en n8n sobre la API de Elido: configuración de HTTP Request, IDs de dominio y workspace, tres workflows de enlaces cortos, reintentos y el nodo comunitario de Elido.

Marius Voß
DevRel · edge infra
Portada de estilo pixel mostrando un workflow de acortador de URL en n8n donde un nodo disparador envía una URL larga a Elido y el siguiente paso recibe un enlace corto rastreado

Para construir un acortador de URL en n8n sobre Elido hoy, usa el nodo integrado HTTP Request de n8n: POST a /v1/workspaces/{workspace_id}/links con un token Bearer, un domain_id y un destination_url, y la respuesta devuelve el slug del nuevo enlace y short_url. Esa ruta funciona igual en n8n Cloud que en autoalojado. También existe un nodo comunitario empaquetado, n8n-nodes-elido, publicado en npm (0.2.0), que envuelve la misma API en campos tipados para instancias autoalojadas.

La mayoría de las búsquedas de enlaces cortos en n8n quieren esa primera ruta. El nodo HTTP Request necesita unos cinco minutos de configuración: una credencial, dos IDs de tu workspace y un cuerpo JSON. Después de eso es solo otro nodo más.

Lo he escrito a partir de la API y el código fuente del paquete en vez de a partir del texto de marketing, porque un cuerpo de solicitud es fácil de indicar con exactitud y doloroso de adivinar. Si la propia API REST es nueva para ti, la guía rápida de la API y los SDKs cubre los tokens, los workspaces y el resto de la superficie sobre la que se asienta este artículo.

Dos formas de acortar enlaces en n8n

n8n no tiene ningún acortador integrado, así que hay dos formas de conectar Elido:

  • Nodo HTTP Request. Integrado en toda edición de n8n, llega a cada endpoint, y te permite fijar tú mismo cabeceras como Idempotency-Key. Es la ruta de referencia.
  • Nodo comunitario n8n-nodes-elido. Un nodo empaquetado de Elido con un recurso Link y cuatro operaciones (Create, Get, List, Get Analytics) más un tipo de credencial de API de Elido. Solo autoalojado.

Las recetas de Make e IFTTT tratan a n8n como una opción entre cuatro plataformas. Aquí n8n recibe el artículo completo.

Acortar una URL con el nodo HTTP Request

Empieza con un token. En Elido, abre Settings, luego API Tokens, y crea un token de acceso personal; empieza por elido_ y se muestra una sola vez. En n8n, crea una credencial Header Auth con el nombre Authorization y el valor Bearer elido_.... n8n la cifra en reposo y la mantiene fuera del JSON del workflow exportado, lo que supera pegar la cabecera en cada nodo de cada workflow y luego tener que buscarlos todos el día que el token rote. Asigna al token el rol de editor y una fecha de caducidad; nuestro desglose de los permisos de las claves de API para herramientas de enlaces explica por qué un workflow de enlaces nunca necesita permisos de administrador.

A continuación, dos números. El ID de tu workspace está en la URL del dashboard justo después de /dashboard/. Para el dominio, ejecuta un GET contra /v1/workspaces/{workspace_id}/domains desde un nodo HTTP Request desechable: cada elemento lleva un id y un hostname, y necesitas ambos.

Luego la llamada de creación en sí:

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 respuesta es el registro del enlace: id, slug, short_url, destination_url, domain_id, etiquetas y marcas de tiempo. Asigna {{ $json.short_url }} al nodo siguiente; el hostname que anotaste solo importa si construyes una URL a mano. Añade un campo slug para una segunda mitad personalizada (plan Starter y superiores), o déjalo fuera y Elido genera uno. La documentación del nodo HTTP Request de n8n cubre las opciones restantes, incluida la paginación integrada para las llamadas de listado.

Cómo el nodo HTTP Request de n8n crea un enlace corto de Elido: una credencial Header Auth con un token Bearer, un POST al endpoint de enlaces del workspace con domain_id y destination_url, y un slug de respuesta unido al hostname del dominio

El nodo comunitario de Elido para n8n autoalojado

El nodo empaquetado vende una cosa: campos tipados. Registra una credencial de API de Elido (Base URL, un API Token que es una clave de API del workspace y empieza por elido_, y Workspace ID), y la prueba de la credencial lee GET /v1/workspaces/{id}. Después hay un nodo Elido con un recurso Link. Create toma una URL de destino más slug personalizado, domain ID, título, etiquetas, expiración y un estado de redirección 301, 302 o 307 opcionales. Get obtiene un enlace por ID. List toma un límite de 1 a 100 y filtros de búsqueda, etiquetas y estado activo o deshabilitado, y emite un elemento de n8n por enlace. Get Analytics toma un ID de enlace y un informe (clics a lo largo del tiempo, o clics por país, referente, dispositivo o navegador), una fecha From y To que por defecto cubre los últimos 30 días, y un intervalo de día u hora, con un elemento por fila. Las respuestas de enlaces incluyen short_url.

Una condición aplica antes de planificar en torno a él. n8n Cloud solo acepta nodos comunitarios verificados, y este no está verificado, así que es autoalojado o nada. El paquete está en npm como versión 0.2.0:

npm view n8n-nodes-elido version

En una instancia autoalojada, un propietario o administrador puede abrir Settings, luego Community Nodes, seleccionar Install e introducir n8n-nodes-elido. En Docker, configura N8N_COMMUNITY_PACKAGES="n8n-nodes-elido" en su lugar. Todavía no hay un nodo disparador de Elido, aunque está previsto uno, así que los eventos de enlaces siguen entrando mediante el nodo Webhook de n8n. También están previstas las acciones Update y Look Up by slug. La página de ayuda de n8n autoalojado contiene los pasos de configuración. La guía de instalación de nodos comunitarios de n8n cubre las rutas de GUI, manual y variable de entorno, incluida la manual que necesitan las configuraciones en modo cola.

Tres workflows de enlaces cortos en n8n que vale la pena construir

Estos son los flujos que yo construiría primero, en orden creciente de complejidad. Cada uno usa la llamada HTTP Request de arriba más nodos estándar de n8n, así que ninguno depende del paquete comunitario.

De RSS a enlace corto a Slack. Un RSS Feed Trigger sondea el feed de tu blog. El nodo HTTP Request publica {{ $json.link }} como el destino y {{ $json.title }} como el título. Un nodo de Slack luego publica el hostname más {{ $json.slug }} en tu canal de anuncios. Son tres nodos, cero visitas al dashboard. Si quieres etiquetas UTM en esos enlaces, constrúyelas en el destino con un nodo Set primero; nuestra guía de seguimiento de UTM tiene la convención de nombres.

De una nueva fila de hoja a enlace corto y de vuelta. Un disparador de Google Sheets se activa en cada fila nueva, la llamada de creación acorta la columna url, y un segundo nodo de Sheets escribe de vuelta la URL corta terminada en la misma fila. Es una versión hecha a mano de la importación masiva desde Google Sheets, mejor cuando las filas llegan poco a poco cada día y peor cuando pegas 5.000 de golpe.

De enlace nuevo a un canal de auditoría. Pon primero el nodo Webhook de n8n y suscribe su URL de producción a link.created bajo Settings, Webhooks en Elido. Activa la opción Raw Body del nodo Webhook, porque la firma es un HMAC-SHA256 sobre timestamp.raw_body y un cuerpo JSON reserializado no coincidirá. Verifica en un nodo Code, y luego publica el slug y el destino en Slack. El formulario de webhooks del dashboard lista eventos de ciclo de vida de enlaces y de workspace, no eventos por clic (está previsto un evento click.created), así que para informes de clics yo ejecutaría en su lugar una extracción programada. El artículo sobre eventos de webhook cubre los reintentos y las cabeceras.

Un workflow de acortador de URL en n8n en tres nodos: RSS Feed Trigger pasa el enlace y el título del elemento a un nodo HTTP Request que crea el enlace de Elido, y un nodo de Slack publica el hostname más el slug devuelto

¿Cansado de pegar enlaces a mano en las mismas tres herramientas cada lunes? Abre un workspace gratuito, crea un token y conecta el flujo de RSS de arriba en aproximadamente el tiempo que tardas en leer esta sección.

Gestión de errores: reintentos, duplicados y ejecuciones fallidas

n8n da a cada nodo dos ajustes que importan aquí. Retry On Fail vuelve a ejecutar el nodo tras un error, con una espera que eliges, y On Error decide si el workflow se detiene, continúa, o enruta el fallo por una salida de error separada. Para una red de seguridad a nivel de workflow, la guía de n8n sobre gestionar errores con elegancia muestra cómo apuntar cada workflow a un único workflow de error que empieza con un Error Trigger.

Ajusta la configuración al código de estado. Un 429 o cualquier 5xx merece un reintento con una espera de unos segundos, ya que la API fija Retry-After en los límites de tasa y el nivel gratuito permite 60 solicitudes por minuto. Un 400 no va a mejorar por sí solo, y normalmente es un domain_id o destination_url que falta. Un 409 al crear significa que el slug personalizado ya está en uso, así que enrútalo por la salida de error y añade un sufijo en vez de reintentar cinco veces la misma solicitud.

Aquí está la parte que me hubiera gustado que alguien me contara. Sin una Idempotency-Key, una llamada de creación que expira después de que el servidor ya escribió el enlace se reintenta y termina en un duplicado. Por eso el ejemplo de arriba envía una construida a partir del ID de ejecución y el índice del elemento: un reintento del mismo elemento repite la respuesta original en vez de crear un segundo enlace. La guía de límites de tasa e idempotencia explica la ventana de repetición.

Nodo comunitario frente a HTTP Request: cuál usar

El nodo empaquetado y el nodo HTTP Request llegan a la misma API, así que esto es más una decisión de mantenimiento que de capacidad.

Nodo HTTP RequestNodo comunitario de Elido
Funciona en n8n CloudNo, solo autoalojado
EndpointsTodosCreate, Get, List, Get Analytics
Cabecera Idempotency-KeyLa añades túNo expuesta
ConfiguraciónCredencial Header Auth más un cuerpo JSONCampos tipados y una credencial de API de Elido
Mejor paraFlujos de producción y cualquier caso poco habitualFlujos sencillos que mantiene alguien sin perfil técnico

Mi regla general: construye sobre HTTP Request por defecto, porque funciona en toda edición de n8n y controlas cada cabecera, y recurre al nodo comunitario en una instancia autoalojada cuando alguien que no lee JSON vaya a mantener el workflow, y cuando sus cuatro operaciones cubran el trabajo. Para la lista completa de endpoints, consulta la página de la función API y SDKs, y si un modelo de empuje encaja mejor que el sondeo, los webhooks de Elido cubren el lado saliente. ¿Estás sopesando herramientas gestionadas en su lugar? Lee también el recorrido de Zapier.

Lee la referencia principal → guía rápida de la API y los SDKs del acortador de URL

Relacionado en el blog

Preguntas frecuentes

¿Tiene n8n un nodo integrado de acortador de URL?

No. n8n no incluye ningún acortador propio, así que llamas a la API REST de un acortador desde el nodo integrado HTTP Request o instalas un nodo comunitario. Para Elido, el nodo HTTP Request es la ruta que funciona en toda edición de n8n hoy, y el paquete n8n-nodes-elido, publicado en npm, es la opción tipada para instancias autoalojadas.

¿Puedo instalar el nodo comunitario de Elido en n8n Cloud?

No. n8n Cloud solo ofrece nodos comunitarios verificados, y n8n-nodes-elido no está en la lista de verificados, así que necesita una instancia autoalojada. En Cloud, usa el nodo HTTP Request con una credencial Header Auth, que llega a la misma API de Elido.

¿Cómo acorto una URL en n8n sin un nodo comunitario?

Añade un nodo HTTP Request, configura el método como POST y la URL como https://api.elido.app/v1/workspaces/{workspace_id}/links, adjunta una credencial Header Auth con tu token Bearer, y envía un cuerpo JSON con domain_id y destination_url. La respuesta devuelve el slug del nuevo enlace y un short_url ya preparado.

¿Dónde encuentro el domain_id para un enlace corto de Elido?

Llama a GET /v1/workspaces/{workspace_id}/domains con la misma credencial. Cada elemento de la respuesta tiene un id y un hostname, así que elige el dominio en el que quieres que vivan los enlaces y codifica su id directamente en la llamada de creación. Guarda también el hostname si alguna vez construyes una URL corta a mano, aunque las respuestas ya incluyen short_url.

¿Por qué la API de Elido devuelve 401 o 403 en n8n?

Un 401 significa que el token falta, está mal escrito o fue revocado, así que vuelve a crearlo en Settings, API Tokens y pégalo de nuevo en la credencial Header Auth. Un 403 significa que el token es válido pero carece de permisos en ese workspace, lo que suele apuntar a un ID de workspace equivocado en la URL más que a un token defectuoso.

¿Puede n8n crear slugs personalizados o enlaces cortos que expiran?

Sí. Añade un campo slug al cuerpo de creación para una segunda mitad personalizada en planes Starter y superiores, o déjalo fuera y Elido genera uno. Para la expiración, añade una marca de tiempo expires_at al mismo cuerpo de creación, o envía PATCH a la URL de un enlace existente con ella.

Prueba Elido

Pega una URL, obtén un enlace corto

Sin registro. El enlace vive 30 días. Crea una cuenta para conservarlo.

Gratis, sin registro · 2 por día

Prueba Elido

Acortador de URL alojado en la UE: dominios personalizados, análisis profundo y API abierta. Plan gratuito - sin tarjeta de crédito.

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

Seguir leyendo