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 ) ) )
Liste des opérations
SELECT / LOGIN
SELECT / GRID_CONFIG
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.
DemAction : SELECT
DemCat : GRID_CONFIG
DemOptions :
- GridCode : Code pour identifier la grille.
- NomSession : Même nom de session utilisé lors de l'envoi d'une requête sous forme de JSON.
- LngUID : Langue d'affichage (0 = Français, 1 = Anglais)
Informations retournées :
{ "View":[ { "ViewUID":"382", "ViewName":"Ma vue", "ViewSelected":"1" }, { "ViewUID":"5468", "ViewName":"Multi-trans", "ViewSelected":"0" }, { "ViewUID":"4253", "ViewName":"Pr\u00E9nom / Nom", "ViewSelected":"0" }, { "ViewUID":"5411", "ViewName":"Toutes les colonnes de Pr\u00E9nom / Nom", "ViewSelected":"0" }, { "ViewUID":"5524", "ViewName":"Vue largeurs colonnes", "ViewSelected":"0" } ], "Filter":[ { "FilterUID":"372", "FilterName":"Clients anglophones", "FilterSelected":"0" }, { "FilterUID":"374", "FilterName":"Clients avec le lien Conjoint/Conjointe", "FilterSelected":"0" }, { "FilterUID":"375", "FilterName":"Clients avec le lien Employ\u00E9/Employeur", "FilterSelected":"0" }, { "FilterUID":"376", "FilterName":"Clients francophones", "FilterSelected":"0" } ], "PushButton":[ { "Name":"pbActif", "Label":"Actif", "GroupIndex":"1", "ButtonIndex":"1", "Down":"1" }, { "Name":"pbInactif", "Label":"Inactif", "GroupIndex":"1", "ButtonIndex":"2", "Down":"0" } ] }
View : Liste des vues pour cette grille et visibles par l'utilisateur
- ViewUID : ID de la vue
- ViewName : Nom de la vue
- ViewSelected : Vue sélectionnée par défaut
Filter : Liste des filtres sauvegardés pour cette grille et visibles par l'utilisateur
- FilterUID : ID du filtre
- FilterName : Nom du filtre
- FilterSelected : Filtre sauvegardé par défaut
PushButton : Liste des boutons de filtre rapide
- Name : Nom du bouton
- Label : Libellé affiché sur le bouton
- GroupIndex : ID du groupe. Les boutons d'un même groupe sont collés les uns sur les autres. Les différents groupes sont séparés par un espace.
- ButtonIndex : Ordre des boutons à l'intérieur d'un groupe
- Down : 0 = Bouton inactif, 1 = Bouton actif
Nom du document : Fonctions communes:API