- 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.
31 lines
1.8 KiB
Markdown
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.
|