Bonjour !
Dans les leçons précédentes, nous avons exploré en détail le nœud HTTP Request, en nous concentrant sur l'authentification sécurisée et la récupération de grands volumes de données via la pagination. Vous savez maintenant comment interroger des APIs et gérer leurs réponses de manière robuste.
Aujourd'hui, nous passons de la lecture de données à leur manipulation active. L'objectif de cette leçon est de réaliser un exercice pratique : construire un workflow qui effectue un cycle de vie complet sur une ressource via une API REST. Concrètement, vous allez :
- Créer une nouvelle ressource avec une requête
POST. - Mettre à jour cette même ressource avec une requête
PUT. - Supprimer la ressource avec une requête
DELETE.
Cette séquence est souvent appelée "CRUD" (Create, Read, Update, Delete) et constitue le cœur de nombreuses automatisations. Pour cet exercice, nous utiliserons JSONPlaceholder, une fausse API REST en ligne, parfaite pour s'entraîner sans risque.
1. Les Méthodes HTTP pour la Manipulation de Données
Si la méthode GET sert à récupérer des données, les méthodes POST, PUT, PATCH, et DELETE sont utilisées pour les modifier. Votre expérience en tant que consultant IT vous a sans doute déjà familiarisé avec ces verbes HTTP, mais un rappel dans le contexte de n8n est toujours utile.
Pour une description claire de chaque méthode, je vous invite à lire le court extrait suivant.
Noeud HTTP Request N8N : Guide Complet - Ocade Fusion
L'article d'Ocade Fusion, que nous avons déjà consulté, explique très bien le rôle de chaque méthode HTTP principale. C'est une excellente base pour notre exercice.
Lisez la section 'Comprendre les méthodes HTTP' pour revoir les définitions de POST, PUT, PATCH, et DELETE. Lisez également la question 'Quelle est la différence entre PUT et PATCH ?' dans la FAQ à la fin de l'article pour bien saisir cette nuance importante.
En résumé :
POST: Crée une nouvelle ressource.PUT: Remplace une ressource existante dans son intégralité.PATCH: Met à jour partiellement une ressource existante.DELETE: Supprime une ressource existante.
Dans n8n, le choix de la méthode se fait simplement via un menu déroulant dans le nœud HTTP Request, comme le montre l'image ci-dessous.

