Aller au contenu principal

Nœud http request

Le nœud http request exécute des requêtes HTTP vers des services web externes ou des API. Il prend en charge plusieurs méthodes HTTP, différents modes de transmission des données et l'authentification, et permet de gérer finement les requêtes et les réponses.


Paramètres du nœud http request​

Fenêtre « Node Information » du nœud http request « paypal auth » : méthode « POST », adresse du jeton PayPal sandbox, « Object JSON », « Use Authentication » activé avec le type « basic »

1. Name​

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

Exemple :

  • Nom du nœud : Get Weather Data

2. Method​

Méthode HTTP utilisée pour la requête. Choisissez-la en fonction de l'opération à effectuer.

Méthodes disponibles :

  • GET : récupérer des données.
  • POST : envoyer des données.
  • PUT : mettre à jour des données.
  • DELETE : supprimer des données.
  • HEAD : récupérer les en-têtes de la réponse.

Exemple :

  • Method : POST

URL statique à laquelle la requête est envoyée.
Pour définir l'adresse dynamiquement, transmettez-la dans msg.url.

Exemple :

  • Link : https://api.example.com/data

4. Data​

Détermine comment les données d'entrée sont ajoutées à la requête HTTP. Options disponibles :

  1. Ignore (par défaut) :
    Les données d'entrée ne sont pas utilisées dans la requête. Si msg.payload existe, il est ignoré.

    Exemple :
    Si msg.payload contient un objet JSON, celui-ci n'est pas inclus dans la requête.


  1. Add to query parameters:
    Les données de msg.payload sont converties en paramètres de chaîne de requête (Query Parameters) et ajoutées à l'URL.

    Exemple :
    Si msg.payload contient :

    {
    "key1": "value1",
    "key2": "value2"
    }

    et que Link vaut http://example.com/api, la requête finale est :
    GET http://example.com/api?key1=value1&key2=value2.


  1. Send as request body:
    Les données de msg.payload sont envoyées dans le corps de la requête. Cette option convient aux méthodes POST et PUT, qui transmettent souvent les données dans le corps.

    Exemple :
    Si msg.payload contient :

    {
    "name": "John Doe",
    "email": "john.doe@example.com"
    }

    et que la méthode de la requête est POST, les données sont envoyées dans le corps de la requête avec le contenu correspondant.

5. Return​

Détermine le format dans lequel le nœud traite la réponse du serveur.

Options :

  • String : la réponse est convertie en chaîne (par défaut).
  • Object JSON : si le serveur répond en JSON, la réponse est automatiquement convertie en objet JavaScript.
  • Binary Buffer : la réponse est renvoyée sous forme de tampon binaire (utile pour les données binaires, comme les images ou les fichiers).

Exemple :

  • Si Object JSON est sélectionné, la réponse :
    {"status": "ok", "value": 42}
    est convertie en :
    msg.payload = { status: "ok", value: 42 };

6. Use Authentication​

Cette case active l'authentification intégrée (désactivée par défaut). Lorsqu'elle est cochée, le formulaire affiche le champ Type, qui indique la méthode d'authentification (basic par défaut) :

basic​

  • Username : nom d'utilisateur.
  • Password : mot de passe.

bearer​

  • Password : jeton d'accès.

digest​

  • Username : nom d'utilisateur.
  • Password : mot de passe.

Données d'entrée​

Le nœud http request reçoit un objet message msg avec les paramètres suivants :

  1. msg.url : URL de la requête (si elle n'est pas indiquée dans les paramètres du nœud).
  2. msg.method : méthode HTTP (si elle n'est pas définie dans les paramètres du nœud).
  3. msg.payload : corps de la requête (utilisé pour les méthodes POST et PUT).
  4. msg.headers : en-têtes de la requête HTTP (objet).

Données de sortie​

Le nœud renvoie un objet msg contenant des informations sur la requête exécutée :

  1. msg.payload : données de la réponse du serveur.
  2. msg.statusCode : code de statut HTTP de la réponse (par exemple, 200 ou 404).
  3. msg.headers : en-têtes de la réponse.
  4. msg.responseUrl : URL à laquelle la requête a été envoyée.
  5. msg.error : description de l'erreur (si la requête a échoué).

Exemples d'utilisation​

Exemple 1 : exécuter une requête GET​

Paramètres du nœud :

  • Method : GET
  • Link : https://api.weatherapi.com/v1/current.json?key=API_KEY&q=London

Flux :

[inject] ---> [http request] ---> [debug]

Résultat : le nœud renvoie un JSON avec la météo actuelle.


Exemple 2 : envoyer des données avec POST​

Paramètres du nœud :

  • Method : POST
  • Link : https://api.example.com/devices
  • Data : Send as request body

Flux :

[function] ---> [http request] ---> [debug]

Code du nœud function :

msg.payload = {
deviceId: "sensor123",
status: "active"
};
msg.headers = { "Content-Type": "application/json" };
return msg;

Résultat : les données sont envoyées et le nœud renvoie la réponse du serveur.


Exemple 3 : URL dynamique et authentification​

Paramètres du nœud :

  • Link : (laisser vide)

Flux :

[function] ---> [http request] ---> [debug]

Code du nœud function :

msg.url = "https://api.example.com/user/123";
msg.headers = { Authorization: "Bearer YOUR_TOKEN" };
return msg;

Résultat : le nœud envoie la requête à l'URL indiquée avec le jeton d'authentification.