Fonctions communes:API : Différence entre versions
(Page créée avec « {{Entete_NOTOC}}<br> {{BasPage_Fonctions_communes}} ») |
(→Liste des opérations) |
||
(85 révisions intermédiaires par le même utilisateur non affichées) | |||
Ligne 1 : | Ligne 1 : | ||
− | {{ | + | {{Entete_TOC}}<br> |
+ | == 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 : | ||
+ | <pre> | ||
+ | $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,"<nowiki>https://192.168.0.50</nowiki>"); | ||
+ | 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); | ||
+ | </pre>'''Fichier JSON''' | ||
+ | |||
+ | UID : Numéro unique servant uniquement à identifier la requête lorsqu'il est nécessaire de déboguer une requête.<br>Session : Texte de 100 caractères permettant de s'identifier dans votre logiciel. Cette chaîne de caractères doit être unique par utilisateur.<br>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)<br>DemCat : Sert à identifier l'opération à effectuer. Voir la [[#Liste des opérations|liste des opérations]].<br>DemAction : Sert à identifier l'opération à effectuer. Voir la [[#Liste des opérations|liste des opérations]].<br>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.<br>CURLOPT_PORT : Port SSL inscrit dans la section « Web Server » de la fenêtre de configuration de LDE.<br>CURLOPT_USERPWD : Username et Password inscrit dans la section « Web Server » de la fenêtre de configuration de LDE.<br>CURLOPT_CAINFO : Doit pointer vers votre certificat SSL.<br>CURLOPT_POSTFIELDS : Identifier le fichier JSON à envoyer. Il faut absolument documenter le filecontenttype à application/json.<br> | ||
+ | |||
+ | '''Réception de la réponse''' | ||
+ | |||
+ | La réponse sera retournée sous forme de JSON. Voilà à quoi peut ressembler la réponse : | ||
+ | |||
+ | <pre> | ||
+ | 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 | ||
+ | ) | ||
+ | |||
+ | ) | ||
+ | |||
+ | ) | ||
+ | </pre> | ||
+ | |||
+ | == Liste des opérations == | ||
+ | {| class="wikitable" | ||
+ | !DemAction | ||
+ | !DemCat | ||
+ | !Explications | ||
+ | |- | ||
+ | |[[Fonctions_communes:API_-_SELECT_-_LOGIN|SELECT]] | ||
+ | |[[Fonctions_communes:API_-_SELECT_-_LOGIN|LOGIN]] | ||
+ | |Ouverture de session. | ||
+ | |- | ||
+ | |[[Fonctions_communes:API_-_SELECT_-_GRID_CONFIG|SELECT]] | ||
+ | |[[Fonctions_communes:API_-_SELECT_-_GRID_CONFIG|GRID_CONFIG]] | ||
+ | |Récupérer la configuration d'une grille. | ||
+ | |- | ||
+ | |[[Fonctions_communes:API_-_BROWSE_-_DATA|BROWSE]] | ||
+ | |[[Fonctions_communes:API_-_BROWSE_-_DATA|DATA]] | ||
+ | |Récupérer les données d'une grille. | ||
+ | |- | ||
+ | |[[Fonctions_communes:API_-_CONSULT_-_CLI|CONSULT]] | ||
+ | |[[Fonctions_communes:API_-_CONSULT_-_CLI|CLI]] | ||
+ | |Afficher les données d'un client. | ||
+ | |- | ||
+ | |[[Fonctions_communes:API_-_CONSULT_-_CLI_LIST|CONSULT]] | ||
+ | |[[Fonctions_communes:API_-_CONSULT_-_CLI_LIST|CLI_LIST]] | ||
+ | |Afficher les listes personnalisées de type client pour un client. | ||
+ | |- | ||
+ | |[[Fonctions_communes:API_-_LIST_-_WIDGET|LIST]] | ||
+ | |[[Fonctions_communes:API_-_LIST_-_WIDGET|WIDGET]] | ||
+ | |Afficher la liste des widgets disponibles. | ||
+ | |- | ||
+ | |[[Fonctions_communes:API_-_CONFIG_-_WIDGET|CONFIG]] | ||
+ | |[[Fonctions_communes:API_-_CONFIG_-_WIDGET|WIDGET]] | ||
+ | |Récupérer la liste des paramètres d'un widget. | ||
+ | |- | ||
+ | |[[Fonctions_communes:API_-_RESULT_-_WIDGET|RESULT]] | ||
+ | |[[Fonctions_communes:API_-_RESULT_-_WIDGET|WIDGET]] | ||
+ | |Récupérer les données nécessaires à l'affichage du widget. | ||
+ | |- | ||
+ | |[[Fonctions_communes:API_-_CHECK_-_MAINTENANCE|CHECK]] | ||
+ | |[[Fonctions_communes:API_-_CHECK_-_MAINTENANCE|MAINTENANCE]] | ||
+ | |Permet de vérifier si une mise à jour du logiciel est en cours. | ||
+ | |- | ||
+ | |[[Fonctions_communes:API_-_ELEVATE_-_USR|ELEVATE]] | ||
+ | |[[Fonctions_communes:API_-_ELEVATE_-_USR|USR]] | ||
+ | |Permet à un utilisateur de s'élever SUPERVISEUR ou de quitter le mode SUPERVISEUR. | ||
+ | |- | ||
+ | |[[Fonctions_communes:API_-_CONSULT_-_TAC|CONSULT]] | ||
+ | |[[Fonctions_communes:API_-_CONSULT_-_TAC|TAC]] | ||
+ | |Afficher les données d'une tâche. | ||
+ | |- | ||
+ | |[[Fonctions_communes:API_-_UPDATE_-_TOKEN_ADMIN|UPDATE]] | ||
+ | |[[Fonctions_communes:API_-_UPDATE_-_TOKEN_ADMIN|TOKEN_ADMIN]] | ||
+ | |Change le code de sécurité et l'expiration pour le compte DEVELOPPEUR. | ||
+ | |- | ||
+ | |[[Fonctions_communes:API_-_FIND_-_FILES|FIND]] | ||
+ | |[[Fonctions_communes:API_-_FIND_-_FILES|FILES]] | ||
+ | |Retourne la liste des fichiers de ce dossier. | ||
+ | |- | ||
+ | |[[Fonctions_communes:API_-_DOWNLOAD_-_FILE|DOWNLOAD]] | ||
+ | |[[Fonctions_communes:API_-_DOWNLOAD_-_FILE|FILE]] | ||
+ | |Télécharge un fichier. | ||
+ | |- | ||
+ | |[[Fonctions_communes:API_-_UPLOAD_-_FILE|UPLOAD]] | ||
+ | |[[Fonctions_communes:API_-_UPLOAD_-_FILE|FILE]] | ||
+ | |Téléverse un fichier. | ||
+ | |} | ||
+ | |||
+ | == Erreurs == | ||
+ | Lorsqu'une opération génère une erreur, le résultat retourne 3 informations : Le code d'erreur (ErrCode), le message (ErrMessage) et possiblement des informations supplémentaires sur l'erreur (ErrMemo). | ||
+ | <br><br> | ||
{{BasPage_Fonctions_communes}} | {{BasPage_Fonctions_communes}} |
Version actuelle datée du 15 mai 2019 à 13:38
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 des opérations.
DemAction : Sert à identifier l'opération à effectuer. Voir la liste des opérations.
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
DemAction | DemCat | Explications |
---|---|---|
SELECT | LOGIN | Ouverture de session. |
SELECT | GRID_CONFIG | Récupérer la configuration d'une grille. |
BROWSE | DATA | Récupérer les données d'une grille. |
CONSULT | CLI | Afficher les données d'un client. |
CONSULT | CLI_LIST | Afficher les listes personnalisées de type client pour un client. |
LIST | WIDGET | Afficher la liste des widgets disponibles. |
CONFIG | WIDGET | Récupérer la liste des paramètres d'un widget. |
RESULT | WIDGET | Récupérer les données nécessaires à l'affichage du widget. |
CHECK | MAINTENANCE | Permet de vérifier si une mise à jour du logiciel est en cours. |
ELEVATE | USR | Permet à un utilisateur de s'élever SUPERVISEUR ou de quitter le mode SUPERVISEUR. |
CONSULT | TAC | Afficher les données d'une tâche. |
UPDATE | TOKEN_ADMIN | Change le code de sécurité et l'expiration pour le compte DEVELOPPEUR. |
FIND | FILES | Retourne la liste des fichiers de ce dossier. |
DOWNLOAD | FILE | Télécharge un fichier. |
UPLOAD | FILE | Téléverse un fichier. |
Erreurs
Lorsqu'une opération génère une erreur, le résultat retourne 3 informations : Le code d'erreur (ErrCode), le message (ErrMessage) et possiblement des informations supplémentaires sur l'erreur (ErrMemo).
Nom du document : Fonctions communes:API