Aller au contenu principal

Node http in

Le nœud http in est utilisé pour créer des points de terminaison HTTP capables de gérer les requêtes HTTP entrantes (GET, POST, PUT, et autres). Ce nœud sert de point d'entrée pour interagir avec des systèmes externes via le protocole HTTP.

Important : Tous les chemins spécifiés reçoivent automatiquement le préfixe : /api/admin/workflows/endpoints/.


Paramètres pour le nœud http in

IMG2

1. Nom

Un champ pour spécifier le nom du nœud.
Le nom est affiché dans l'espace de travail et aide à identifier facilement le nœud.
S'il est laissé vide, le nœud sera appelé http in.

Exemple :

  • Nom du nœud : get payment link

2. Méthode

La méthode HTTP que le nœud va gérer. Les options suivantes sont disponibles :

  • GET : Utilisé pour récupérer des données.
  • POST : Utilisé pour envoyer des données.
  • PUT : Utilisé pour mettre à jour des données.
  • DELETE : Utilisé pour supprimer des données.
  • PATCH : Utilisé pour mettre à jour partiellement des données.
  • OPTIONS : Utilisé pour les requêtes afin d'obtenir des métadonnées sur l'API.

3. Lien

Spécifie le chemin (point de terminaison) pour gérer les requêtes.

  • Le chemin commence par /.
  • Il peut inclure des paramètres de route, par exemple : /data/:id.

Exemple :

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

Format du message entrant

Lorsqu'une requête est reçue au chemin spécifié avec la méthode sélectionnée, le nœud http in crée un message msg avec les propriétés suivantes :

  • msg.req : Contient l'objet de requête HTTP, y compris 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 de requête GET.
    • msg.req.body : Le corps de la requête (pour les méthodes POST, PUT et PATCH).
  • msg.res : Un objet pour gérer la réponse HTTP. Il est généralement passé au nœud http response pour renvoyer une réponse au client.


Exemples d'utilisation

Exemple 1 : Gestion d'une requête GET

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

Paramètres du nœud :

  • Méthode : GET
  • Lien : /temperature

Flux :

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

Code pour le nœud function :

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

Résultat : Le client qui envoie une requête GET à /api/admin/workflows/endpoints/temperature recevra une réponse JSON :

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

Exemple 2 : Gestion d'une requête POST

Scénario : Recevoir et enregistrer des données d'un appareil.

Paramètres du nœud :

  • Méthode : POST
  • Lien : /data

Flux :

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

Code pour le nœud function :

// Lecture des 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 acceptera les données du corps de la requête POST et renverra une réponse de confirmation.


Exemple 3 : Utilisation de paramètres de route

Scénario : Récupérer des données par ID d'appareil.

Paramètres du nœud :

  • Méthode : GET
  • Lien : /device/:id

Flux :

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

Code pour le nœud function :

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

Résultat :

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