Aller au contenu principal

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 lastResponse contient 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

Prochaines étapes