API Reference — Fiscal API NF525
Documentation Interactive Swagger UI
L'interface ci-dessous est la documentation Swagger UI officielle du service backend-fiscal (fiscal_main.py). Elle est générée automatiquement par FastAPI et reflète l'état exact des routes exposées dans le périmètre LNE.
Périmètre affiché
Seules les routes du service backend-fiscal sont visibles ici. Les routes Business (res-api) ne font pas partie de ce périmètre et ne sont pas documentées dans ce portail.
Authentification requise
Les endpoints protégés nécessitent un token JWT. Utilisez le bouton Authorize dans Swagger UI et saisissez un token Bearer obtenu via POST /api/v1/auth/login.
Endpoints Fiscaux Clés
🔒 Authentification
| Méthode | Route | Description |
|---|---|---|
POST |
/api/v1/auth/login |
Authentification JWT — retourne access_token |
📋 Commandes Fiscales
| Méthode | Route | Description | Événement Audit |
|---|---|---|---|
POST |
/api/v1/orders |
Création d'une commande avec signature ECDSA | ORDER_CREATED |
GET |
/api/v1/orders/{id} |
Lecture d'une commande avec sa signature | — |
PATCH |
/api/v1/orders/{id} |
Modification d'une commande | ORDER_MODIFIED |
DELETE |
/api/v1/orders/{id} |
Annulation d'une commande | ORDER_CANCELLED |
POST |
/api/v1/orders/{id}/pay |
Enregistrement du paiement | ORDER_PAID |
🛡️ Conformité & Intégrité
| Méthode | Route | Description |
|---|---|---|
GET |
/api/v1/compliance/verify-chain |
Vérification de la chaîne de signatures complète |
GET |
/api/v1/compliance/public-key |
Clé publique ECDSA SECP256R1 pour vérification externe |
GET |
/api/v1/audit/events |
Journal d'audit immuable (filtrable par type/date) |
📊 Clôtures
| Méthode | Route | Description | Événement Audit |
|---|---|---|---|
POST |
/api/v1/closures/daily |
Clôture journalière (Ticket Z) | DAILY_CLOSE |
POST |
/api/v1/closures/monthly |
Clôture mensuelle avec archivage | MONTHLY_CLOSE |
GET |
/api/v1/closures/daily |
Historique des clôtures journalières | — |
GET |
/api/v1/closures/monthly |
Historique des clôtures mensuelles | — |
📁 Export FEC
| Méthode | Route | Description | Événement Audit |
|---|---|---|---|
GET |
/api/v1/fec/export |
Export FEC (article A47 A-1 du LPF) | EXPORT_GENERATED |
GET |
/api/v1/fec/archives |
Historique des exports archivés | — |
ℹ️ Périmètre
| Méthode | Route | Description |
|---|---|---|
GET |
/info |
Déclaration officielle du périmètre fiscal LNE |
GET |
/health |
Santé du service fiscal |
Structure de Réponse — Commande avec Signature
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"establishment_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"status": "paid",
"total_amount": 42.50,
"tax_amount": 7.08,
"tax_rate": "20.00",
"previous_signature": "3046022100a9f...e4d",
"integrity_hash": "304502210089c...b2f",
"signed_at": "2026-04-22T14:30:00Z",
"created_at": "2026-04-22T14:28:00Z"
}
Champs d'inalterabilité
Les champs previous_signature, integrity_hash et signed_at sont non modifiables après écriture. Toute tentative de modification invalide la vérification de chaîne via /compliance/verify-chain.
Codes d'Erreur HTTP
| Code | Signification | Contexte fiscal |
|---|---|---|
200 |
Succès | Lecture ou vérification réussie |
201 |
Créé | Commande ou clôture créée avec signature |
400 |
Requête invalide | Données manquantes ou format incorrect |
401 |
Non authentifié | Token JWT absent ou expiré |
403 |
Accès refusé | Rôle insuffisant pour l'opération |
404 |
Non trouvé | Route hors périmètre fiscal ou ressource inexistante |
422 |
Erreur de validation | Schéma Pydantic invalide |
500 |
Erreur serveur | Erreur interne — consulter les logs d'audit |