DeltiaAide

Appeler un web service depuis une règle

Envoyer des appels à une API externe (ERP, outil de CAO) quand une règle se déclenche, reprendre après un échec et lire le journal des appels

À quoi ça sert

L'action « Appeler un web service » envoie à une API externe, par exemple un ERP ou un outil de CAO, une suite d'appels dans l'ordre : chaque appel peut lire ce que les précédents ont renvoyé. L'organisation déclare le service une seule fois dans l'administration des connecteurs ; la règle dit quels appels envoyer et avec quelles valeurs. Voir Services web pour la déclaration de la connexion et la lecture du journal des appels.

Concepts clés

  • Appel — une requête vers le service, avec ses propres valeurs, qui peut renvoyer des résultats réutilisés par les appels suivants.
  • Variable — une valeur que la règle prend sur la fiche déclenchante avant d'envoyer les appels. Un appel ne lit jamais la fiche directement : il lit ses variables.
  • Appel non rejouable — un appel déclaré comme ne devant pas partir deux fois (une création, par exemple).
  • Étape incertaine — une étape qui crée quelque chose et qui a pu être appliquée par le service avant que sa réponse se perde.
  • Écriture en retour — le remplissage de champs de la tâche déclenchante avec des résultats des appels, une fois tous les appels réussis.

Comment faire

Ajouter l'action à une règle

  1. Dans le bloc « Actions » de la règle, ajoutez une action « Appeler un web service ».
  2. Dans les paramètres, saisissez les appels à envoyer, dans l'ordre. L'exemple fourni avec l'action montre la forme attendue.
  3. Cochez « Renvoyer une étape incertaine » si la règle doit renvoyer une étape dont l'issue est inconnue.
  4. Enregistrez la règle.

Dans le tableau des règles, l'action se lit « appeler un web service » avec le nombre d'appels, par exemple « 2 appels ».

Remplir des champs de la tâche avec les résultats

  1. Utilisez une règle dont le déclencheur est une tâche.
  2. Dans les paramètres de l'action, déclarez les champs à remplir et les résultats à y écrire.

Les champs sont remplis une fois que tous les appels ont réussi. Sur tout autre déclencheur, l'enregistrement de la règle refuse cette écriture en retour.

Suivre un appel

  1. Ouvrez l'administration des connecteurs, onglet « Journal des appels ».
  2. Ouvrez une ligne pour lire chaque appel envoyé et chaque réponse reçue.

Les secrets sont retirés du journal.

Référence

Comportements de l'action

SituationRésultat de l'action
Les appels sont mis en file« Exécutée » : l'action n'attend pas la fin des appels
Un envoi de la même règle, de la même action et de la même fiche est encore en cours« Ignorée »
Une étape incertaine, « Renvoyer une étape incertaine » décochée« Ignorée » : l'étape n'est pas renvoyée une seconde fois
Une étape incertaine, « Renvoyer une étape incertaine » cochéeL'étape est renvoyée sans vérification
Une variable obligatoire est videErreur
Écriture en retour sur un déclencheur qui n'est pas une tâcheRefusée à l'enregistrement

Paramètres

CléRôle
workflowLes appels à envoyer, dans l'ordre. Obligatoire
variablesLes valeurs lues sur la fiche déclenchante
writeBackLes champs de la tâche à remplir, déclencheur tâche seulement
retryUncertainStepsLe choix de « Renvoyer une étape incertaine »

Sur une règle au déclencheur « Date », il n'y a pas de fiche déclenchante : l'exemple fourni ne propose ni variable ni écriture en retour.

Questions fréquentes

L'action attend-elle la réponse du service ?

Non. Elle met les appels en file et se termine : le détail de chaque appel se lit ensuite dans le journal.

Un appel de création peut-il partir deux fois ?

Non, tant qu'il est déclaré non rejouable. Si sa réponse s'est perdue, la règle ne le renvoie que si « Renvoyer une étape incertaine » est cochée.

Sur cette page