Fonctions communes:API : Différence entre versions

De Logilys
Aller à : navigation, rechercher
Ligne 162 : Ligne 162 :
 
== Liste des opérations ==
 
== Liste des opérations ==
 
[[SELECT / LOGIN]]
 
[[SELECT / LOGIN]]
 
== 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.
 
<br><br>
 
DemAction : SELECT<br>
 
DemCat : LOGIN<br>
 
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)
 
<br>Informations retournées : <pre>
 
 
  "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"
 
    }
 
}
 
</pre>
 
'''Usr''' : Informations sur l'utilisateur et le login<br>
 
* 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  ==
 
== Récupération de la configuration d'une grille  ==

Version du 25 octobre 2017 à 07:54

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

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