La demande d'action métier au service web REST se fait au format JSON dans le corps du message http.
Paramètre | Balise JSON | Description |
---|---|---|
Action | "action" | Nom de l'action du service attendue par le service web, par exemple WEB_SERVICE_INFINITY |
Paramètres | "param" | Paramètres d'entrée attendus par l'action du service. Dépend de chaque action. Voir plus bas |
Token | "access_token" | Valeur du TOKEN obtenu durant la phase d'authentification |
C’est ensuite la zone Paramètres (“param”) ci-dessus qui contient la demande d’action métier complète sous forme de chaine de caractères.
Cette zone “param” (chaîne de caractères) contient également une chaîne JSON et doit décrire la demande ainsi:
Paramètre | Balise JSON | Description |
---|---|---|
Zone action métier | "action" | Zone qui décrit l’action métier.
Le contenu du corps et des parameters dépend de chaque action. Voir dans la description de chaque action métier |
Données métier | "data" | Paramètres d'entrée attendus par l'action métier. Dépend de chaque action. Voir dans la description de chaque action métier |
Header
Un HEADER HTTP est uniquement utilisé pour indiqué le Content-Type : application/json , mais pas de header d'authentification puisqu'elle passe par le champ "access_token" du corps
Rappel
Il ne faut pas confondre "l'action de service web" et "l'action métier"
L'action du service web est celle configurée dans Harmony dans "Actions des services". Elle fait le lien entre un NOM D'ACTION SERVICE et un PROGRAMME DIVA.
Ensuite le PROGRAMME DIVA est en général un traitement de routage, qui va utiliser les paramètres afin de déterminer L'ACTION METIER a traiter et les données pour ce traitement
Exemple :
Divalto fournit un NOM D'ACTION SERVICE en mode rest : WEB_SERVICE_INFINITY qui fait appel a A5PPSWINFINITY.DHOP
A5PPSWINFINITY.DHOP est un programme avec routage
Il va chercher dans les paramètres reçus le NOM D'ACTION METIER
Il traite l'action métier a partir des données de la zone paramètres
Exemple de corps http pour l’appel de l’action de service web WEB_SERVICE_INFINITY, pour l’action métier INTERROGER qui attend un paramètre DOS pour le contexte d’appel et un paramètre TIERS dans le corps de la demande métier
{ "action":"WEB_SERVICE_INFINITY", "access_token":"{{TOKEN}}", "param":" { 'action': { 'swinfinity': 'INTERROGER' } 'parameters': { 'dos': '998' }, 'data': { 'TIERS':'monTiers' } }" }
{ => ouverture du corps http "action":"WEB_SERVICE_INFINITY", =>la balise action de premier niveau est l'action de service web "access_token":"{{TOKEN}}", =>le jeton d'authentification "param":" =>la zone param contient la demande métier sous forme de chaîne donc entouré de " { => ouverture du corps demande métier 'action': =>la balise action dans param est l'action métier { 'swinfinity': 'INTERROGER' =>nom de l'action métier } 'parameters': =>paramètres de contexte pour la demande { 'dos': '998' =>les valeurs attendues 'parameters' dépendent de chaque demande métier }, 'data': =>données de la demande { 'TIERS':'monTiers' =>les valeurs attendues 'data' dépendent de chaque demande métier } }" =>fermeture du corps demande métier + fin de la zone param de la demande métier sous forme de chaîne donc entouré de " } =>fermeture du corps http
L'URL a utiliser pour les demandes d'action métier est sous la forme : base commune de l'URL + '/api/v1/WebService/Execute'
Exemple d'URL sur un poste local:
http://localhost:8080/DhsDivaltoServiceDivaApiRest/api/v1/WebService/Execute
Exemple d'URL en Divalto cloud:
https://api.divaltocloud.com/123456/TEST1/api/v1/WebService/Execute
Exemple de paramétrage d'action des services Harmony:
Exemple de demande d'action de service :
{
"action":"ACADEMY_REST",
"access_token":"eyJhbGciOiJodHRwOi8vd3d3LnczLm9yZy8yMDAxLzA0L3htbGRzaWctbW9yZSNobWFjLNoYTI1NiIsInR5cCI6IkpXVCJ9.eyJpZGVudCI6IkRpdmFsdG9BcGlSZXN0IiwidXNlciI6mJsaXR0ZWwiLCJwYXNzd29yZCI6ImxrajEyMzIxQSIsImVudiI6IkVSUDIxNSIsImRvbWFpbiI6ImRpdmFsdG8iLCJleHAiOiI0DI4MSw0NjYzMTY4NjM0In0.Vx_Qe_WbRhA0qjMOP4tiB-hUnC2lBwsy68GDzzryLhk"
"param":"{ 'items': { 'dos': '998', 'ref': 'BLO0001', 'srefList': { 'srefElem': [ {'sref1': 'XL', 'sref2': 'BLEU'}, {'sref1': 'L' , 'sref2': 'BLANC'}, {'sref1': 'XL', 'sref2': 'BLANC'} ] } }}",
}
=> Fait appel a l'action métier ACADEMY_REST en donnant des paramètres pour effectuer la demande
Le traitement Diva appelé ne reçoit que la zone 'param' transmise par l'appelant. L'enveloppe JSON ainsi que les informations d'authentification sont inconnues du traitement métier
Pour des exemples de demandes et de réponses, il faut se reporter aux chapitres concernant les différents services web métier
- Actions du SW WEB_SERVICE_INFINITY (REST)
- SW communs (WEB_SERVICE_INFINITY)
- SW en comptabilité/règlements (WEB_SERVICE_INFINITY)
- SW en gestion commerciale/CRM/Production (WEB_SERVICE_INFINITY)
- Création de pièce (V10.5) (JSON)
- Liste des commandes d'un client (V10.7) (JSON)
- Interrogation de stock (V10.7) (JSON)
- Création et interrogation d’une fiche contact (V10.8) (JSON)
- Interrogation de tarif (V10.8) (JSON)
- Interrogation fiche client (V10.8) (JSON)
- Liste des pièces commerciales d'un client (V10.8) (JSON)
- Mise à disposition d'une pièce administrative en PDF (V10.8) (JSON)
- Demande/Ordre de modification article (V10.11) (JSON)
- Dépot de fichier pour scrutateur production (V10.11) (JSON)
- Création de données techniques production (V10.11) (JSON)
- Création articles (V10.12) (JSON)
- Déposer un média article (V10.12) (JSON)
- Création d'élément d'affaire et évolution de besoins d'affaire (V10.12) (JSON)
- SW en gestion Affaire/Contrats/IM/GRM (WEB_SERVICE_INFINITY)
- Intégration et interrogation contrat (V10.9) (JSON)
- Intégration et interrogation affaire (V10.9 (JSON)
- Mise à jour compteur matériel / équipement (V10.8) (JSON)
- Modification d'intervention (V10.7) (JSON)
- Création devis travaux (V10.7) (JSON)
- Intégration d'équipement (V10.7) (JSON)
- Interrogation d’ouvrage (V10.7) (JSON)
- Résumé d'affaire (V10.7) (JSON)
- SW de création Datahub (WEB_SERVICE_INFINITY)
- Actions du SW SYNCHRO_INFINITY_AGILEO
- SW communs (SYNCHRO_INFINITY_AGILEO)
- SW en Paie/CRM/Processus (SYNCHRO_INFINITY_AGILEO)
- SW en gestion commerciale/Affaires (SYNCHRO_INFINITY_AGILEO)
- Création de pièce (V10.5)
- Interrogation stock (V10.5) (XML)
- Interrogation tarif (V10.5)
- Écrire dans le PAF (XML)
- Mise à disposition d'une pièce administrative en PDF (V10.5) (XML)
- Etat pièce commerciale (V10.5) (XML)
- Résumé affaire (V10.5) (XML)
- Occurrence cartographie (V10.5) (XML)
- Contrats et PFC validable en facture (V10.5) (XML)
- SW de création Datahub (SYNCHRO_INFINITY_AGILEO)