Appels API basés sur les événements
Ce document décrit l'utilisation des événements comme point de déclenchement pour appeler une interface API de M3. Le déclenchement est effectué par un appel paramétrable qui inclut les informations de l'événement sélectionné en tant que liste de paramètres envoyés avec l'appel API. La fonction peut appeler toute transaction API M3 entrante.
Suivez les étapes ci-dessous :
- Dans 'Abonnement d'événement. Ouvrir' (CMS045), ajoutez un abonnement à la table M3 pour une utilisation avec l'appel API. Le nom de la table M3 sert de nom d'événement et M3 est l'éditeur.
- L'abonnement doit être activé pour les appels API basés sur les événements et doit être défini comme étant actif.
Définir l'appel API
- La définition de l'appel API est effectuée dans le programme 'Appels API basés sur événement. Ouvrir' (CMS041).
Quand faire un appel API
A l'aide de filtres et d'expressions logiques tel que 'Valeur modifiée', 'Egal à', etc. pour des champs spécifiques, définissez quand l'appel API doit être fait.
A l'exception des réponses provenant de l'API, toute transaction M3 entrante peut être utilisée. Seuls les messages d'erreur d'API sont enregistrés dans le journal associé.
Pour des raisons de performance et de volume, il est important que les filtres soient définis et testés correctement dans un environnement contenant moins de transactions qu'un environnement de production. Un environnement normal M3 génère plusieurs centaines d'événements par seconde ; de ce fait, des filtres mal définis peuvent rapidement générer un volume considérable de messages d'alerte. Des messages d’avertissement sont créés si des filtres sont utilisés pour LMTS (horodatage) ou CHNO (numéro de modification) ou s’il n’existe aucun filtre avec la condition 7 ('Valeur modifiée').
Etapes à suivre après définition
- Une fois l'alerte définie, la tâche auto correspondante doit être redémarrée avant que les abonnements mis à jour ne soient activés dans Event Hub et que les nouvelles définitions soient mises à jour dans le cache.
Redémarrez la tâche automatique dans Sous-système. Ouvrir (MNS050) et sélectionnez l'option associée 'Travail sous-système' (Option 11) pour le sous-système de tâche automatique (appelé habituellement ASJ).
- Dans la liste, cherchez la tâche automatique (CMS913) (Abonnement d'événement - journal des événements).
- Arrêtez-la, puis redémarrez-la.
Dépannage
Un journal d'erreur est associé à l'appel API. Les appels erronés ou les messages d'erreur provenant de l'API sont consignés avec la clé primaire de l'événement et la fonction qui a déclenché l'événement d'origine. A l'aide de ces informations, l'action résultat de l'événement peut être re-traitée ou l'API re-déclenché lorsque le problème est corrigé.
Un autre moyen de dépannage est d'activer le journal des concepts pour la tâche auto requise dans la vue serveur ou les pages admin dans un environnement cloud. Une fois la fonction activée, générez un nouvel événement et affichez le journal de concept inscrit dans le journal de la tâche auto. Toute validation effectuée dans une tâche auto est inscrite dans le journal sous forme de texte lisible.
L'appel à l'API est en fait effectué dans un programme par lot standard (CMS326) (Gestion des programmes correctifs/pilote de travail), qui continue ensuite de communiquer avec l'API et met à jour le fichier journal. Du point de vue de la tâche auto, l'appel API n'est qu'un appel de type 'tire et oublie' ; il n'attend pas de réponse du destinataire.