Documentation et test de l'API JLOGICIELS


Les API (Interface de Programmation Applicative) permettent à plusieurs applications (exemple: logiciel de gestion, site internet, autre logiciel) de communiquer entre elles.
L'API JLOGICIELS fournit aux développeurs les outils permettant de consulter la base de données de votre logiciel JLOGICIELS.

Ainsi, si vous souhaitez par exemple :
  • afficher sur votre site internet vos articles avec les quantités en stock
  • fournir de manière automatique à un autre logiciel des informations sur vos clients, fournisseurs, etc.
  • transmettre à une application les commandes en cours
  • etc.
votre développeur disposera avec cette API des outils nécessaires pour faire le lien.

Sécurité et gestion de l'authentification

Suite à votre abonnement au service API JLOGICIELS:
  • un identifiant "token" vous sera attribué
  • vous devrez fournir à notre service technique la liste des adresses IP autorisées à utiliser l'API
  • les droits et données accessibles seront paramétrés en fonction de votre demande
Et aussi:
  • vous pouvez paramétrer les droits de l'utilisateur API dans la gestion des utilisateurs
  • un journal vous permet de vérifier les consultations effectuées par l'API

Appel à l'API

L'API JLOGICIELS permet de consulter la base de données de votre logiciel.
L'URL est la suivante: https://jaime.jlogiciels.fr/API/get.php

Cet appel générique doit être effectué avec les paramètres POST décrits ci-après et permettant de préciser:
  • la table concernée (paramètre "vue")
  • le mode: Liste, Instance, DocsInstance, TelechargerDoc (paramètre "mode")
  • l'identifiant de l'instance si mode = Instance ou DocsInstance ou TelechargerDoc (paramètre "id")
  • le nom du document si mode = TelechargerDoc (paramètre "fichier")
L'API peut être appelée de 4 manières différentes pour obtenir:
  • la liste des éléments d'une table (clients, factures, devis, etc.)
  • le détail d'un élément (instance) d'une table
  • la liste des documents (pièces jointes) associés un élément (instance)
  • un document fichier associé à une instance d'une table

Consulter la liste des Devis / Commandes clients / BLs / Factures / Articles / etc.

En standard, l'API permet de consulter toutes les tables principales du logiciel.
Si vous disposez de tables spécifiques, merci de contacter notre assistance afin que nous ouvrions l'accés en fonction de votre besoin.

Les paramètres à positionner pour consulter la liste des éléments d'une table sont les suivants:
  • token: fourni par nos services et permettant d'identifier votre logiciel
  • vue: le nom de la table à consulter (Devis / Commandes clients / BLs / Factures / Articles / etc.)
  • mode: égal à "Liste" pour demander la liste des éléments de la table
  • clause: ce paramètre facultatif permet si besoin de restreindre la liste retournée en appliquant un filtre.
    Par exemple: la liste des factures modifiées depuis une date, ou pour un client, etc.
    Veuillez vous rapprocher de nos services pour plus de détails sur ce paramètre.
Ces paramètres sont à positionner avec la méthode POST.

Demander les détails d'un Devis / Commandes clients / BLs / Factures / Articles / etc.

Suite à la consultation de la liste, vous pouvez faire cet appel pour extraire toutes les informations relatives à un élément (instance).

Les paramètres à positionner sont les suivants:
  • token: fourni par nos services et permettant d'identifier votre logiciel
  • vue: le nom de la table à consulter (Devis / Commandes clients / BLs / Factures / Articles / etc.)
  • mode: égal à "Instance" pour demander une instance
  • id: contient l'id de l'instance
Ces paramètres sont à positionner avec la méthode POST.

Consulter la liste des pièces jointes associés à un Devis / Commande / BL / Facture / Client / etc.

Suite à la consultation de la liste, vous pouvez faire cet appel pour consulter la liste des pièces jointes relatives à un élément (instance).

Les paramètres à positionner sont les suivants:
  • token: fourni par nos services et permettant d'identifier votre logiciel
  • vue: le nom de la table à consulter (Devis / Commandes clients / BLs / Factures / Articles / etc.)
  • mode: égal à "DocsInstance" pour demander la liste des pièces jointes d'une instance
  • id: contient l'id de l'instance
Ces paramètres sont à positionner avec la méthode POST.

Télécharger un document

Suite à la consultation de la liste des pièces jointes d'une instance, vous pouvez faire cet appel pour télécharger une pièce jointe.

