# Update Documentation Quand l'utilisateur dit **"update documentation"**, tu DOIS mettre à jour le fichier `documentation/documentation_api_logistics.md` en suivant cette procédure. ## Procédure de mise à jour 1. **Lire les sources suivantes** (dans cet ordre) : - `app/Services/LogisticsService.php` : toutes les méthodes publiques = endpoints disponibles. Les PHPDoc `@param` contiennent les paramètres attendus. - `config/logistics.php` : configuration de connexion (variables d'environnement, valeurs par défaut). - `.env` : valeurs actuelles des variables de configuration. - `documentation/documentation_api_logistics.md` : documentation existante à mettre à jour. - `memory-bank/techContext.md` : contexte technique (tables, types de colonnes, endpoints connus). 2. **Identifier les changements** : - Nouvelles méthodes dans `LogisticsService` = nouveaux endpoints à documenter. - Méthodes supprimées = endpoints à retirer. - Paramètres modifiés (PHPDoc `@param`) = mise à jour des tableaux de paramètres. - Nouvelles variables d'environnement dans `config/logistics.php` = mise à jour de la section pré-requis. 3. **Mettre à jour le fichier** en préservant strictement cette structure : ``` # Documentation API Logistics (Flex/ESI Gescom) Dernière mise à jour : ## Table des matières ## 1. Pré-requis ## 2. Environnements d'utilisation ## 3. Comment effectuer des requêtes ## 4. Structure de réponse ## 5. Tables et colonnes disponibles ## 6. Récupération de données ### 6.1 Structure de la base de données (tables_list, column_list) ### 6.2 Articles (art_list, art_getstk) ### 6.3 Journaux (jnl_list) ### 6.4 Documents (document_list, document_detail, Document_GetStatusList, Document_GetUnitPriceAndVat, Document_GetDueDate, Document_GetAttachListThumbnail, Document_GetPDF) ### 6.5 Tiers (third_list, third_GetArtHistory) ### 6.6 Divers (getserialnumber, codes_list) ## 7. Envoi de données ### 7.1 Documents (document_add, document_mod) ### 7.2 Articles (art_add, art_mod) ### 7.3 Tiers (third_add, third_mod) ### 7.4 Divers (custom_geninv_updatestock) ## 8. Relations entre entités ## 9. Remarques et points d'attention ## 10. Ressources externes ``` 4. **Pour chaque endpoint, documenter** : - Description fonctionnelle (à quoi il sert). - URL au format `POST /{dossier}/{endpoint}`. - Méthode service correspondante (`LogisticsService::méthode()`). - Tableau des paramètres : nom, type, obligatoire (Oui/Non), description détaillée. - Métadonnées retournées (tableau). - Exemple de requête (body JSON). - Exemple de réponse succès et erreur. 5. **Classer les endpoints** : - Section 6 (Récupération) : endpoints qui lisent des données. - Section 7 (Envoi) : endpoints qui créent ou modifient des données (`documentAdd`, `documentMod`, `artAdd`, `artMod`, `thirdAdd`, `thirdMod`, `customGeninvUpdatestock`). 6. **Mettre à jour la date** en haut du fichier (`Dernière mise à jour : `). ## Règles - Ne jamais supprimer d'information existante sans raison (endpoint supprimé du service). - Ne jamais divulguer ou écrire des informations sensibles (clés d'API, mots de passe, identifiants de connexion, tokens, secrets ou toute autre donnée confidentielle). Utiliser des valeurs fictives ou des placeholders (ex. `votre-cle-api`, `********`, `{API_KEY}`) dans les exemples. - Ton factuel et concis, sans emojis. - Toujours inclure les chemins de fichiers exacts dans les références. - Les exemples de requête doivent utiliser des valeurs réalistes mais ne contenant aucune donnée sensible. - La table des matières doit refléter les sections du document. - Utiliser les accents français dans tout le contenu.