Documentation en ligne

Appeler un webservice

Cette action est plus technique que les autres et nécessite qu'un connecteur vers une application tierce ait été développé au préalable. Elle est utilisée/configurée par les services informatiques.

Généralités

L'action « Webservice » permet d'appeler un système tiers; et éventuellement, de lui transmettre des données, dont celles issues de formulaires de demandes d'usagers ayant atteint le statut qui contient cette action.

Si une donnée de traitement de type « fichier » existe dans le workflow, il sera possible de lier à cette donnée, le document créé,  en sélectionnant cette donnée de traitement qui apparaît dans la liste déroulante « Enregistrer le document généré comme donnée de traitement ».

Édition

Les étapes d'édition de l'action « Webservice » sont les suivantes :

  1. Indiquer le libellé de l'appel du webservice.

  2. Saisir l'URL du webservice sollicité.

    • Le champ « URL » est obligatoire.
    • L'URL peut contenir des variables, pour afficher une information particulière. Dans « Données à envoyer en paramètres à l'URL », on peut spécifier un couple clé/valeur. Par exemple en utilisant email et {{session_user_email}}, on va pouvoir former une URL qui sera https://www.example.net/notify?email={{session_user_email}}
  3. Choisir la méthode utilisée

    • GET : pour récupérer un élément

    • POST : Pour envoyer un élément

    • PUT : Pour créer un élément

    • PATCH : Pour mettre à jour un élément

    • DELETE : pour effacer un élément

  4. Dé/Cocher la case « Envoyer le formulaire (POST, en JSON) ».

    Cochée, la case indique que l'ensemble des données du formulaire doit être transmis, avec un appel de type POST, dont le contenu correspondra au formulaire encodé au format JSON, comme décrit sur cette page sur l'API.

  5. Le tableau « Données à envoyer en POST » permet de décrire des données qui seront transmises sous la forme d'un dictionnaire clé-valeur au format JSON.

  6. Sur chaque ligne, la colonne de gauche est le nom de la clé, celle de droite, la valeur. La valeur peut être une expression Python. Pour cela, elle doit commencer par le signe « = ».

    Exemple :

    Ce tableau de valeurs :

    code_appel

    w.c.s.

    form_number

    =form_number

    formera ce JSON :

      {
        "code_appel": "w.c.s.",
        "form_number": "4"
      }
    • Si la case « Envoyer le formulaire (POST, en JSON) » est cochée et que des « Données à envoyer en POST » sont indiquées, alors ces dernières sont ajoutées dans le JSON du formulaire, dans une clé « extra ».

    • Si aucune donnée n'est indiquée et que le formulaire ne doit pas être transmis, alors la requête HTTP effectuée est un GET sur l'URL.

  7. Le paramètre « Nom de variable » permet d'enregistrer le résultat retourné par le webservice. Le retour HTTP de celui-ci sera enregistré dans variable_status (voir plus loin, le traitement des erreurs) et le contenu même de la réponse, si elle est au format JSON, sera enregistré dans variable_response.

  8. Le paramètre « Clé de signature de la requête » permet de signer la requête avant de l'envoyer au webservice, avec la valeur du champ comme clé de signature.

  9. Traitement des erreurs :

    En précisant un nom de variable (exemple : webservice1), il est possible de placer derrière l'appel au webservice une action « Saut automatique » faisant référence à la variable.

    Par exemple, pour s'assurer que le retour fait par le webservice était bien un code HTTP 200 et que le contenu de la réponse contenait bien un dictionnaire data dont la clé result valait OK :

    webservice1_status != 200 or webservice1_response_data_result != 'OK'

    Lorsque webservice1_response_data_result retourne un tableau, vous pouvez employer {{webservice1_response_data.0.nom_colonne}} pour récupérer un élément du tableau. « 0 » désigne le premier enregistrement.

Dernière mise à jour le 23 septembre 2019 16:23 — Éditer