Les paramètres à positionner sont les suivants:
  • token: fourni par nos services et permettant d'identifier votre logiciel
  • vue: le nom de la table à consulter (Devis / Commandes clients / BLs / Factures / Articles / etc.)
  • mode: égal à "TelechargerDoc" pour télécharger une pièce jointe
  • id: contient l'id de l'instance
Ces paramètres sont à positionner avec la méthode POST.

TEST de l'API

Veuillez entrer ci-dessous la clé API (token) de votre logiciel (cette clé vous est fournie par JLOGICIELS si vous disposez d'une licence API)
Laissez ce champ vide si vous souhaitez une démonstration avec notre base de test.

Les champs retournés par l'API dépendent de votre "token" et sont personnalisables en fonction de votre besoin.
N'hésitez pas à nous contacter pour plus de précisions.

Paramètre token :


Indiquez la vue que vous souhaitez consulter (Factures, Clients, etc.)

La liste des vues disponibles dépend de votre "token" et est personnalisable en fonction de votre besoin.
N'hésitez pas à nous contacter pour plus de précisions.

Paramètre vue :


Vous pouvez demander une liste complète ou toutes les informations d'une instance

D'autres modes peuvent être mis en place pour votre token en fonction de votre besoin.
N'hésitez pas à nous contacter pour plus de précisions.

Paramètre mode :


Si vous souhaitez consulter une instance, vous devez renseigner son ID (Id MySql)

Paramètre id :


Si vous souhaitez télécharger un fichier associé à une instance, vous devez renseigner son nom (avec suffixe)

Paramètre fichier :




Ci-dessous le JSON retourné par l'API

Exemple de codage en PHP


Dans l'exemple ci-dessous, nous faisons un appel de l'API avec :
  • le token "DEMO"
  • la vue "Clients"
  • la mode "Liste"
$postdata = http_build_query(
     array(
          "token" => "DEMO",
          "vue" => "Clients",
          "mode" => "Liste"
     )
);

$opts = array(
     'http' =>
     array(
          'method' => 'POST',
          'header' => 'Content-type: application/x-www-form-urlencoded',
          'content' => $postdata
     )
);
$context = stream_context_create($opts);
$result = file_get_contents('https://jaime.jlogiciels.fr/API/get.php', false, $context);
echo $result;

L'API retourne ici un JSON contenant la liste des clients.

[{
     "Id":"6",
     "DateCreation":"2013-03-19",
     "DateMaj":"2020-11-13",
     "NomPrenom":"Client Exemple 1",
     "Prefixe":"SARL",
     "Adresse1":"rue des lilas",
     "Adresse2":"",
     "CP":"31200",
     "Ville":"TOULOUSE",
     "Pays":"FRANCE",
     "Compte":"6"
},{
     "Id":"7",
     "DateCreation":"2013-03-19",
     "DateMaj":"2014-06-04",
     "NomPrenom":"Client Exemple 2",
     "Prefixe":"M.",
     "Adresse1":"Rue des peintres",
     "Adresse2":"",
     "CP":"75011",
     "Ville":"PARIS 11EME ARRONDISSEMENT",
     "Pays":"FRANCE",
     "Compte":"7"
},{
     "Id":"9",
     "DateCreation":"2013-03-19",
     "DateMaj":"2013-03-21",
     "NomPrenom":"Client Exemple 3",
     "Prefixe":"SA",
     "Adresse1":"Rue de la fontaine",
     "Adresse2":"",
     "CP":"69007",
     "Ville":"LYON 7EME ARRONDISSEMENT",
     "Pays":"",
     "Compte":"9"
},{
     .....
}]

Dans l'exemple ci-dessous, nous téléchargeons un document grâce à l'API :
  • le token "DEMO"
  • la vue "Clients"
  • la mode "TelechargerDoc"
  • l'id de l'instance
  • le nom de fichier
$postdata = http_build_query(
     array(
          "token" => "DEMO",
          "vue" => "Clients",
          "mode" => "TelechargerDoc",
          "id" => "6",
          "fichier" => "Test doc.pdf"
     )
);

$opts = array(
     'http' =>
     array(
          'method' => 'POST',
          'header' => 'Content-type: application/x-www-form-urlencoded',
          'content' => $postdata
     )
);
$context = stream_context_create($opts);
$result = base64_decode(file_get_contents('https://jaime.jlogiciels.fr/API/get.php', false, $context));

header("Content-Disposition: inline; filename=Test doc.pdf");
header("Content-type: application/pdf");
header('Cache-Control: private, max-age=0, must-revalidate');
header('Pragma: public');
echo $result;