Fonctions communes:API : Différence entre versions
Ligne 1 : | Ligne 1 : | ||
− | {{ | + | {{Entete_TOC}}<br> |
== Communications (exemple en php) == | == Communications (exemple en php) == |
Version du 25 octobre 2017 à 06:49
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 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 :
{ "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 : Informations sur l'utilisateur et le login
- 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é.
SecUsr : Sécurités
- Security : Code de la sécurité
- Access : Accès pour cette sécurité (AMDC ou Oui/Non)
DisplayFormat : Configurations pour les formats d'affichage
- LngUID : Langue d'affichage (0 = Français, 1 = Anglais)
- LngCode : Code de la langue d'affichage
- CurrencyFormat : Format d'affichage pour les valeurs monétaires positives
0 = $1 1 = 1$ 2 = $ 1 3 = 1 $
- NegCurrencyFormat : Format d'affichage pour les valeurs monétaires négatives
0 = ($1) 1 = -$1 2 = $-1 3 = $1- 4 = (1$) 5 = -1$ 6 = 1-$ 7 = 1$- 8 = -1 $ 9 = -$ 1 10 = 1 $- 11 = $ 1- 12 = $ -1 13 = 1- $ 14 = ($ 1) 15 = (1 $)
- DecimalSeparator : Séparateur de décimales pour les valeurs monétaires
- ThousandSeparator : Séparateur de milliers pour les entiers supérieurs à 999
- DateSeparator : Séparateur de date
- ShortDateFormat : Format d'affichage pour les dates courtes sans heure, sans nom de jour ni de mois.
- LongDateFormat : Format d'affichage pour les dates longues sans heure mais ayant un nom de jour ou de mois.
- DateTimeFormat : Format d'affichage pour les dates ayant une heure
- ShortTimeFormat : Format d'affichage pour les heures
- CurrencyString : Devise monétaire
Support : Informations nécessaire pour l'affichage de la page de demande de soutien
- NoSerie : Numéro de série de la clé logicielle
- OrgCodeP : Code postal de l'organisme #1
- OrgBur : Téléphone au bureau de l'organisme #1
About : Informations nécessaire pour l'affichage de la page « À propos de... »
- NoSerie : Numéro de série de la clé logicielle
- Version : Version de l'application
- TypeVersion : Type de license
- VersionSQL : Numéro de la version de MS SQL Server
- NbLic : Nombre d'utilisateur simultanés
Org : Liste des organismes
- OrgUID : ID de l'organisme
- OrgCode : Code de l'organisme
- OrgNom : Nom de l'organisme
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