2. Guide de l'Exercice : Construire le Workflow CRUD
Notre workflow sera une séquence de trois nœuds HTTP Request. Le point crucial est de comprendre comment la sortie d'un nœud devient l'entrée du suivant.
Étape 1 : Créer un article (POST)
Le premier nœud va créer un nouvel article de blog fictif sur JSONPlaceholder.
- Ajoutez un nœud
HTTP Requestà votre canvas. - Method :
POST - URL :
https://jsonplaceholder.typicode.com/posts - Activez l'option Send Body.
- Body Content Type :
JSON. - Specify Body :
Using JSON. - Dans le champ
JSON, collez le contenu suivant :{ "title": "Mon premier article avec n8n", "body": "Ceci est le contenu de mon article.", "userId": 1 }
L'article de Ocade Fusion donne un exemple similaire que vous pouvez consulter.
Noeud HTTP Request N8N : Guide Complet - Ocade Fusion
Pour une référence écrite en français, consultez la section 'Requête POST : créer un article' dans l'article d'Ocade Fusion. Elle détaille précisément la configuration que nous mettons en place.
Repérez la section 'Exemple 1 : API ouverte (JSONPlaceholder)', puis 'Requête POST : créer un article'. Notez la configuration de l'URL, des Headers et du Body. Notez aussi que la FAQ recommande JSONPlaceholder pour tester toutes les méthodes HTTP, ce qui confirme notre choix.
Exécutez ce nœud. La réponse de l'API doit être un objet JSON représentant votre article, mais avec un champ id ajouté (par exemple, 101). Cet id est essentiel pour les étapes suivantes.
Étape 2 : Mettre à jour l'article (PUT)
Le deuxième nœud va modifier l'article que nous venons de créer.
- Ajoutez un second nœud
HTTP Requestaprès le premier. - Method :
PUT - URL : Ici, nous devons construire l'URL dynamiquement en utilisant l'ID de l'étape précédente. L'URL doit ressembler à
https://jsonplaceholder.typicode.com/posts/101. Pour cela, utilisez une expression n8n pour récupérer l'ID :
https://jsonplaceholder.typicode.com/posts/{{ $json.id }}
Cette expression prend la valeur du champiddu JSON provenant du nœud précédent. - Configurez le Body comme à l'étape 1, mais avec un contenu mis à jour. Notez que
PUTrequiert d'envoyer l'objet complet.
Ici aussi, nous injectons dynamiquement l'ID pour être sûr de mettre à jour la bonne ressource.{ "id": "{{ $json.id }}", "title": "Mon article mis à jour", "body": "Le contenu a été modifié via une requête PUT.", "userId": 1 }
Exécutez ce nœud. La réponse doit être l'objet mis à jour.
Étape 3 : Supprimer l'article (DELETE)
Le dernier nœud va nettoyer en supprimant l'article créé.
- Ajoutez un troisième nœud
HTTP Requestà la suite. - Method :
DELETE - URL : Utilisez la même expression que pour l'étape
PUTafin de cibler le bon article :
https://jsonplaceholder.typicode.com/posts/{{ $json.id }} - Une requête
DELETEn'a généralement pas besoin d'un Body. Vous pouvez laisser cette option désactivée.
Exécutez ce nœud. Une réponse réussie de JSONPlaceholder pour un DELETE est souvent un objet vide ({}) avec un code de statut HTTP 200, confirmant que la suppression a eu lieu.
Pour voir une démonstration de PUT et DELETE en action, la vidéo suivante est très instructive. Bien qu'elle utilise l'API de Airtable, les principes et la configuration dans n8n sont identiques.
n8n HTTP Request Node & Tool (Connect to APIs)
Regardez ce segment de la vidéo de Ryan & Matt Data Science. Il montre concrètement comment configurer les nœuds pour mettre à jour (PUT/PATCH) et supprimer (DELETE) des enregistrements.
Regardez la section de 49:51 à 54:00. Observez comment l'intervenant construit l'URL avec un ID dynamique pour cibler un enregistrement spécifique, et comment il alterne entre les méthodes PATCH (similaire à PUT) et DELETE.
3. Solution de l'Exercice
Conformément à votre demande d'avoir des solutions complètes, voici le code JSON du workflow final. Vous pouvez le copier et le coller directement dans votre éditeur n8n (Ctrl+A pour tout sélectionner dans le canvas, puis Ctrl+V pour coller) pour voir la solution en action et la comparer avec votre propre travail.
{
"name": "Exercice 4.4 - CRUD",
"nodes": [
{
"parameters": {},
"id": "764b4491-b3b0-469b-81d6-b47209be3747",
"name": "Start",
"type": "n8n-nodes-base.start",
"typeVersion": 1,
"position": [
240,
300
]
},
{
"parameters": {
"method": "POST",
"url": "https://jsonplaceholder.typicode.com/posts",
"sendBody": true,
"body": "{\n \"title\": \"Mon premier article avec n8n\",\n \"body\": \"Ceci est le contenu de mon article.\",\n \"userId\": 1\n}",
"options": {}
},
"id": "e00b684a-9e1e-450f-a3eb-8e9a69769363",
"name": "1. Create Post (POST)",
"type": "n8n-nodes-base.httpRequest",
"typeVersion": 4.1,
"position": [
460,
300
]
},
{
"parameters": {
"method": "PUT",
"url": "https://jsonplaceholder.typicode.com/posts/{{ $json.id }}",
"sendBody": true,
"body": "{\n \"id\": \"{{ $json.id }}\",\n \"title\": \"Mon article mis à jour\",\n \"body\": \"Le contenu a été modifié via une requête PUT.\",\n \"userId\": 1\n}",
"options": {}
},
"id": "e421fd40-f1d2-4e4b-a94f-4d6f83ab0b93",
"name": "2. Update Post (PUT)",
"type": "n8n-nodes-base.httpRequest",
"typeVersion": 4.1,
"position": [
720,
300
]
},
{
"parameters": {
"method": "DELETE",
"url": "https://jsonplaceholder.typicode.com/posts/{{ $json.id }}",
"options": {}
},
"id": "31ac7c86-107e-402c-a02b-a0100f983a54",
"name": "3. Delete Post (DELETE)",
"type": "n8n-nodes-base.httpRequest",
"typeVersion": 4.1,
"position": [
960,
300
]
}
],
"connections": {
"Start": {
"main": [
[
{
"node": "1. Create Post (POST)",
"type": "main",
"index": 0
}
]
]
},
"1. Create Post (POST)": {
"main": [
[
{
"node": "2. Update Post (PUT)",
"type": "main",
"index": 0
}
]
]
},
"2. Update Post (PUT)": {
"main": [
[
{
"node": "3. Delete Post (DELETE)",
"type": "main",
"index": 0
}
]
]
}
}
}
Conclusion
Félicitations ! Vous avez construit un workflow qui non seulement interroge une API, mais qui interagit avec elle pour créer, modifier et supprimer des données. C'est une compétence fondamentale pour automatiser des processus métier complexes.
Points clés à retenir :
- Le cycle CRUD (Create, Read, Update, Delete) est mappé aux méthodes HTTP
POST,GET,PUT/PATCHetDELETE. - Le nœud
HTTP Requestde n8n permet de changer de méthode très facilement via le menu déroulant Method. - Le chaînage des opérations est crucial : l'identifiant (
id) renvoyé par la requête de création (POST) est indispensable pour cibler la ressource lors des mises à jour (PUT) et des suppressions (DELETE). - Les expressions n8n (ex:
{{ $json.id }}) sont le mécanisme qui permet de passer dynamiquement des données d'un nœud à l'autre.
Dans la prochaine leçon, nous aurons un autre exercice qui mettra à profit vos connaissances du nœud HTTP Request. Nous reviendrons sur le sujet de la leçon précédente pour construire un workflow qui récupère des données paginées et agrège tous les résultats en une seule liste. Cela vous permettra de consolider vos compétences sur la récupération de données à grande échelle.