Nodo http request
El nodo http request está diseñado para realizar solicitudes HTTP a servicios web externos o APIs. Soporta múltiples métodos HTTP, tipos de datos, autenticación y gestión flexible de solicitudes y respuestas.
Configuraciones para el nodo http request

1. Nombre
Un campo para especificar el nombre del nodo.
El nombre se muestra en el espacio de trabajo y ayuda a identificar fácilmente el nodo.
Si se deja vacío, el nodo se llamará http request.
Ejemplo:
- Nombre del nodo:
Obtener Datos del Clima
2. Método
El método HTTP que se utilizará para la solicitud. La elección del método depende del tipo de operación que se necesita realizar.
Métodos disponibles:
GET: Recuperar datos.POST: Enviar datos.PUT: Actualizar datos.DELETE: Eliminar datos.PATCH: Actualizar datos parcialmente.HEAD: Recuperar encabezados de respuesta.OPTIONS: Obtener información sobre la API.
Ejemplo:
- Método:
POST
3. Enlace
Un campo para especificar una URL estática a la que se enviará la solicitud.
Si la dirección necesita establecerse dinámicamente, se puede pasar en msg.url.
Ejemplo:
- Enlace:
https://api.ejemplo.com/datos
4. Datos
Define cómo se agregarán los datos de entrada a la solicitud HTTP. Las siguientes opciones están disponibles:
-
Ignorar:
Los datos de entrada no se utilizarán en la solicitud. Elmsg.payload, si existe, será ignorado.Ejemplo:
Simsg.payloadcontiene un objeto JSON, no se incluirá en la solicitud.
-
Agregar a parámetros de consulta:
Los datos demsg.payloadse convertirán en parámetros de consulta y se agregarán a la URL.Ejemplo:
Simsg.payloadcontiene:{
"key1": "value1",
"key2": "value2"
}Si el Enlace se especifica como
http://ejemplo.com/api, la solicitud final será:
GET http://ejemplo.com/api?key1=value1&key2=value2.
-
Enviar como cuerpo de la solicitud:
Los datos demsg.payloadse enviarán en el cuerpo de la solicitud. Esta opción es adecuada para métodos comoPOST,PUTyPATCH, donde los datos a menudo se envían en el cuerpo.Ejemplo:
Simsg.payloadcontiene:{
"name": "John Doe",
"email": "john.doe@example.com"
}Si el método de solicitud es
POST, los datos se enviarán en el cuerpo de la solicitud con el contenido apropiado.
5. Retorno
Define el formato en el que el nodo procesará la respuesta del servidor.
Opciones:
- Cadena UTF-8: La respuesta se convierte en una cadena (predeterminado).
- Buffer: La respuesta se devuelve como un objeto
Buffer(útil para datos binarios como imágenes o archivos). - JSON: Si la respuesta del servidor está en formato JSON, se convierte automáticamente en un objeto de JavaScript.
Ejemplo:
- Si se selecciona
JSON, la respuesta:se convierte en:{"status": "ok", "value": 42}msg.payload = { status: "ok", value: 42 };
6. Autenticación
El nodo soporta mecanismos de autenticación integrados.
Autenticación Básica
- Nombre de usuario: Nombre de usuario.
- Contraseña: Contraseña.
Token Bearer
- Token: Token de acceso.
Digest
- Nombre de usuario: Nombre de usuario.
- Contraseña: Contraseña.
Datos de Entrada
El nodo http request acepta un objeto de mensaje msg con los siguientes parámetros:
- msg.url: URL para la solicitud (si no se especifica en la configuración del nodo).
- msg.method: Método HTTP (si no se establece en la configuración del nodo).
- msg.payload: Cuerpo de la solicitud (utilizado para métodos
POST,PUT,PATCH). - msg.headers: Encabezados de la solicitud HTTP (objeto).
Datos de Salida
El nodo devuelve un objeto msg con información sobre la solicitud ejecutada:
- msg.payload: Datos de respuesta del servidor.
- msg.statusCode: Código de estado HTTP de la respuesta (por ejemplo,
200o404). - msg.headers: Encabezados de respuesta.
- msg.responseUrl: URL a la que se realizó la solicitud.
- msg.error: Descripción del error (si la solicitud falló).
Ejemplos de Uso
Ejemplo 1: Realizando una solicitud GET
Configuraciones del nodo:
- Método:
GET - URL:
https://api.weatherapi.com/v1/current.json?key=API_KEY&q=London
Flujo:
[inject] ---> [http request] ---> [debug]
Resultado: El nodo devolverá JSON con el clima actual.
Ejemplo 2: Enviando datos a través de POST
Configuraciones del nodo:
- Método:
POST - URL:
https://api.ejemplo.com/dispositivos - Datos:
JSON
Flujo:
[function] ---> [http request] ---> [debug]
Código en el nodo function:
msg.payload = {
deviceId: "sensor123",
status: "activo"
};
msg.headers = { "Content-Type": "application/json" };
return msg;
Resultado: Los datos se enviarán y el nodo devolverá la respuesta del servidor.
Ejemplo 3: URL dinámica y autenticación
Configuraciones del nodo:
- URL: (dejar vacío)
Flujo:
[function] ---> [http request] ---> [debug]
Código en el nodo function:
msg.url = "https://api.ejemplo.com/usuario/123";
msg.headers = { Authorization: "Bearer TU_TOKEN" };
return msg;
Resultado: El nodo realizará una solicitud a la URL especificada con el token de autenticación.