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.
This commit is contained in:
2026-02-20 10:06:04 +01:00
parent 07a3b3a874
commit 4aef33f270
18 changed files with 820 additions and 64 deletions

View File

@@ -1,6 +1,6 @@
# Project Brief
Derniere mise a jour : 2026-02-19
Derniere mise a jour : 2026-02-20
## Vision
@@ -19,11 +19,13 @@ Application Laravel de test dont l'objectif est de comprendre le fonctionnement
- 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.