126 lines
2.0 KiB
Markdown
126 lines
2.0 KiB
Markdown
# Documentation API - 4NK IA Front Notarial
|
|
|
|
## Vue d'ensemble
|
|
|
|
L'application 4NK IA Front Notarial communique uniquement avec le backend interne pour toutes les
|
|
fonctionnalités (upload, extraction, analyse, contexte, conseil).
|
|
|
|
## API Backend Principal
|
|
|
|
### Base URL
|
|
|
|
```text
|
|
http://localhost:8000 (développement)
|
|
```
|
|
|
|
### Endpoints
|
|
|
|
#### Upload de document
|
|
|
|
```http
|
|
POST /api/notary/upload
|
|
Content-Type: multipart/form-data
|
|
|
|
Body: FormData avec le fichier
|
|
```
|
|
|
|
Réponse attendue (champs utilisés par le front) :
|
|
|
|
```json
|
|
{
|
|
"document_id": "doc_123456",
|
|
"mime_type": "application/pdf",
|
|
"functional_type": "CNI"
|
|
}
|
|
```
|
|
|
|
Mappage front en `Document` :
|
|
|
|
```json
|
|
{
|
|
"id": "doc_123456",
|
|
"name": "acte_vente.pdf",
|
|
"mimeType": "application/pdf",
|
|
"functionalType": "CNI",
|
|
"size": 1024000,
|
|
"uploadDate": "<date locale>",
|
|
"status": "completed",
|
|
"previewUrl": "blob:..."
|
|
}
|
|
```
|
|
|
|
#### Extraction de données
|
|
|
|
```http
|
|
GET /api/notary/documents/{documentId}
|
|
```
|
|
|
|
#### Analyse du document
|
|
|
|
```http
|
|
GET /api/documents/{documentId}/analyze
|
|
```
|
|
|
|
#### Données contextuelles
|
|
|
|
```http
|
|
GET /api/documents/{documentId}/context
|
|
```
|
|
|
|
#### Conseil IA
|
|
|
|
```http
|
|
GET /api/documents/{documentId}/conseil
|
|
```
|
|
|
|
## APIs Externes
|
|
|
|
Les APIs externes (Cadastre, Géorisques, Géofoncier, BODACC, Infogreffe) sont appelées côté backend
|
|
uniquement. Aucun appel direct côté front.
|
|
|
|
## Gestion d'erreur
|
|
|
|
### Codes d'erreur HTTP
|
|
|
|
- 200 : Succès
|
|
- 400 : Requête malformée
|
|
- 404 : Ressource non trouvée
|
|
- 405 : Méthode non autorisée
|
|
- 500 : Erreur serveur interne
|
|
|
|
### Erreurs de connexion
|
|
|
|
- ERR_NETWORK : Erreur de réseau
|
|
- ERR_CONNECTION_REFUSED : Connexion refusée
|
|
- ERR_TIMEOUT : Timeout de la requête
|
|
|
|
## Configuration
|
|
|
|
### Variables d'environnement
|
|
|
|
```env
|
|
VITE_API_URL=http://localhost:8000
|
|
```
|
|
|
|
### Configuration Axios
|
|
|
|
```typescript
|
|
const apiClient = axios.create({
|
|
baseURL: BASE_URL,
|
|
timeout: 60000
|
|
})
|
|
```
|
|
|
|
## Authentification
|
|
|
|
### Headers requis
|
|
|
|
```http
|
|
Authorization: Bearer {token}
|
|
Content-Type: application/json
|
|
```
|
|
|
|
## Rate Limiting
|
|
|
|
- Limites gérées par le backend
|