🎉 First commit

This commit is contained in:
2026-02-20 08:40:00 +01:00
commit 07a3b3a874
206 changed files with 22834 additions and 0 deletions

View File

@@ -0,0 +1,138 @@
# API Logistics: Documentation Postman
# Lien de la [documentation Postman](https://documenter.getpostman.com/view/40440561/2sB2qaj2Pz#4e3a3dd5-cfd2-4951-ad44-d78986780152)
# <span style="color:red;">Important</span>
* 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
* <span style="color:red;">**Il faut mettre le nom du dossier en MINUSCULES dans les requêtes !!**</span>
## Structure
* **✔️ /dossier/tables_list** (<span style="color:darkorange;">POST</span>): retourne la liste des différentes tables
* **✔️ /dossier/column_list/tablename** (<span style="color:darkorange;">POST</span>): 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** (<span style="color:darkorange;">POST</span>): 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** (<span style="color:darkorange;">POST</span>): récupère le stock d'un article sur base de son identifiant
* `ARTID` l'identifiant de l'article
* ✔️ **/dossier/art_list** (<span style="color:darkorange;">POST</span>): 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** (<span style="color:darkorange;">POST</span>): 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** (<span style="color:darkorange;">POST</span>): 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** (<span style="color:darkorange;">POST</span>): 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** (<span style="color:darkorange;">POST</span>): récupère les prix et TVA d'un document
* `ARTID` identifiant de référence de l'article
* `QTY` ??? <span style="background-color:mistyrose;">Format string obligatoire</span>
* `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** (<span style="color:darkorange;">POST</span>): 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** (<span style="color:darkorange;">POST</span>): 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** (<span style="color:darkorange;">POST</span>): récupère la liste des statuts d'un journal pour les documents
* `jnl` le code du journal
* **✔️ /dossier/document_detail** (<span style="color:darkorange;">POST</span>): récupère les détails d'un document
* `jnl` le code du journal
* `number` l'identifiant du document
* **✔️ /dossier/document_add** (<span style="color:darkorange;">POST</span>): 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** (<span style="color:darkorange;">POST</span>): 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** (<span style="color:darkorange;">POST</span>): 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** (<span style="color:darkorange;">POST</span>): Récupère l'historique des articles des documents d'un tiers
* `thirdid` l'identifiant du tiers
## Divers
* **✔️ /dossier/getserialnumber** (<span style="color:darkorange;">POST</span>): Récupère un numéro de série du dossier
* **❌ /dossier/custom_geninv_updatestock** (<span style="color:darkorange;">POST</span>): 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** (<span style="color:darkorange;">POST</span>): 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)
<hr />
# Noms des tables accessibles via la route **/dossier/column_list/tablename**
Cela permet de voir les différentes colonnes à spécifier lorsqu'on fait des recherches (paramètre `select` dans le body des requêtes)
| résultat de /dossier/tables_list | résultat de /dossier/tables_list |
| --- | --- |
| art | docpay |
| attach | file |
| barcode | hist |
| category | incodes |
| codes | jnl |
| cust | pers |
| docdet | price |
| dochead | stk |
<hr />
# Structure des données de réponse
| Clé | Valeur |
| --- | --- |
| data | le résultat de la requête sous forme d'objet avec des attributs |
| metadata | retourne le nombre d'éléments trouvés `rowcount` et si la requête a réussi `issuccess` |
| error | Les éventuels messages d'erreur se trouveront ici |