- Introduction
- Démarrage
- Modélisation du processus avec BPMN
- Compréhension de la modélisation des processus
- Ouverture du canevas de modélisation
- Modéliser votre processus
- Alignement et connexion des éléments BPMN
- Autopilot pour Maestro (aperçu)
- Référentiel de processus
- Modélisation des processus avec la gestion des incidents
- Concevoir un schéma d'entité de cas persistant
- Définition des clés de cas (système vs. externe)
- Établissement des contrats d'E/S et de réécriture de la tâche
- Règles de sortie et fin de l’étape précoce
- Modélisation des étapes primaires et secondaires
- Déclencher un cas à partir de Data Fabric
- Implémentation des personas et des autorisations au niveau de l'étape
- Définition des SLA et des règles d'escalade automatisées
- Configuration d'une boucle de retraitement (renouvellement)
- Gestion des instances de cas en cours : suspendre, migrer et réessayer
- Dictionnaire des composants de gestion des incidents Maestro
- Modélisation des processus avec Flow
- Implémentation des processus
- Débogage
- Simulation
- Publication et mise à niveau des processus agentiques
- Scénarios de mise en œuvre courants
- Extraire et valider des documents
- Opérations de processus
- Surveillance des processus
- Optimisation des processus
- Informations de référence
Configuration des nœuds de requête HTTP, authentification et schémas de ramification de réponse.
Ce qu’il fait
Envoie une requête HTTP à une URL et rend la réponse disponible pour les nœuds en aval.
Deux nœuds HTTP
Flow offre deux nœuds HTTP. Choisissez en fonction de la façon dont vous souhaitez gérer l'authentification:
- Requête HTTP (
core.action.http): configurez la méthode, l'URL, les en-têtes, le corps et l'authentification en ligne. Utilisez-le pour tout point de terminaison REST externe où vous gérez vous-même les informations d’identification, par exemple un en-tête de clé API ou un jeton de porteur. Il s'agit du nœud documenté sur cette page. - Requête HTTP gérée (
core.action.http.v2): effectue la requête via une connexion gérée par Integration Service, de sorte que l’authentification est gérée par cette connexion plutôt que configurée en ligne. Utilisez cette option lorsque vous souhaitez une gestion centralisée des informations d’identification par rapport à un service auquel vous avez connecté via Integration Service.
Référence de la configuration
| Champ | Requis | Default | Description |
|---|---|---|---|
| Mode | Oui (Yes) | Manuel | Comment la requête est configurée. Sélectionnez Manuel pour définir vous-même la requête, ou Définition de l'API pour importer la configuration à partir d'une spécification OpenAPI ou Swagger. |
| Importer à partir d’une commande cURL | Non (No) | Aucun (None) | Analyse une commande cURL et remplit automatiquement la méthode, l'URL, les en-têtes et le corps. Sélectionnez le bouton cURL dans la barre d'outils au-dessus des champs de configuration. |
| Méthode HTTP | Oui (Yes) | GET | Méthode HTTP pour la requête. Les valeurs prises en charge sont GET, POST, PUT, PATCH et DELETE. |
| URL | Oui (Yes) | Aucun (None) | URL complète à laquelle envoyer la requête, y compris le schéma https:// . Prend en charge les expressions de variables, par exemple https://api.example.com/users/$vars.userId. |
| En-têtes | Non (No) | Aucun (None) | Paires clé-valeur envoyées sous forme d'en-têtes de requête HTTP. Les noms et les valeurs des en-têtes prennent en charge les expressions de variables. |
| Paramètres de requête | Non (No) | Aucun (None) | Paires clé-valeur ajoutées à l’URL sous forme de chaîne de requête. Les noms et les valeurs prennent en charge les expressions de variables. |
| Type de contenu | Non (No) | application/json | Type Extensions Internet Mail multi-usage du corps de la demande. Les valeurs prises en charge sont application/json, application/xml, text/plain et application/x-www-form-urlencoded. |
| Corps | Non (No) | Vide | Corps de la requête pour les requêtes POST, PUT et PATCH . Saisissez la valeur directement dans l'éditeur de code ou utilisez des expressions de variables. |
| branches | Non (No) | Sortie par défaut uniquement | Branches de réponse qui acheminent le processus en fonction des propriétés de réponse. Chaque branche a un nom et une expression de condition. |
| Délai d'attente | Non (No) | PT15M | Durée maximale d’attente d’une réponse, au format de date et d’heure de l’Organisation ISO 8601. |
| Nombre de nouvelles tentatives | Non (No) | 0 | Nombre de fois où la requête a échoué. Les nouvelles tentatives utilisent la valeur du délai d'expiration comme intervalle d'interruption. |
L'éditeur suggère des noms d'en-tête courants tels que Authorization, Content-Type, Accept, X-Api-Key, etc. Pour les paramètres de requête, l'ajout d'un paramètre avec le nom page et la valeur 2 envoie la requête à https://api.example.com/items?page=2.
Le nœud évalue les conditions de la branche dans l'ordre et suit la première correspondance. Si aucune branche ne correspond, le processus suit la sortie par défaut .
Les expressions de condition de branche utilisent la même syntaxe JavaScript que les nœuds Décision et Commutateur:
$vars.httpRequest1.output.statusCode === 200
$vars.httpRequest1.output.statusCode === 200
$vars.httpRequest1.output.statusCode >= 400
$vars.httpRequest1.output.statusCode >= 400
Chaque branche apparaît sous la forme d'une gestion de sortie distincte sur le côté droit du nœud sur la zone de dessin, avec la gestion par défaut .
Valeurs courantes du délai d'expiration:
PT30S- 30 secondesPT5M- 5 minutesPT15M- 15 minutesPT1H- 1 heure
Identifiants
Vous pouvez authentifier les requêtes de deux manières.
Authentification manuelle
Transmettez les informations d’identification directement dans les en-têtes de la demande. Pour l'authentification par clé API, ajoutez un en-tête avec le nom X-Api-Key et la valeur définie sur votre clé. Pour l'authentification par jeton du porteur, ajoutez un en-tête Authorization avec une valeur telle que Bearer <your-token>.
Stockez les valeurs sensibles telles que les jetons et les clés API dans des variables secrètes plutôt que de les coder en dur.
Connecteur Integration Service
Sélectionnez une connexion Integration Service préconfigurée dans le panneau Propriétés. La connexion injecte automatiquement des informations d’identification dans la requête, du fait que vous n’avez pas besoin de gérer vous-même les en-têtes.
Utilisez un connecteur Integration Service lorsque vous souhaitez une gestion centralisée des informations d’identification, une actualisation automatique des jetons ou lorsque plusieurs processus partagent les mêmes informations d’identification d’API.
Les connecteurs Integration Service sont configurés dans le portail UiPath Automation Cloud. Reportez-vous à la documentation Integration Service pour obtenir les instructions de configuration.
Exemples
Exemple 1 - Requête GET de base
Récupérez une ressource unique à partir d'une API publique.
Le nœud est configuré avec la méthode HTTP définie sur GET et l'URL définie sur https://jsonplaceholder.typicode.com/posts/1. Tous les autres champs conservent leurs valeurs par défaut.
La réponse est disponible dans un nœud de script en aval:
const body = $vars.httpRequest1.output.body;
const status = $vars.httpRequest1.output.statusCode;
return {
title: body.title,
userId: body.userId,
status: status
};
const body = $vars.httpRequest1.output.body;
const status = $vars.httpRequest1.output.statusCode;
return {
title: body.title,
userId: body.userId,
status: status
};
L'objet de réponse est disponible au niveau de $vars.httpRequest1.output et contient trois champs:
$vars.httpRequest1.output.body: le corps de la réponse analysé$vars.httpRequest1.output.statusCode: le code de statut HTTP, par exemple200$vars.httpRequest1.output.headers: un objet contenant les en-têtes de réponse
Exemple 2 - Requête POST avec un corps JSON
Créez une nouvelle ressource en envoyant une charge utile JSON.
Le nœud est configuré avec la méthode HTTP définie sur POST, l'URL définie sur https://api.example.com/orders, un en-tête Authorization contenant la valeur Bearer $vars.apiToken et le type de contenu défini sur application/json. Corps:
{
"product": "Widget",
"quantity": 5,
"customer_id": "cust_12345"
}
{
"product": "Widget",
"quantity": 5,
"customer_id": "cust_12345"
}
L'ID de la ressource créée est disponible dans un nœud en aval:
const orderId = $vars.httpRequest1.output.body.id;
return { orderId: orderId };
const orderId = $vars.httpRequest1.output.body.id;
return { orderId: orderId };
Si la demande échoue et que vous avez connecté une gestion des erreurs, les détails de l'erreur sont disponibles au niveau de $vars.httpRequest1.error:
// In a Script node connected to the error handle
const errorMessage = $vars.httpRequest1.error.message;
const errorStatus = $vars.httpRequest1.error.status;
return {
failed: true,
reason: errorMessage,
httpStatus: errorStatus
};
// In a Script node connected to the error handle
const errorMessage = $vars.httpRequest1.error.message;
const errorStatus = $vars.httpRequest1.error.status;
return {
failed: true,
reason: errorMessage,
httpStatus: errorStatus
};
L’objet d’erreur contient:
codemessagedetailcategorystatus
Exemple 3 - Acheminer les réponses avec des branches
Les branches de réponse permettent au processus de suivre différents chemins en fonction de la réponse de l'API sans nœud de décision distinct.
Le nœud est configuré avec la méthode HTTP définie sur GET, l'URL définie sur https://api.example.com/users/$vars.userId et deux branches dans la section Branches : Success avec la condition $vars.httpRequest1.output.statusCode === 200 et Not Found avec la condition $vars.httpRequest1.output.statusCode === 404.
Le nœud dispose désormais de trois gestions de sortie sur le canevas:
- Réussite : se connecte aux nœuds qui traitent les données utilisateur
- Introuvable : se connecte aux nœuds qui gèrent le cas d'utilisateur manquant
- Par défaut : se connecte à un chemin de secours pour tout autre code de statut
Chaque chemin en aval reçoit la réponse complète. Par exemple, sur la branche Réussite:
const user = $vars.httpRequest1.output.body;
return { name: user.name, email: user.email };
const user = $vars.httpRequest1.output.body;
return { name: user.name, email: user.email };
Quand l’utiliser par rapport à un nœud d’intégration
Utilisez le nœud de requête HTTP comme outil général pour appeler n’importe quelle API. Utilisez un nœud d'intégration dédié lorsqu'il en existe un pour le service que vous appelez.
| Utiliser la requête HTTP quand... | Utilisez un nœud d'intégration lorsque... |
|---|---|
| L’API ne dispose d’aucun connecteur dédié dans la palette des nœuds | Un connecteur existe pour le service, tel que Slack, Salesforce ou HubSpot |
| Vous avez besoin d’un contrôle total sur les en-têtes, les paramètres de requête et le format du corps | Vous souhaitez des entrées et des sorties saisies prédéfinies sans configuration manuelle |
| Vous réalisez le prototypage par rapport à une nouvelle API ou à un nouveau service interne | Vous souhaitez une authentification automatique et une actualisation du jeton via Integration Service |
| L’API utilise un schéma d’authentification non standard | Vous souhaitez un processus maintenable qui ne s'interrompra pas si l'API modifie son contrat |
Règle de base: recherchez d'abord dans la palette de nœuds un connecteur. Revenez sur Requête HTTP uniquement si rien n'existe pour votre service cible.
Pages liées
- Nœud de script : transformez et traitez les données de réponse HTTP
- Nœud de décision : branche sur les conditions, comme alternative aux branches de réponse
- Variables et flux de données -
$vars, syntaxe de l'expression et portée des variables
- Ce qu’il fait
- Deux nœuds HTTP
- Référence de la configuration
- Identifiants
- Authentification manuelle
- Connecteur Integration Service
- Exemples
- Exemple 1 - Requête GET de base
- Exemple 2 - Requête POST avec un corps JSON
- Exemple 3 - Acheminer les réponses avec des branches
- Quand l’utiliser par rapport à un nœud d’intégration
- Pages liées