Aller au contenu principal

Appel REST

Configuration actuelle de la tâche Appel REST dans le concepteur de flux de travail

La tâche Appel REST permet au Workflow d'interagir avec des systèmes externes via API REST. Elle permet d'envoyer des requêtes HTTP et de gérer les réponses des services web, facilitant l'intégration avec des applications externes.

C'est l'outil principal pour communiquer avec d'autres plateformes, telles que ServiceNow, Salesforce, systèmes de ticketing, bases de données cloud et d'innombrables autres services, que ce soit pour récupérer des données (GET) ou pour envoyer ou modifier des informations (POST, PUT).

Configuration

La configuration de la tâche définit chaque aspect de la requête HTTP qui sera envoyée. Les champs de configuration de la tâche peuvent être valorisés manuellement ou via paramètres et variables du flux de travail.

Connexion SSL

Spécifie si l'appel doit utiliser le protocole SSL (oui / non).

Proxy

Définit l'acheminement de la connexion via les options suivantes :

  • Paramètre système : Utilise le proxy configuré au niveau global.
  • Pas de proxy : L'appel est effectué directement sans passer par un proxy.
  • Proxy personnalisé : Active le champ Adresse Proxy pour l'insertion manuelle d'un serveur dédié.

URL

Dans ce champ, il faut insérer l'adresse complète de l'endpoint auquel envoyer la requête. Il est possible de construire l'URL de manière dynamique en utilisant des paramètres.

Authentification

Un menu pour sélectionner la méthode d'authentification requise par l'API de destination. Les options sont :

  • Aucune : Pour les API publiques qui ne nécessitent pas de credentials.
  • Basic : Authentification standard via nom d'utilisateur et mot de passe.
  • Bearer : Authentification via un token de sécurité (Bearer Token) que l'on insère dans l'en-tête de la requête.

Utilisateur

Le nom d'utilisateur pour l'authentification de type Basic.

Mot de passe

Le mot de passe associé à l'utilisateur pour l'authentification Basic.

Token

Le champ où insérer le token de sécurité lorsque l'on utilise l'authentification de type Bearer.

Méthode

La méthode HTTP à utiliser pour la requête, qui définit le type d'opération à exécuter

  • GET : Pour récupérer des données d'une ressource.
  • POST : Pour créer une nouvelle ressource.
  • PUT : Pour mettre à jour complètement une ressource existante.
  • Zone de texte dédiée à la définition des en-têtes HTTP à inclure dans la requête. Les en-têtes doivent être spécifiés comme tableau de chaînes, où chaque élément représente un en-tête dans le format :
  • Format requis : ["Clé : Valeur", "Clé2 : Valeur2"]
  • Exemple de base : ["Content-Type:application/json;charset=utf-8"] - clé*: Content-Type et* valeur*: application/json;charset=utf-8*
  • Exemple Contenu et Langue : ["Content-Type:application/json;charset=utf-8", "Accept: application/json", "Accept-Language: it-IT, it;q=0.9"]

Corps

Une zone de texte pour insérer le corps (payload) de la requête. Ce champ est utilisé principalement avec les méthodes POST et PUT pour envoyer les données à créer ou modifier. Pour garantir que le contenu du JSON est interprété correctement, il est nécessaire d'utiliser la directive “string:”.

Exemple :

string:{
"state": "#>state<#",
"work_notes": "#>work notes<#"
}

Exemple d'utilisation

Paramètres de sortie

Une fois que le service externe a répondu à l'appel, la tâche expose les suivants paramètres de sortie, qui sont cruciaux pour traiter le résultat de la requête :

  • headers: Contient les en-têtes de la réponse envoyés par le serveur.
  • response: Contient le corps (body) de la réponse envoyée par le serveur.
  • result: Indique l'état global de l'exécution de la Tâche.
  • resultJson: représente le résultat de l'exécution de la tâche au format JSON, incluant des informations générales, des configurations et des détails sur l'exécution.
  • httpCode: Renvoie le code de statut HTTP de la réponse.
  • 200 (OK), 201 (Created) : La requête a réussi.
  • 400 (Bad Request), 401 (Unauthorized), 404 (Not Found) : Erreur côté client.
  • 500 (Internal Server Error) : Erreur côté serveur.

Exemple de paramètre resultJson

{
"run_info": {
"status": "Completed",
"run_result": "Success"
},
"output_parameters": {
"exitStatus": "0"
}
}