# API Logistics: Documentation Postman # Lien de la [documentation Postman](https://documenter.getpostman.com/view/40440561/2sB2qaj2Pz#4e3a3dd5-cfd2-4951-ad44-d78986780152) # Important * Toutes les requêtes sont bloquées derrière une clé API -\> Ajouter la clef API dans le header avec comme clé "X-API-KEY". * Attention: il se peut qu'il faille changer le Host dans les requêtes et spécifier le WebSocket. A vérifier avec le serveur. * Port HTTP : 5186 * Port HTTPS: 7126 * **Il faut mettre le nom du dossier en MINUSCULES dans les requêtes !!** ## Structure * **✔️ /dossier/tables_list** (POST): retourne la liste des différentes tables * **✔️ /dossier/column_list/tablename** (POST): retourne la liste des colonnes d'une table (spécifier le nom de la table) (de /dossier/tables_list) ## Journal (un journal contient un ou plusieurs documents) * **✔️ /dossier/jnl_list** (POST): récupère la liste des journaux sur base de certains critères * `select` quels éléments à sélectionner (les colonnes de la table `jnl`) * `results` le nombre de journaux à retourner * `TYPE` le filtre sur le code de journal obligatoire ## Article (un document possède un ou plusieurs articles) * **✔️ /dossier/art_getstk** (POST): récupère le stock d'un article sur base de son identifiant * `ARTID` l'identifiant de l'article * ✔️ **/dossier/art_list** (POST): récupère les 5 premiers articles avec différents paramètres (A voir à quoi sert `results`) * `select` les données à sélectionner (les colonnes de la table `art`) * `results` ??? (pas obligatoire) * `search` le filtre * ❓ **dossier/art_list** (POST): récupère des infos sur base d'un code barre (le champ `search` est obligatoire, mais pas présent) * `select` quels éléments à sélectionner (les colonnes de la table `art`) * `results` ??? (pas obligatoire) * `barcode` l'identifiant du code barre ## Document (un journal contient un ou plusieurs documents et un document contient un ou plusieurs articles) * **❌ /dossier/Document_GetPDF** (POST): récupère un PDF du journal (ne fonctionne pas, impossible de récupérer `layout`) * `JNL` le code de journal concerné * `NUMBER` l'identifiant du document sélectionné * `LAYOUT` ??? * **✔️ /dossier/Document_GetAttachListThumbnail** (POST): récupère les miniatures des annexes d'un journal (Attention: bien spécifier les fichiers attachés qui sont des images !) * `JNL` le code de journal concerné * `NUMBER` l'identifiant du document sélectionné * **✔️/dossier/Document_GetUnitPriceAndVat** (POST): récupère les prix et TVA d'un document * `ARTID` identifiant de référence de l'article * `QTY` ??? Format string obligatoire * `JNL` le code du journal * `THIRDID` l'identifiant d'un tiers (`custid` de la table `cust` à récupérer avec /dossier/third_list) * `DATE` une date d'un jour ??? * **✔️/dossier/Document_GetDueDate** (POST): Récupérer l'échéance final en fonction d'un délai et d'une date de départ * `paydelay` le type de délai de paiement * `date` la date de départ * **✔️ /dossier/document_list** (POST): récupère une liste de documents * `select` les éléments à sélectionner (les colonnes de la table `dochead`) * `thirdid` identifiant d'un tier (`custid` de la table `cust` à récupérer avec /dossier/third_list) * **✔️ /dossier/Document_GetStatusList** (POST): récupère la liste des statuts d'un journal pour les documents * `jnl` le code du journal * **✔️ /dossier/document_detail** (POST): récupère les détails d'un document * `jnl` le code du journal * `number` l'identifiant du document * **✔️ /dossier/document_add** (POST): ajoute un document (A voir comment ajouter des articles dans un document) * `ThirdId` un identifiant d'un tier (`custid` de la table `cust` à récupérer avec /dossier/third_list) * `Date` une date d'encodage * `Artid` un tableau d'identifiants d'articles (`artid` dans la table `art` à récupérer avec /dossier/art_list) * `Qty` un tableau de quantités des articles suivant la position * `Saleprice` un tableau des prix de vente à l'unité des articles * `Discount` un tableau des réductions de prix des articles * `Vatid` un tableau d'identifiants de pourcentages de TVA des articles ? * `Vatpc` un tableau des valeurs de pourcentages de TVA des articles ? * `JNL` le code du journal affecté * `Attachments` une liste de fichiers attachés (objets) * `FileName` le nom du fichier + extension * `FileDesc` la description du fichier * `FileContentBase64` le fichier chiffré en base64 * **✔️ /dossier/document_mod** (POST): modification d'un document (Attention, il faut rajouter un paramètre `number` qui va spécifier le document à modifier) * `number` l'identifiant du document à modifier * `Thirdid` identifiant d'un tier * `Artid` un tableau d'identifiants des articles * `Qty` un tableau de quantités d'articles liés à un document * `Saleprice` un tableau des prix de vente des articles liés à un document * `JNL` le code du journal lié au document * `Attachments` une liste de fichiers attachés (objets) * `FileName` le nom du fichier + extension * `FileDesc` la description du fichier * `FileContentBase64` le contenu du fichier chiffré en base64 ## Tiers (un tier a l'air de posséder un ou plusieurs documents) * **✔️ /dossier/third_list** (POST): Récupère les 10 premiers tiers respectant le filtre (A voir à quoi sert `results` + champ `name` absent, `search` à la place) * `select` les éléments à sélectionner (les colonnes de la table `cust`) * `results` ??? (pas obligatoire) * `search` un filtre sur les données sélectionnées (obligatoire) * **✔️ /dossier/third_GetArtHistory** (POST): Récupère l'historique des articles des documents d'un tiers * `thirdid` l'identifiant du tiers ## Divers * **✔️ /dossier/getserialnumber** (POST): Récupère un numéro de série du dossier * **❌ /dossier/custom_geninv_updatestock** (POST): Met à jour l'inventaire ???? (Comment récupérer `stkid` ???) * `ARTID` l'identifiant d'un article * `STKID` l'identifiant du stock d'un article (quel valeur à mettre ici ?) * `QTY` la quantité à mettre à jour du stock * `TOCHECK` le prix à payer ? * `TOCHECKDETAIL` les remarques ? * `MODE` ??? * **✔️ /dossier/codes_list** (POST): récupère des données sur base d'un code (Voir ce que veulent dire les valeurs retournées (`vala1`, `vala2`, ...) * `code` le début de code (de la table incodes)