2025-09-15 13:37:53 +02:00

2.6 KiB
Raw Blame History

Documentation API - 4NK IA Lecoffre.io

Vue d'ensemble

L'application 4NK IA Lecoffre.io communique uniquement avec le backend interne pour toutes les fonctionnalités (upload, extraction, analyse, contexte, conseil).

API Backend Principal

Base URL

http://localhost:8000 (développement)

Endpoints

Upload de document

POST /api/notary/upload
Content-Type: multipart/form-data

Body: FormData avec le fichier

Réponse attendue (champs utilisés par le front) :

{
  "document_id": "doc_123456",
  "mime_type": "application/pdf",
  "functional_type": "CNI"
}

Mappage front en Document :

{
  "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

GET /api/notary/documents/{documentId}

Analyse du document

GET /api/documents/{documentId}/analyze

Données contextuelles

GET /api/documents/{documentId}/context

Conseil IA

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

VITE_API_URL=http://localhost:8000
VITE_USE_OPENAI=false
VITE_OPENAI_API_KEY=
VITE_OPENAI_BASE_URL=https://api.openai.com/v1
VITE_OPENAI_MODEL=gpt-4o-mini

Mode OpenAI (fallback)

Quand VITE_USE_OPENAI=true, le frontend bascule sur un mode de secours basé sur OpenAI:

  • Upload: simulé côté client (le fichier nest pas envoyé à OpenAI)
  • Extraction/Analyse/Conseil/Contexte: appels chat.completions sur VITE_OPENAI_MODEL
  • Détection de type: heuristique simple côté client

Ce mode est utile pour démo/diagnostic quand le backend nest pas disponible.

Configuration Axios

const apiClient = axios.create({
  baseURL: BASE_URL,
  timeout: 60000
})

Authentification

Headers requis

Authorization: Bearer {token}
Content-Type: application/json

Rate Limiting

  • Limites gérées par le backend