Nœud HTTP Request
Le nœud HTTP Request permet d'effectuer des requêtes HTTP vers des APIs externes.
Vue d'ensemble
Ce nœud est idéal pour :
- Appeler des APIs REST
- Récupérer des données depuis des services externes
- Envoyer des données à des services externes
- Intégrer avec des systèmes tiers
Configuration
URL
L'URL de l'endpoint à appeler :
- Format complet :
https://api.example.com/endpoint - Supporte les variables Handlebars :
https://api.example.com/users/{{userId}} - Peut inclure des paramètres de requête
Méthode HTTP
Sélectionnez la méthode HTTP :
- GET : Récupérer des données
- POST : Créer ou envoyer des données
- PUT : Mettre à jour des données
- PATCH : Modifier partiellement
- DELETE : Supprimer des données
Headers
Ajoutez des headers personnalisés :
- Format clé-valeur
- Supporte les variables Handlebars
- Headers courants :
Content-Type,Authorization,X-API-Key
Exemple :
Content-Type: application/json
Authorization: Bearer {{token}}
Body
Pour les méthodes POST, PUT, PATCH :
- Format JSON
- Supporte les variables Handlebars
- Validation JSON automatique
Exemple :
{
"name": "{{trigger.body.name}}",
"email": "{{trigger.body.email}}"
}
Authentification
Aucune
Pas d'authentification.
Basic Auth
- Username et password
- Encodage base64 automatique
Bearer Token
- Token dans le header Authorization
- Format :
Bearer {token} - Supporte les variables Handlebars
API Key
- Clé API dans header ou query parameter
- Nom du header personnalisable
- Supporte les variables Handlebars
Timeout
Délai d'attente maximum (en millisecondes) :
- Par défaut : 30000 (30 secondes)
- Augmentez pour les requêtes longues
- Réduisez pour échouer rapidement
Gestion des erreurs
- Stop workflow on failure : Arrêter le workflow si la requête échoue
- Sinon, le workflow continue et
lastResponsecontient les informations d'erreur
Données disponibles après exécution
Le nœud expose les résultats dans le contexte :
{
"status": 200,
"headers": {...},
"body": {...},
"responseTime": 150
}
Utilisation dans les nœuds suivants
{{httpRequest.status}}: Code de statut HTTP{{httpRequest.body}}: Corps de la réponse{{httpRequest.headers}}: Headers de la réponse{{httpRequest.responseTime}}: Temps de réponse en ms
Exemples
Exemple 1 : Récupérer des données
{
"url": "https://api.example.com/users/{{trigger.body.userId}}",
"method": "GET",
"headers": {
"Authorization": "Bearer {{credentials.apiToken}}"
}
}
Exemple 2 : Créer une ressource
{
"url": "https://api.example.com/orders",
"method": "POST",
"headers": {
"Content-Type": "application/json"
},
"body": {
"orderId": "{{trigger.body.orderId}}",
"items": "{{trigger.body.items}}"
}
}
Exemple 3 : Avec authentification
{
"url": "https://api.example.com/data",
"method": "GET",
"authentication": {
"type": "Bearer",
"token": "{{credentials.apiToken}}"
}
}
Bonnes pratiques
- Validation : Validez toujours les réponses avant de les utiliser
- Gestion d'erreurs : Utilisez des nœuds On Error pour gérer les erreurs
- Timeouts : Configurez des timeouts appropriés
- Sécurité : Utilisez des Credentials pour les tokens et clés API
- Retry : Implémentez une logique de retry si nécessaire
- Logging : Loggez les requêtes importantes pour le débogage
Dépannage
Erreur de timeout
- Augmentez le timeout
- Vérifiez que l'API est accessible
- Vérifiez la performance de l'API
Erreur 401 (Unauthorized)
- Vérifiez les credentials
- Vérifiez que le token n'est pas expiré
- Vérifiez le format de l'authentification
Erreur 404 (Not Found)
- Vérifiez l'URL
- Vérifiez que l'endpoint existe
- Vérifiez les paramètres de l'URL