Voici une synthèse de l'appel API REST Divalto pour des appels extérieurs (hors Diva).
...
L'appel d'authentification est un appel avec header Content-Type : application/json et le corps suivant:
{
"domain":"{{DOMAIN}}",
"user": "{{LOGIN}}",
"password": "{{PASSWORD}}",
"env": "{{ENV}}"
}
avec pour réponse en réussite un error à 0 et un access_token
{
"error": 0,
"access_token": "xyz",
"txterr": "",
"infos": ""
}
L'appel de lecture de données est un appel avec header Content-Type : application/json et le corps suivant:
{
"dhoq" : "{{NOM DU DICTIONNAIRE DE RECORDSQL}}",
"recordsql" : "{{NOM DU RECORDSQL}}",
"access_token" : "xyz",
"parameters" : " ",
"fields" : "NOM DES CHAMPS A RECUPERER, VIDE ENVOIE TOUT",
"where" : "NOM CONDITION WHERE PAR EXEMPLE Equal_Tiers ",
"where_parameters" : "PARAMETRE CONDITION WHERE PAR EXEMPLE tiers=C0000001",
"offset" : 0,
"count" : 10000,
"orderby" : "NOM DE TRI",
"having" : " ",
"having_parameters" : " ",
"infos" : " "
}
avec pour réponse en réussite un error à 0 et un tableau de records
{
"error": 0,
"txterr": "",
"tablename": "NOM DE LA TABLE DU FROM",
"nbrecord": 1,
"records": [
{
"record": {
"TABLE_ID": "2",
"DOS": "998",
"CHAMP1": "valeur",
}
}
],
"infos": ""
}
Service web REST pour des fonctions métier
...
L'appel d'authentification est un appel avec header Content-Type : application/json et le corps suivant:
{
"domain":"{{DOMAIN}}",
"user": "{{LOGIN}}",
"password": "{{PASSWORD}}",
"env": "{{ENV}}"
}
avec pour réponse en réussite un error à 0 et un access_token
{
"error": 0,
"access_token": "xyz",
"txterr": "",
"infos": ""
}
L'appel du service métier d'interrogation de stock est un appel avec header Content-Type : application/json et le corps suivant:
{
"action":"SYNCHRO_INFINITY_AGILEO",
"param":"<dem><action dos=\"998\" nom=\"INTERROGER_STOCK\" ><ref>ALB0001</ref><depot>*</depot></action></dem>",
"access_token":"xyz"
}
avec pour réponse en réussite un error à 0 et un result
{
"error": 0,
"result": "<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>\r\n<rep version=\"1\" >\r\n<action dos=\"998\" nom=\"interroger_stock\" />\r\n Ref=\"ALB0001\" Depot=\"*\" Nst=\"N\" QteDispo=\"366,000\" QteRes=\"38,000\" QteStock=\"404,000\" >\r\n</rep>\r\n</action>\r\n",
"txterr": "",
"infos": ""
}
Avertissement |
---|
On remarque ici que l'appel illustré en mode REST avec un format de transport JSON intègre une demande (balise"action" à l'intérieur de la zone "param") de service métier en format HMP ou XML. La réponse se fait également en mode REST/JSON mais avec une réponse métier au format XML. |
...