Aller au contenu principal

Nœud http in

Le nœud http in crée des points de terminaison HTTP qui traitent les requêtes HTTP entrantes (GET, POST, PUT, etc.). C'est le point d'entrée pour échanger avec des systèmes externes via HTTP.

Important : tous les chemins définis reçoivent automatiquement le préfixe /api/admin/workflows/endpoints/.


Paramètres du nœud http in​

Fenêtre « Node Information » du nœud « http in » : méthode « POST », chemin /get-payment-link dans le champ « Link »

1. Name​

Nom du nœud.
Il s'affiche dans l'espace de travail et permet d'identifier le nœud.
Si vous le laissez vide, le nœud s'appelle http in.

Exemple :

  • Nom du nœud : get payment link

2. Method​

Méthode HTTP que le nœud traite. Options disponibles :

  • GET : récupérer des données.
  • POST : envoyer des données.
  • PUT : mettre à jour des données.
  • DELETE : supprimer des données.
  • PATCH : mettre à jour partiellement des données.
  • OPTIONS : obtenir des métadonnées sur l'API.

Chemin (point de terminaison) sur lequel les requêtes sont traitées.

  • Le chemin commence par /.
  • Il peut contenir des variables de route, par exemple /data/:id.

Exemple :

  • Link : /get-payment-link
  • Link avec paramètre : /get-payment-link/:orderId

4. Protected​

Case à cocher qui protège le point de terminaison. Cochée par défaut.

5. Output Example (JSON)​

Exemple, au format JSON, des données que le nœud transmet au reste du flux.
Cet exemple sert à construire le schéma de données du nœud suivant : ses champs apparaissent dans le bloc Input Schema de ce nœud. Si le champ est vide ou contient un JSON invalide, le schéma n'est pas transmis.


Format du message d'entrée​

Lorsqu'une requête arrive sur le chemin défini avec la méthode choisie, le nœud http in crée un message msg avec les propriétés suivantes :

  • msg.req : objet de la requête HTTP, avec les en-têtes, les paramètres, le corps et d'autres données.

    • msg.req.params : paramètres de route (par exemple, :id dans /api/data/:id).
    • msg.req.query : paramètres GET de la requête.
    • msg.req.body : corps de la requête (pour les méthodes POST, PUT et PATCH).
  • msg.res : objet qui gère la réponse HTTP. Il est généralement transmis au nœud http response, qui envoie la réponse au client.


Exemple d'utilisation​

Exemple 1 : traiter une requête GET​

Scénario : renvoyer des données de température.

Paramètres du nœud :

  • Method : GET
  • Link : /temperature

Flux :

[http in] ---> [function] ---> [http response]

Code du nœud function :

msg.payload = { temperature: 22.5, unit: "Celsius" };
return msg;

Résultat : un client qui envoie une requête GET à /api/admin/workflows/endpoints/temperature reçoit la réponse JSON suivante :

{
"temperature": 22.5,
"unit": "Celsius"
}

Exemple 2 : traiter une requête POST​

Scénario : recevoir et enregistrer les données d'un appareil.

Paramètres du nœud :

  • Method : POST
  • Link : /data

Flux :

[http in] ---> [function] ---> [http response]

Code du nœud function :

// Lire les données du corps de la requête
const data = msg.req.body;
msg.payload = { status: "success", receivedData: data };
return msg;

Résultat : le nœud reçoit les données du corps de la requête POST et renvoie une réponse de confirmation.


Exemple 3 : utiliser des paramètres de route​

Scénario : obtenir les données d'un appareil à partir de son identifiant.

Paramètres du nœud :

  • Method : GET
  • Link : /device/:id

Flux :

[http in] ---> [function] ---> [http response]

Code du nœud function :

const deviceId = msg.req.params.id;
msg.payload = { deviceId: deviceId, status: "active" };
return msg;

Résultat :

{
"deviceId": "123",
"status": "active"
}