Nodos HTTP Request: Integración con APIs
El nodo HTTP Request es fundamental para la integración de n8n con sistemas externos. Permite interactuar directamente con APIs REST, enviando y recibiendo datos. Esta lección explica su configuración y uso para consumir servicios web.

Propósito del nodo HTTP Request
El nodo HTTP Request simula una solicitud HTTP desde un cliente web (como un navegador o una aplicación) hacia un servidor. Es la herramienta principal en n8n para comunicarse con APIs externas, servicios web, microservicios o cualquier recurso accesible mediante HTTP/HTTPS. Su flexibilidad permite implementar desde llamadas simples GET hasta interacciones complejas con autenticación y manejo de datos.
Configuración básica de una solicitud GET
Para configurar una solicitud HTTP, se deben especificar los siguientes parámetros:
- URL: La dirección del recurso al que se desea acceder. Por ejemplo,
https://jsonplaceholder.typicode.com/posts/1. - Method: El verbo HTTP que define la acción a realizar. Los más comunes son GET (obtener datos), POST (enviar datos para crear un recurso), PUT (actualizar un recurso completo) y PATCH (actualizar parcialmente un recurso), DELETE (eliminar un recurso).
- Headers: Encabezados HTTP que proporcionan información adicional sobre la solicitud o el cliente. Por ejemplo,
Content-Type: application/jsonpara indicar que el cuerpo de la solicitud es JSON. - Query Parameters: Pares clave-valor que se añaden a la URL después del signo de interrogación (
?) para filtrar o especificar la solicitud. Por ejemplo,?userId=1. - Body: El cuerpo de la solicitud, utilizado principalmente en métodos POST, PUT y PATCH para enviar datos al servidor. Comúnmente en formato JSON o FormData.
Para ilustrar, utilizaremos la API pública JSONPlaceholder. Esta API es un fake API para pruebas y prototipos, ofreciendo recursos REST como posts, comentarios, álbumes, fotos y usuarios.
Ejemplo práctico: Obtener un post específico.
- Arrastre un nodo 'HTTP Request' al canvas.
- En el campo 'URL', ingrese
https://jsonplaceholder.typicode.com/posts/1. - Verifique que 'Method' esté configurado como 'GET'.
- Ejecute el nodo. La salida mostrará un objeto JSON con los detalles del post con ID 1.
[
{
"userId": 1,
"id": 1,
"title": "sunt aut facere repellat provident occaecati excepturi optio reprehenderit",
"body": "quia et suscipit\nsuscipit recusandae consequuntur expedita et cum\nreprehenderit molestiae ut ut quas totam\nnostrum rerum est autem sunt rem eveniet architecto"
}
]Manejo de la respuesta y errores
Tras una solicitud HTTP, n8n recibe una respuesta. Esta respuesta contiene el código de estado HTTP (ej. 200 OK, 404 Not Found, 500 Internal Server Error), los encabezados de respuesta y el cuerpo de la respuesta. El nodo HTTP Request procesa automáticamente las respuestas JSON, convirtiéndolas en objetos que pueden ser manipulados por nodos posteriores.
En caso de errores (códigos de estado 4xx o 5xx), el nodo HTTP Request por defecto detendrá la ejecución del workflow y marcará la rama como fallida. Esto es un comportamiento deseable para evitar procesar datos inconsistentes. Sin embargo, este comportamiento se puede modificar en la sección 'Response' del nodo, habilitando 'Always Output Data' para que el nodo siempre devuelva una salida, incluso si la solicitud falla. Esto es útil cuando se necesita implementar lógica de manejo de errores personalizada, por ejemplo, para reintentar la solicitud o notificar un error específico.
Siempre considere los posibles códigos de respuesta de una API. Diseñe su workflow para manejar tanto respuestas exitosas (2xx) como errores (4xx, 5xx) de manera explícita. No asuma que todas las solicitudes serán exitosas.
Autenticación en solicitudes HTTP
Muchas APIs requieren autenticación para acceder a sus recursos. El nodo HTTP Request soporta varios métodos de autenticación, que se configuran a través de las credenciales de n8n vistas en la lección anterior. Los tipos de autenticación más comunes son:
- Basic Auth: Envía un nombre de usuario y contraseña codificados en Base64 en el encabezado
Authorization. - Bearer Token (OAuth2): Envía un token de acceso en el encabezado
Authorization(ej.Bearer <token>). - API Key: Envía una clave de API, ya sea en un encabezado personalizado, como parámetro de consulta o en el cuerpo de la solicitud.
- OAuth2: n8n puede manejar flujos de OAuth2 completos para obtener y refrescar tokens de acceso.
Para usar credenciales con un nodo HTTP Request:
- Cree una credencial del tipo adecuado (ej. 'Header Auth' para un Bearer Token) en la sección 'Credentials' de n8n.
- En el nodo HTTP Request, en la sección 'Authentication', seleccione el tipo de autenticación y la credencial previamente creada.
- n8n se encargará de añadir los encabezados o parámetros necesarios a la solicitud HTTP.
Solicitudes POST y envío de datos
Cuando se necesita enviar datos a una API (ej. para crear un nuevo recurso), se utiliza el método POST. En estos casos, la información se envía en el 'Body' de la solicitud. El formato más común para el cuerpo de la solicitud es JSON.
Ejemplo práctico: Crear un nuevo post.
- Arrastre un nodo 'HTTP Request' al canvas.
- En el campo 'URL', ingrese
https://jsonplaceholder.typicode.com/posts. - Configure 'Method' como 'POST'.
- En la sección 'Body Parameters', seleccione 'Body Content Type' como 'JSON'.
- En 'JSON/Raw Parameters', ingrese el siguiente JSON:
- {'t': 'code', 'lang': 'json', 'x': '{\n "title": "foo",\n "body": "bar",\n "userId": 1\n}'}
- Ejecute el nodo. La API responderá con el objeto del nuevo post, incluyendo un ID asignado por el servidor.
Es crucial asegurarse de que el 'Content-Type' en los 'Headers' coincida con el formato del 'Body' enviado. Si se envía JSON, el encabezado Content-Type debe ser application/json. n8n lo configura automáticamente al seleccionar 'JSON' como 'Body Content Type'.
Aplicación Práctica: Consumir una API interna
El lunes, identifique una API REST interna en INT que su equipo utilice o que sea relevante para su rol. Puede ser una API de gestión de inventario, de clientes, o de un sistema de monitoreo. Su tarea es crear un workflow simple en n8n que:
- Utilice un nodo 'Start' para iniciar la ejecución.
- Añada un nodo 'HTTP Request' configurado para realizar una solicitud GET a un endpoint de esa API (ej.
/api/v1/clienteso/api/v1/dispositivos/<id>). - Si la API requiere autenticación, configure las credenciales necesarias (si no existen, cree unas de tipo 'Header Auth' o 'Basic Auth' con datos de prueba o un token genérico si la API lo permite para lectura).
- Ejecute el workflow y revise la salida del nodo HTTP Request. Verifique que la respuesta sea la esperada y que los datos estén estructurados correctamente.
Este ejercicio le permitirá familiarizarse con la integración real de n8n con sistemas de INT, aplicando los conceptos de URL, método, autenticación y procesamiento de respuestas.
There are no comments for now.