El nodo HTTP Request es posiblemente el nodo más potente en n8n. Te permite conectarte a cualquier REST API existente, no solo a los servicios con nodos dedicados. Si el servicio tiene una API HTTP (y todos la tienen), puedes integrarlo con n8n usando este nodo.
En esta guía profundizamos en cada aspecto: métodos, encabezados, estrategias de autenticación, manejo de paginación, gestión de errores y ejemplos del mundo real con las APIs de OpenAI, Stripe y GitHub.
Describe tu integración de API en lenguaje sencillo en Scriflow y obtén un JSON de flujo de trabajo de n8n completo con el nodo HTTP Request preconfigurado.
Descripción General del Nodo HTTP Request
El nodo HTTP Request se encuentra en la sección Core de la biblioteca de nodos de n8n. Maneja todos los verbos HTTP estándar y admite prácticamente todos los esquemas de autenticación utilizados por las APIs modernas.
Configuración Básica del Nodo
Cada nodo HTTP Request necesita como mínimo un Método y una URL. Aquí te mostramos cómo configurar una solicitud GET básica:
Configuración de Encabezados
La mayoría de las APIs requieren encabezados específicos. Puedes agregarlos en la sección Headers del nodo. Los encabezados comunes incluyen:
Enviando un Cuerpo de Solicitud
Para las solicitudes POST/PUT/PATCH, configura el cuerpo en la sección Body. Establece Content Type a JSON y proporciona la carga útil:
Métodos de Autenticación
Aquí es donde la mayoría de los flujos de trabajo viven o mueren. El nodo HTTP Request admite todos los patrones de autenticación principales:
| Método de Autenticación | Encabezado Enviado | Mejor Para |
|---|---|---|
| API Key (Header) | X-API-Key: your_key | Herramientas internas, muchas APIs SaaS |
| API Key (Query Param) | ?api_key=your_key | APIs heredadas, APIs de mapas |
| Bearer Token | Authorization: Bearer token | JWTs, la mayoría de las APIs REST modernas |
| Basic Auth | Authorization: Basic base64(u:p) | GitHub PAT, Jira, servicios más antiguos |
| OAuth2 | Authorization: Bearer access_token | Google, Salesforce, HubSpot |
| Digest Auth | WWW-Authenticate handshake | Sistemas empresariales heredados |
Autenticación con Clave API
La opción más sencilla. Selecciona Predefined Credential Type → HTTP Header Auth o usa Generic Auth para inyectar la clave manualmente:
Autenticación con Token Bearer
Autenticación OAuth2
Para OAuth2, crea primero una credencial dedicada en la sección Credentials de n8n. El nodo actualizará automáticamente los tokens antes de que caduquen, una gran ventaja sobre la gestión manual de tokens.
Siempre almacena las claves API como credenciales de n8n, nunca las codifiques directamente en los parámetros del nodo. Las credenciales se cifran en reposo y se pueden compartir entre flujos de trabajo sin exponer el valor sin procesar.
Manejo de Respuestas JSON
De forma predeterminada, n8n analiza automáticamente las respuestas JSON. Los datos de la respuesta están disponibles en el siguiente nodo como $json. Para objetos anidados, usa la notación de puntos en las expresiones:
Trabajando con Arrays en las Respuestas
Cuando una API devuelve un array de elementos, habilita Split Into Items en la configuración de salida del nodo. Esto convierte el array en elementos individuales de n8n, lo que permite que los nodos posteriores procesen cada uno de forma independiente:
Paginación con Dividir en Lotes
Las APIs a menudo devuelven resultados paginados. n8n maneja esto elegantemente usando un patrón de bucle con Split In Batches:
Patrón de Paginación Basado en Cursor
- Establece un valor inicial de
pageocursorusando un nodo Set. - Realiza la solicitud HTTP con el parámetro de página actual.
- Usa un nodo IF para verificar si
next_cursorexiste en la respuesta. - Si es así, actualiza el cursor con un nodo Set y vuelve al paso 2.
- Si no, continúa con el procesamiento posterior.
Al paginar a través de grandes conjuntos de datos, agrega un nodo Wait (por ejemplo, 500 ms) entre las solicitudes para evitar alcanzar los límites de velocidad. La mayoría de las APIs limitan a 100–1000 solicitudes/minuto.
Manejo de Errores
De forma predeterminada, si una API devuelve un código de estado 4xx o 5xx, n8n lanza un error y detiene el flujo de trabajo. Tienes dos estrategias para manejar esto con elegancia:
Estrategia 1: Continuar en Caso de Error
En la configuración del nodo, habilita Continue on Error. El nodo genera los detalles del error como un elemento normal, lo que te permite enrutar los errores de manera diferente:
Estrategia 2: Reintentar en Caso de Fallo
Habilita Retry on Fail para reintentar automáticamente las solicitudes fallidas. Configura el número máximo de reintentos (2–3) y espera entre reintentos (1000 ms+). Esto es ideal para manejar errores transitorios 429 (Límite de velocidad alcanzado) o 503 (Servicio no disponible).
Usando Expresiones en la URL y el Cuerpo
Las expresiones hacen que el nodo HTTP Request sea dinámico. Aquí están los patrones más útiles:
Ejemplos de API del Mundo Real
Ejemplo 1: Finalizaciones de Chat de OpenAI
Ejemplo 2: Crear Cliente de Stripe
Ejemplo 3: Crear Incidencia en GitHub
Consejos para la Depuración
- Usa el botón de ejecución de prueba: Ejecuta el nodo individualmente para inspeccionar la solicitud y la respuesta sin procesar sin activar todo el flujo de trabajo.
- Verifica el panel de entrada: Verifica que las expresiones se resuelvan a los valores correctos antes de que se active la solicitud.
- Habilita "Respuesta Completa": En la configuración del nodo, habilita esta opción para acceder a los códigos de estado, los encabezados y el cuerpo completo, lo cual es crucial para depurar errores 4xx.
- Registra en un nodo de Código: Agrega temporalmente un nodo de Código después de la solicitud HTTP a
console.log($input.all())e inspecciona la salida sin procesar. - Prueba con una API Mock: Usa servicios como httpbin.org para probar el formato de tu solicitud antes de acceder a la API real.
Preguntas Frecuentes
{{ $binary.data }}.