Fonctions communes:API
API |
Communications (exemple en php)
Pour utiliser l'API, les requêtes doivent passer par LDE. Les communications se font par l'intermédiaire de fichiers JSON. Voici un exemple en php servant à faire une demande à LDE afin de récupérer de l'information :
$jsonfile='{'; $jsonfile.='"UID":"1318396",'; $jsonfile.='"Session":"ifcu20j7de8q5m96r1ovpheog4",'; $jsonfile.='"DemSoftware":"PRODON",'; $jsonfile.='"DemCat":"LOGIN",'; $jsonfile.='"DemAction":"SELECT",'; $jsonfile.='"DemOptions":{"LngUID":0,"UsrEmail":"exemple@exemple.com","NomSession":""}'; $jsonfile.='}'; $ch=curl_init(); curl_setopt($ch,CURLOPT_URL,"https://192.168.0.50"); curl_setopt($ch,CURLOPT_PORT,"123"); curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); curl_setopt($ch,CURLOPT_POST,1); curl_setopt($ch,CURLOPT_USERPWD,"username:password"); curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,TRUE); curl_setopt($ch,CURLOPT_CAINFO,"/path/to/cacert.pem"); curl_setopt($ch,CURLOPT_POSTFIELDS,array("filecontenttype"=>"application/json","file"=>$jsonfile)); curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,2); curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,30); curl_setopt($ch,CURLOPT_TIMEOUT,30); $result=curl_exec($ch);Fichier JSON
UID : Numéro unique servant uniquement à identifier la requête lorsqu'il est nécessaire de déboguer une requête.
Session : Texte de 100 caractères permettant de s'identifier dans votre logiciel. Cette chaîne de caractères doit être unique par utilisateur.
DemSoftware : Fait référence à la colonne « Application » dans la grille de la fenêtre de configuration de LDE. Sert à identifier à quel logiciel se connecter. (advenant le cas où vous auriez plusieurs logiciels de Logilys)
DemCat : Sert à identifier l'opération à effectuer. Voir la liste ci-dessous.
DemAction : Sert à identifier l'opération à effectuer. Voir la liste ci-dessous.
DemOptions : Paramètres nécessaires pour effectuer l'opération voulue. La liste va changer selon l'opération identifiée par DemAction et DemCat.
Envoi du JSON avec curl
CURLOPT_URL : URL pour accéder à votre LDE.
CURLOPT_PORT : Port SSL inscrit dans la section « Web Server » de la fenêtre de configuration de LDE.
CURLOPT_USERPWD : Username et Password inscrit dans la section « Web Server » de la fenêtre de configuration de LDE.
CURLOPT_CAINFO : Doit pointer vers votre certificat SSL.
CURLOPT_POSTFIELDS : Identifier le fichier JSON à envoyer. Il faut absolument documenter le filecontenttype à application/json.
Réception de la réponse
La réponse sera retournée sous forme de JSON. Voilà à quoi peut ressembler la réponse :
stdClass Object ( [Usr] => Array ( [0] => stdClass Object ( [UsrHidenNo] => 24 [LngUID] => 0 [Message] => ) ) [SecUsr] => Array ( [0] => stdClass Object ( [Security] => CLIGES [Access] => A M D C ) [1] => stdClass Object ( [Security] => ADRESSEGES [Access] => A M _ C ) [2] => stdClass Object ( [Security] => STD_RAPPORT_17 [Access] => O ) ) [Module] => Array ( [0] => stdClass Object ( [Module] => AEL [Active] => 1 ) [1] => stdClass Object ( [Module] => BENEF [Active] => 1 ) [2] => stdClass Object ( [Module] => DEL [Active] => 1 ) ) [DisplayFormat] => Array ( [0] => stdClass Object ( [LngUID] => 0 [LngCode] => FR [CurrencyFormat] => 0 [NegCurrencyFormat] => 14 [DecimalSeparator] => , [ThousandSeparator] => [DateSeparator] => . [ShortDateFormat] => jj.mm.aaaa [LongDateFormat] => jjjj j mmmm aaaa [DateTimeFormat] => jj.mm.aaaa hh:nn [ShortTimeFormat] => hh:nn [CurrencyString] => $ ) [1] => stdClass Object ( [LngUID] => 1 [LngCode] => EN [CurrencyFormat] => 0 [NegCurrencyFormat] => 0 [DecimalSeparator] => , [ThousandSeparator] => [DateSeparator] => / [ShortDateFormat] => yyyy/mm/dd [LongDateFormat] => dddd, mmmm d yyyy [DateTimeFormat] => yyyy/mm/dd hh:nn [ShortTimeFormat] => hh:nn [CurrencyString] => $ ) ) [Support] => Array ( [0] => stdClass Object ( [NoSerie] => 0007008012 [OrgCodeP] => G6T 1S7 [OrgBur] => (819) 758-0560 ) ) [About] => Array ( [0] => stdClass Object ( [NoSerie] => 0007008012 [Version] => 5.0.5 [TypeVersion] => Multi-utilisateur [VersionSQL] => Developer Edition (64-bit) 11.0.2100.60 RTM [NbLic] => 10 ) ) )
Ouverture de session
L'ouverture de session est obligatoire. Aucune requête ne sera fonctionnelle tant qu'une session n'aura pas été ouverte dans votre logiciel.
DemAction : SELECT
DemCat : LOGIN
DemOptions :
- UsrEmail : Courriel servant à s'identifier. Doit correspondre au courriel inscrit dans la fiche de l'utilisateur dans votre logiciel.
- NomSession : Même nom de session utiliser lors de l'envoi d'une requête sous forme de JSON.
- LngUID : Langue d'affichage (0 = Français, 1 = Anglais)
Informations retournées :
{ "Usr":[ { "UsrHidenNo":"5", "LngUID":"0", "Message":"" } ], "SecUsr":[ { "Security":"ASSNOUVALCLI", "Access":"O" }, { "Security":"CLIGES", "Access":"A M D C" }, { "Security":"ADRESSEGES", "Access":"A M _ C" } ], "DisplayFormat":[ { "LngUID":"0", "LngCode":"FR", "CurrencyFormat":"0", "NegCurrencyFormat":"14", "DecimalSeparator":",", "ThousandSeparator":"\u00A0", "DateSeparator":".", "ShortDateFormat":"jj.mm.aaaa", "LongDateFormat":"jjjj j mmmm aaaa", "DateTimeFormat":"jj.mm.aaaa hh:nn", "ShortTimeFormat":"hh:nn", "CurrencyString":"$" }, { "LngUID":"1", "LngCode":"EN", "CurrencyFormat":"0", "NegCurrencyFormat":"0", "DecimalSeparator":",", "ThousandSeparator":" ", "DateSeparator":"/", "ShortDateFormat":"yyyy/mm/dd", "LongDateFormat":"dddd, mmmm d yyyy", "DateTimeFormat":"yyyy/mm/dd hh:nn", "ShortTimeFormat":"hh:nn", "CurrencyString":"$" } ], "Support":[ { "NoSerie":"0007008012", "OrgCodeP":"G6T 1S7", "OrgBur":"(819) 758-0560" } ], "About":[ { "NoSerie":"0007008012", "Version":"5.0.5", "TypeVersion":"Multi-utilisateur", "VersionSQL":"Developer Edition (64-bit) 11.0.2100.60 RTM", "NbLic":"10" } ], "Org":[ { "OrgUID":"1", "OrgCode":"ORG1", "OrgNom":"Fondation Démo" } }
Usr
- UsrHidenNo : Numéro de l'utilisateur correspondant au courriel utilisé pour le login. Si ce champ est vide, c'est que le login a échoué.
- LngUID : Langue d'affichage (0 = Français, 1 = Anglais)
- Message : Message d'erreur indiquant pourquoi le login a échoué.
Récupération de la configuration d'une grille
Cette opération permet de récupérer la liste des vues, des filtres et des boutons de filtre rapide pour une grille précise.
Nom du document : Fonctions communes:API