Files
logisticsAPI/memory-bank/projectbrief.md
Marvin 4aef33f270 Implement robust error handling and configuration for Logistics API interactions
- Introduced `LogisticsApiException` to handle connection and request errors with user-friendly messages in French.
- Updated `LogisticsService` to include configurable timeout, connection timeout, retry attempts, and sleep duration for retries.
- Enhanced error handling in Filament pages to catch `LogisticsApiException` and provide clear feedback to users.
- Updated `.env` and `config/logistics.php` to support new configuration options.
- Added logging for failed API requests in `api_request_logs`.
- Created comprehensive API documentation for Logistics endpoints.
2026-02-20 10:06:04 +01:00

1.7 KiB

Project Brief

Derniere mise a jour : 2026-02-20

Vision

Application Laravel de test dont l'objectif est de comprendre le fonctionnement de l'API Logistics (Flex/ESI Gescom) et d'en produire une documentation complete et comprehensible.

Objectifs

  1. Comprendre le fonctionnement de l'API Logistics.
  2. Creer une application simple permettant d'envoyer et de recuperer des donnees vers/depuis l'API.
  3. Produire une documentation complete et comprehensible de l'API.

Perimetre fonctionnel

  • Dashboard Filament v5 accessible sans authentification sur /admin.
  • Pages de consultation pour les principales entites de l'API : tables, articles, documents, journaux, tiers.
  • Formulaires de recherche parametrables pour chaque endpoint.
  • Affichage des resultats bruts retournes par l'API.
  • Tracage des requetes effectuees dans une table api_request_logs.
  • Gestion robuste des erreurs API (timeout, retry, messages utilisateur en francais).

Contraintes

  • Pas d'authentification sur le dashboard (projet de test interne).
  • L'API Logistics est hebergee sur le serveur TSE-10-TEST (http://tse-10-test.esiweb.pro).
  • Le serveur API est accessible uniquement via le reseau interne (connexion Bureau a distance / RDP requise). L'application doit etre deployee sur ce reseau ou un tunnel doit etre mis en place.
  • Toutes les requetes API sont en POST et necessitent un header X-API-KEY.
  • Le nom du dossier dans les URLs de l'API doit etre en minuscules.

Ressources