Terminez d'abord "Leçon 1 : Introduction à n8n et à la mentalité d'intégration" pour débloquer cette leçon.Aller à la leçon précédente

Introduction

Le nœud HTTP Request est le couteau suisse de n8n. Lorsqu'aucune integration intégrée n'existe pour le service dont vous avez besoin, ce nœud vous permet d'appeler directement n'importe quelle API REST — GET, POST, PUT, PATCH, DELETE, tout y passe. Une fois la réponse reçue, n8n vous fournit le payload JSON complet, et vous utilisez des expressions pour extraire précisément les champs qui vous intéressent.

Cette leçon passe en revue le cycle complet : configurer le nœud, lancer la requête, lire la structure de la réponse, et raccorder des valeurs spécifiques à l'étape suivante de votre workflow.

Configurer le nœud HTTP Request

Ajoutez un nœud HTTP Request à votre canvas, puis renseignez d'abord trois éléments : la méthode HTTP, l'URL et l'authentification (si l'API l'exige).

Pour un endpoint public ne nécessitant aucune authentification, un GET minimal ressemble à ceci dans le champ d'expression de n8n pour l'URL :

javascript
https://api.open-meteo.com/v1/forecast?latitude=51.5&longitude=-0.1&current_weather=true

Pour une API nécessitant une clé, rendez-vous dans la section Authentication, choisissez Header Auth, puis définissez le nom de l'en-tête (généralement Authorization) et sa valeur (généralement Bearer YOUR_TOKEN). Vous pouvez stocker le token dans une Credential n8n afin qu'il ne soit jamais codé en dur dans le nœud.

Lorsque vous devez envoyer un corps JSON — pour une requête POST créant une ressource — réglez le Body Content Type sur JSON et saisissez le payload dans le champ Body :

json
{
"name": "{{ $json.customerName }}",
"email": "{{ $json.customerEmail }}"
}

La syntaxe à double accolades est le moteur d'expressions de n8n, qui récupère les valeurs depuis la sortie du nœud précédent au moment de l'exécution.

diagramme montrant les étapes de configuration du nœud HTTP Request : Method → URL → Authentication → Body → Execute

Lire la structure de la réponse

Après avoir cliqué sur Execute Node, n8n affiche la réponse dans le panneau de sortie (Output) à droite. Chaque réponse expose trois éléments : le code de statut, les en-têtes et le corps (body). Par défaut, n8n analyse automatiquement un corps JSON et le renvoie sous forme de données structurées que vous pouvez parcourir.

Supposons que l'API Open-Meteo renvoie ceci :

json
{
"latitude": 51.5,
"longitude": -0.1,
"current_weather": {
"temperature": 14.2,
"windspeed": 11.3,
"weathercode": 3
}
}

Dans le panneau de sortie, vous pouvez cliquer à travers l'arborescence pour voir chaque champ imbriqué. Cette étape d'exploration est importante — faites-le avant d'écrire la moindre expression, afin de connaître le chemin exact de la clé.

Si l'API renvoie une réponse non-JSON (texte brut, XML), activez l'option Return Full Response et passez le Response Format sur Text, puis gérez le parsing manuellement dans un nœud Code en aval.

Extraire des données avec des expressions

Une fois la structure connue, vous référencez les champs en utilisant la syntaxe d'expression de n8n dans n'importe quel nœud en aval. La racine de la sortie du HTTP Request est toujours accessible via le nom du nœud.

Pour récupérer la température de l'exemple ci-dessus dans le nœud suivant :

javascript
{{ $node["HTTP Request"].json["current_weather"]["temperature"] }}

Ou, si vous vous trouvez dans le nœud placé immédiatement après (le nœud précédent implicite), utilisez la forme abrégée :

javascript
{{ $json["current_weather"]["temperature"] }}

Lorsque l'API renvoie un tableau — par exemple une liste de commandes — le corps de la réponse est lui-même le tableau, ou bien il est imbriqué sous une clé comme data. Pour le parcourir, connectez le nœud HTTP Request à un nœud Split In Batches, ou utilisez un nœud Item Lists réglé sur Split Out Items ; chaque exécution en aval reçoit alors un élément à la fois.

Voici comment vous référenceriez directement le champ id du troisième élément sans le scinder (indexation à partir de zéro) :

javascript
{{ $json["data"][2]["id"] }}
diagramme montrant l'arborescence JSON de la réponse à gauche avec des flèches pointant vers les références d'expressions à droite

Erreurs courantes

L'absence d'en-tête Content-Type est le problème le plus fréquent lors de l'envoi de données en POST. Si vous réglez le Body Content Type sur JSON, n8n ajoute l'en-tête automatiquement. Si vous basculez sur Raw, ajoutez l'en-tête manuellement : Content-Type avec la valeur application/json.

Une autre erreur fréquente consiste à essayer de référencer un champ situé un niveau plus bas que prévu. Utilisez toujours le panneau de sortie pour vérifier le chemin exact avant d'écrire vos expressions — les hypothèses sur la forme des réponses API sont plus souvent fausses qu'autre.

La limitation de débit (rate limiting) constitue le troisième problème. Si votre workflow s'exécute fréquemment contre la même API, ajoutez un nœud Wait entre les itérations et consultez la documentation de l'API pour connaître les en-têtes de rate limit (Retry-After, X-RateLimit-Remaining). n8n ne gère pas la limitation de débit automatiquement.

Résumé

Le nœud HTTP Request repose sur trois gestes : définir la méthode et l'URL, s'authentifier si nécessaire, et envoyer un corps optionnel. Après l'exécution, utilisez le panneau de sortie pour explorer l'arborescence de la réponse, puis référencez des champs spécifiques dans les nœuds en aval à l'aide d'expressions utilisant la forme abrégée $json ou $node["NodeName"].json pour un accès inter-nœuds. Pour les réponses sous forme de tableau, scindez les éléments avant de les traiter individuellement. Une fois ce cycle maîtrisé, vous pouvez vous intégrer à pratiquement n'importe quelle API REST dans n8n.

Entraînement

Point de contrôle de la leçon

Révisez la leçon et recevez des conseils sur votre travail.

0/7
01Quelle est la forme abrégée correcte pour accéder à un champ nommé « status » depuis la réponse JSON du nœud HTTP Request immédiatement précédent ?
02Lors de l'envoi d'une requête POST avec un corps JSON dans le nœud HTTP Request de n8n, quel paramètre doit être configuré pour que n8n inclue automatiquement le bon en-tête Content-Type ?
03Vous recevez une réponse d'API dont les données sont imbriquées comme response.orders[0].id. Quelle expression récupère correctement cette valeur dans un nœud en aval ?
04Une API renvoie une liste de 50 produits dans un tableau JSON sous la clé « items ». Vous souhaitez traiter chaque produit séparément dans des nœuds en aval. Quelle est l'approche recommandée dans n8n ?
05Quel est le meilleur endroit pour explorer le chemin exact des clés d'une réponse API avant d'écrire les expressions qui s'y réfèrent ?
06Vous souhaitez transmettre un token API stocké dans une Credential n8n en tant que Bearer token. Quelle approche d'authentification dans le nœud HTTP Request est prévue à cet effet ?
07n8n gère automatiquement la limitation de débit (rate limiting) d'une API lorsque vous exécutez un workflow qui appelle le même endpoint à intervalles rapprochés.
Répondu · 0/7