L'architecture REST est un service qui vous permet d'effectuer différentes opérations d'échange d'information.
...
Consultez les chapitre dédiés aux services web pour plus d’informations
Note : le protocole SOAP n’est plus supporté par la plateforme depuis septembre 2024
Authentification
Quel que soit le type d'opération que vous souhaitez effectuer (en dehors de l'accès à un webhook), l'authentification est une étape préalable avant tout dialogue avec le service.
L'adresse suivante doit être utilisée pour fournir les paramètres d'identification qui vous permettront d'obtenir un token en retour. Ce token dispose d'une durée de validité de 45 minutes
https://api.divaltocloud.com/[NUMEROSITE]/[ENVIRONNEMENT]/api/v1/Authent/Auth
Les paramètres d'identification doivent être transmis au format de données JSON au travers d'une méthode HTTP "POST" :
...
Bloc de code | ||
---|---|---|
| ||
{ "error": 0, "access_token": "eyJhbGciOiJodHRwOi8vd3d3LnczLm9yZy8yMDAxLzA0L3htbGRzaWctbW9yZSNobWFjLXNoYTI1NiIsInR5cCI6IkpXVCJ9.eyJpZGVudCI6IkRpdmFsdG9BcGlSZXN0IiwidXNlciI6IkFkbWluQEM2OTkwNTUuZGl2YWx0by5jb20iLCJwYXNzd29yZCI6Im5xNGpYZ2M0IiwiZW52IjoiVEVTVElORyIsImRvbWFpbiI6ImRpdmFsdG9jbG91ZCIsImV4cCI6IjQ0NDEzLjUyOTY5MzM2ODEifQ.7c5XsztQ_9y92uccgWZqKw4-oe55SlB8UZzAI6-AJmE", "txterr": "", "infos": "" } |
WebService DIVA
L'appel d'un WebService DIVA au travers du service REST API repose sur l'utilisation d'un code action qui lui-même fait référence à un programme (DHOP). Ce programme sera ensuite en mesure d'effectuer des opérations de type 'métier' selon les paramètres qui lui seront envoyés.
Les codes des actions sont définis par environnement en utilisant le programme d'Administration Cloud (Onglet 'Services Web) (cf. chapitre 'Administration'). Vous pouvez exploiter des codes actions prédéfinis ou effectuer une nouvelle déclaration en enchainant sur un programme spécifique.
Les paramètres doivent être envoyés au format de données JSON au travers d'une méthode HTTP "POST" sur le lien suivant : https://api.divaltocloud.com/[NUMEROSITE]/[ENVIRONNEMENT]/api/v1/WebService/Execute
"action" * : Nom de l'action
"param" : Liste des paramètres
"access_token" * : Token en cours de validité pour l'accès au service (Obligatoire si non déclaré en entête (Bearer Token))
...
Bloc de code | ||
---|---|---|
| ||
{ "error": 0, "result": "Pong Version 2021 sur dclparwsc821 Action PING Xlogf= //DhsXlanServer/testing/config/global/xlog.dhfi Env=TESTING Tâche=355", "txterr": "", "infos": "" } |
RecordSQL DIVA
Cette API offre la possibilité d'interroger directement des informations situées dans la base de données SQL d'un environnement ERP. Ainsi, pour lire des données, vous n'avez plus besoin d'invoquer un programme Diva étant donné que l'API peut s'en charger directement.
Par défaut, le service API REST RecordSQL n'expose aucune donnée. La première opération à effectuer consiste à déclarer les fichiers Record SQL (Format DHOQ) dont vous souhaitez autoriser l'accès au travers de cette API. Ces paramètres sont définis par environnement en utilisant le programme d'Administration Cloud (Onglet 'REST') (cf. chapitre 'Administration').
Vous devez par ailleurs vous assurer que l'identifiant utilisé lors de l'obtention du token est bien associé à l'environnement sur lequel vous souhaitez réaliser le traitement (l'affectation à un modèle d'utilisateur ou un profil de licence n'est cependant pas nécessaire).
Vous pouvez récupérer jusqu'à 1000 enregistrements avec une seule requête. Il est possible de paginer les résultats en utilisant les paramètres « offset » et « count ». Par exemple si vous souhaitez récupérer les informations par lot de 100, la première requête doit contenir un offset à 0 et un count à 100, la seconde requête doit contenir un offset à 100 et un count à 100, etc...
Le nombre de résultat réellement retourné est contenu dans un paramètre de retour (Nbrecord) que vous pouvez exploiter pour déterminer la fin des enregistrements.
Les paramètres doivent être envoyés au format de données JSON sans oublier d'y intégrer la valeur du token d'authentification au travers d'une méthode HTTP "POST" sur le lien suivant :
https://api.divaltocloud.com/[NUMEROSITE]/[ENVIRONNEMENT]/api/v1/RecordSql/Execute
"dhoq" * : Indique le nom du fichier Record SQL (Fichier DHOQ)
"recordsql" * : Indique le nom du Record SQL du fichier DHOQ
"access_token" * : Token en cours de validité pour l'accès au service (Obligatoire si non déclaré en entête (Bearer Token))
"parameters" : Liste des champs et leurs valeurs (en majuscules et en précisant la table) séparés par un point-virgule pour servir de référence en tant que clé lors de l'exécution de la requête. Par défaut, ce champ est renseigné automatiquement avec les paramètres variables pour traiter la requête. (Exemple pour la notion de contexte (paramètres utilisateurs) : MZ.DOS=998)
"fields" : Liste des champs en retour (en majuscules sans préciser la table) séparés par un point-virgule. Par défaut le retour contient l'intégralité des champs de la table
"where" : Nom de la condition 'WHERE'
"where_parameters" : Liste des paramètres de la condition 'where' selon fichier Record SQL
"offset" : Décalage à appliquer pour la lecture (pagination)
"count" : Nombre d'enregistrements à récupérer (défaut : 1)
"orderby" : Nom du tri tel qu'il figure dans le fichier Record SQL.
"having" : Nom de la condition 'HAVING'
"having_parameters" : Liste des paramètres de la condition 'having'
"infos" : Obtenir des statistiques ou générer des traces à la suite de l'exécution de la requête (<perf>1)
"filter" : Filtres avancés
"operator_where" : La valeur 'OR' permet d'appliquer un OU logique (Défaut : ET)
"where" : Définition des clauses WHERE
"whereaddcondition": Définition des conditions entre les clauses WHERE
"createwhere" : Création de nouvelles conditions WHERE
"whereremovecondition" : Suppression de conditions WHERE spécifiques
"joindeactivate": Désactivation des jointures vers les tables en dépendance
...