Files
logisticsAPI/memory-bank/productContext.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

31 lines
1.8 KiB
Markdown

# Product Context
Derniere mise a jour : 2026-02-20
## Pourquoi ce projet existe
L'API Logistics (Flex/ESI Gescom) est un systeme de gestion commerciale accessible via une API REST. La documentation officielle est limitee. Ce projet a ete cree pour :
- Explorer les endpoints disponibles de maniere interactive.
- Comprendre les parametres attendus et les formats de reponse.
- Servir de base pour une documentation plus complete.
## Problemes resolus
- **Exploration de l'API** : Le dashboard permet de tester chaque endpoint avec des parametres personnalisables, sans avoir besoin de Postman.
- **Comprehension de la structure** : La page "Tables" permet de decouvrir les tables et colonnes disponibles dans l'API.
- **Tracabilite** : Chaque requete effectuee (reussie ou echouee) est enregistree dans `api_request_logs` pour pouvoir analyser les echanges.
- **Resilience** : Les erreurs de connexion sont gerees avec retry automatique et messages explicites en francais.
## Experience utilisateur
L'utilisateur accede au dashboard Filament sur `http://api-logistics.test/admin`. La navigation laterale propose 5 pages :
1. **Tables** : Cliquer sur une table pour voir ses colonnes. Utile pour connaitre les champs disponibles dans les parametres `select`.
2. **Articles** : Formulaire de recherche (search, select, results) + verification du stock d'un article par son ARTID.
3. **Documents** : Recherche par tiers (thirdid) + consultation du detail d'un document (jnl + number).
4. **Journaux** : Recherche par type de journal (TYPE).
5. **Tiers** : Recherche de tiers (search obligatoire) + historique des articles d'un tiers.
Chaque page affiche les resultats sous forme de tableau dynamique et les metadonnees de la reponse (nombre de resultats, succes). En cas d'erreur de connexion a l'API, un message clair en francais est affiche a l'utilisateur.