🌐 API REST - BTPXPRESS BACKEND
📋 Table des matières
🎯 Vue d'ensemble
Base URL
| Environnement |
URL |
| Développement |
http://localhost:8080/api/v1 |
| Production |
https://api.btpxpress.fr/api/v1 |
Format
- Content-Type :
application/json
- Accept :
application/json
- Charset :
UTF-8
Versioning
L'API utilise le versioning dans l'URL : /api/v1/...
Documentation interactive
🔐 Authentification
OAuth2 / OIDC avec Keycloak
Toutes les requêtes (sauf /auth/login) nécessitent un token JWT.
1. Obtenir un token
Réponse :
2. Utiliser le token
📚 Endpoints par concept
1. CHANTIERS (/api/v1/chantiers)
| Méthode |
Endpoint |
Description |
Permission |
| GET |
/chantiers |
Liste tous les chantiers |
CHANTIERS_READ |
| GET |
/chantiers/{id} |
Détails d'un chantier |
CHANTIERS_READ |
| POST |
/chantiers |
Créer un chantier |
CHANTIERS_CREATE |
| PUT |
/chantiers/{id} |
Modifier un chantier |
CHANTIERS_UPDATE |
| DELETE |
/chantiers/{id} |
Supprimer un chantier |
CHANTIERS_DELETE |
| GET |
/chantiers/search |
Rechercher des chantiers |
CHANTIERS_READ |
| GET |
/chantiers/stats |
Statistiques chantiers |
CHANTIERS_READ |
2. CLIENTS (/api/v1/clients)
| Méthode |
Endpoint |
Description |
Permission |
| GET |
/clients |
Liste tous les clients |
CLIENTS_READ |
| GET |
/clients/{id} |
Détails d'un client |
CLIENTS_READ |
| POST |
/clients |
Créer un client |
CLIENTS_CREATE |
| PUT |
/clients/{id} |
Modifier un client |
CLIENTS_UPDATE |
| DELETE |
/clients/{id} |
Supprimer un client |
CLIENTS_DELETE |
3. MATÉRIELS (/api/v1/materiels)
| Méthode |
Endpoint |
Description |
Permission |
| GET |
/materiels |
Liste tous les matériels |
MATERIELS_READ |
| GET |
/materiels/{id} |
Détails d'un matériel |
MATERIELS_READ |
| POST |
/materiels |
Créer un matériel |
MATERIELS_CREATE |
| PUT |
/materiels/{id} |
Modifier un matériel |
MATERIELS_UPDATE |
| DELETE |
/materiels/{id} |
Supprimer un matériel |
MATERIELS_DELETE |
| GET |
/materiels/disponibles |
Matériels disponibles |
MATERIELS_READ |
| GET |
/materiels/stock-faible |
Stock faible |
MATERIELS_READ |
4. RÉSERVATIONS (/api/v1/reservations-materiel)
| Méthode |
Endpoint |
Description |
Permission |
| GET |
/reservations-materiel |
Liste réservations |
RESERVATIONS_READ |
| POST |
/reservations-materiel |
Créer réservation |
RESERVATIONS_CREATE |
| GET |
/reservations-materiel/conflits |
Détecter conflits |
RESERVATIONS_READ |
5. DEVIS (/api/v1/devis)
| Méthode |
Endpoint |
Description |
Permission |
| GET |
/devis |
Liste devis |
DEVIS_READ |
| GET |
/devis/{id} |
Détails devis |
DEVIS_READ |
| POST |
/devis |
Créer devis |
DEVIS_CREATE |
| PUT |
/devis/{id}/envoyer |
Envoyer devis |
DEVIS_UPDATE |
| GET |
/devis/{id}/pdf |
Générer PDF |
DEVIS_READ |
6. EMPLOYÉS (/api/v1/employes)
| Méthode |
Endpoint |
Description |
Permission |
| GET |
/employes |
Liste employés |
EMPLOYES_READ |
| GET |
/employes/{id} |
Détails employé |
EMPLOYES_READ |
| POST |
/employes |
Créer employé |
EMPLOYES_CREATE |
| GET |
/employes/disponibles |
Employés disponibles |
EMPLOYES_READ |
7. PLANNING (/api/v1/planning)
| Méthode |
Endpoint |
Description |
Permission |
| GET |
/planning |
Liste événements |
PLANNING_READ |
| POST |
/planning |
Créer événement |
PLANNING_CREATE |
| GET |
/planning/periode |
Par période |
PLANNING_READ |
8. NOTIFICATIONS (/api/v1/notifications)
| Méthode |
Endpoint |
Description |
Permission |
| GET |
/notifications |
Liste notifications |
- |
| GET |
/notifications/non-lues |
Non lues |
- |
| PUT |
/notifications/{id}/lire |
Marquer comme lue |
- |
📊 Codes de réponse
| Code |
Signification |
Description |
| 200 |
OK |
Requête réussie |
| 201 |
Created |
Ressource créée |
| 204 |
No Content |
Suppression réussie |
| 400 |
Bad Request |
Données invalides |
| 401 |
Unauthorized |
Non authentifié |
| 403 |
Forbidden |
Accès refusé |
| 404 |
Not Found |
Ressource non trouvée |
| 409 |
Conflict |
Conflit (ex: email déjà existant) |
| 500 |
Internal Server Error |
Erreur serveur |
Paramètres
| Paramètre |
Type |
Défaut |
Description |
page |
Integer |
0 |
Numéro de page (commence à 0) |
size |
Integer |
20 |
Nombre d'éléments par page |
sort |
String |
- |
Champ de tri (ex: nom,asc) |
Exemple
Réponse paginée
🔍 Filtrage et tri
Filtres
Recherche
❌ Gestion des erreurs
Format d'erreur standard
Erreurs de validation
💡 Exemples complets
Créer un chantier complet
Rechercher des chantiers
Créer un devis avec lignes
Télécharger un PDF
🔗 Liens utiles
Dernière mise à jour: 2025-09-30
Version: 1.0
Auteur: Équipe BTPXpress