Nodo http in
El nodo http in
se utiliza para crear puntos finales HTTP que pueden manejar solicitudes HTTP entrantes (GET, POST, PUT y otros). Este nodo es el punto de entrada para interactuar con sistemas externos a través del protocolo HTTP.
Importante: Todos los caminos especificados reciben automáticamente el prefijo: /api/admin/workflows/endpoints/
.
Configuraciones del nodo http in
1. Nombre
Campo para especificar el nombre del nodo.
El nombre se muestra en el área de trabajo y ayuda a identificar fácilmente el nodo.
Si se deja vacío, el nodo se llamará http in
.
Ejemplo:
- Nombre del nodo:
get payment link
2. Método
Método HTTP que el nodo manejará. Las siguientes opciones están disponibles:
- GET: Se utiliza para obtener datos.
- POST: Se utiliza para enviar datos.
- PUT: Se utiliza para actualizar datos.
- DELETE: Se utiliza para eliminar datos.
- PATCH: Se utiliza para actualizar datos parcialmente.
- OPTIONS: Se utiliza para solicitudes de obtención de metainformación sobre la API.
3. Enlace
Especifica la ruta (endpoint) para manejar las solicitudes.
- La ruta comienza con
/
. - Puede incluir variables de ruta, por ejemplo:
/data/:id
.
Ejemplo:
- Enlace:
/get-payment-link
- Enlace con parámetro:
/get-payment-link/:orderId
Formato del mensaje de entrada
Cuando una solicitud llega a la ruta especificada con el método seleccionado, el nodo http in
crea un mensaje msg
con las siguientes propiedades:
msg.req
: Contiene el objeto de la solicitud HTTP, incluyendo encabezados, parámetros, cuerpo y otros datos.msg.req.params
: Parámetros de la ruta (por ejemplo,:id
en/api/data/:id
).msg.req.query
: Parámetros GET de la solicitud.msg.req.body
: Cuerpo de la solicitud (para métodos POST, PUT y PATCH).
msg.res
: Objeto para gestionar la respuesta HTTP. Normalmente se pasa al nodohttp response
para enviar la respuesta al cliente.
Ejemplo de uso
Ejemplo 1: Manejo de una solicitud GET
Escenario: Devolver datos sobre la temperatura.
Configuraciones del nodo:
- Método:
GET
- Enlace:
/temperature
Flujo:
[http in] ---> [function] ---> [http response]
Código del nodo function
:
msg.payload = { temperature: 22.5, unit: "Celsius" };
return msg;
Resultado: El cliente que envió la solicitud GET a /api/admin/workflows/endpoints/temperature
recibirá una respuesta JSON:
{
"temperature": 22.5,
"unit": "Celsius"
}
Ejemplo 2: Manejo de una solicitud POST
Escenario: Recepción y almacenamiento de datos desde un dispositivo.
Configuraciones del nodo:
- Método:
POST
- Enlace:
/data
Flujo:
[http in] ---> [function] ---> [http response]
Código del nodo function
:
// Lectura de datos del cuerpo de la solicitud
const data = msg.req.body;
msg.payload = { status: "success", receivedData: data };
return msg;
Resultado: El nodo recibirá datos del cuerpo de la solicitud POST y devolverá una respuesta de confirmación.
Ejemplo 3: Uso de parámetros de ruta
Escenario: Obtener datos por el identificador del dispositivo.
Configuraciones del nodo:
- Método:
GET
- Enlace:
/device/:id
Flujo:
[http in] ---> [function] ---> [http response]
Código del nodo function
:
const deviceId = msg.req.params.id;
msg.payload = { deviceId: deviceId, status: "active" };
return msg;
Resultado:
{
"deviceId": "123",
"status": "active"
}