Web Analytics Made Easy - Statcounter
Skip to content

API de l'historique

Endpoints pour accéder à l'historique des conversions.

Obtenir l'historique des conversions

GET /api/history

Paramètres de requête

Nom Type Par défaut Description
limit int 50 Nombre maximum d'entrées à retourner
offset int 0 Nombre d'entrées à ignorer
status string - Filtrer par statut

Réponse

{
  "entries": [
    {
      "id": "550e8400-e29b-41d4-a716-446655440000",
      "filename": "document_abc123.pdf",
      "original_filename": "My Document.pdf",
      "input_format": "pdf",
      "status": "completed",
      "confidence": 0.92,
      "file_size": 1048576,
      "created_at": "2024-01-15T10:00:00Z",
      "completed_at": "2024-01-15T10:00:30Z"
    }
  ],
  "total": 1,
  "limit": 50,
  "offset": 0
}

Obtenir l'historique récent

GET /api/history/recent

Paramètres de requête

Nom Type Par défaut Description
limit int 10 Nombre maximum d'entrées à retourner

Obtenir une entrée d'historique

GET /api/history/{job_id}

Réponse

{
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "filename": "document_abc123.pdf",
  "original_filename": "My Document.pdf",
  "input_format": "pdf",
  "status": "completed",
  "confidence": 0.92,
  "error_message": null,
  "output_path": "/outputs/550e8400.../document.md",
  "document_json_path": "/outputs/550e8400.../document.json",
  "settings": {
    "ocr": {"enabled": true}
  },
  "file_size": 1048576,
  "created_at": "2024-01-15T10:00:00Z",
  "completed_at": "2024-01-15T10:00:30Z"
}

Charger un document depuis l'historique

GET /api/history/{job_id}/load

Charge un document précédemment converti depuis l'historique et le retourne comme un résultat de conversion. Cet endpoint charge le DoclingDocument depuis le fichier JSON stocké et le retourne dans le même format qu'un résultat de conversion frais.

Paramètres de chemin

Nom Type Requis Description
job_id string Oui L'identifiant du job (doit correspondre à [A-Za-z0-9_-]+)

Réponse

Retourne un objet ConversionResult correspondant au format d'une conversion fraîche :

{
  "job_id": "550e8400-e29b-41d4-a716-446655440000",
  "status": "completed",
  "document": {
    "title": "Mon Document",
    "content": "...",
    "metadata": {...}
  },
  "formats_available": ["markdown", "html", "json"],
  "images_count": 5,
  "tables_count": 2,
  "preview": "# Aperçu du contenu du document..."
}

Réponses d'erreur

404 Not Found: L'entrée d'historique n'existe pas

{
  "error": "History entry {job_id} not found"
}

400 Bad Request: Conversion non terminée

{
  "job_id": "550e8400-e29b-41d4-a716-446655440000",
  "status": "pending",
  "message": "Conversion not completed"
}

Notes

  • Ne fonctionne que pour les conversions terminées
  • Si le fichier JSON du document stocké n'est pas disponible, l'endpoint tentera de reconstruire le résultat à partir des fichiers de sortie
  • Les documents sont automatiquement stockés après chaque conversion réussie
  • Le champ document_json_path dans les entrées d'historique indique où le JSON du document est stocké

Réconcilier l'historique depuis le disque

POST /api/history/reconcile

Analyse le répertoire de sortie pour trouver les conversions qui existent sur disque mais n'ont pas d'entrée en base de données (par ex. après perte ou réinitialisation de la base). Crée les entrées manquantes pour qu'elles apparaissent dans l'interface et puissent être rechargées.

La réconciliation s'exécute également automatiquement au démarrage de l'application.

Réponse

{
  "message": "Reconciled 3 entries from disk",
  "added_count": 3,
  "added_ids": [
    "550e8400-e29b-41d4-a716-446655440000",
    "660e8400-e29b-41d4-a716-446655440001",
    "770e8400-e29b-41d4-a716-446655440002"
  ]
}

Notes

  • Seuls les répertoires de sortie avec des noms UUID valides et au moins un fichier de sortie (.md, .html, .json ou .document.json) sont réconciliés
  • Les entrées déjà présentes en base sont ignorées

Supprimer une entrée d'historique

DELETE /api/history/{job_id}

Réponse

{
  "message": "Entry deleted",
  "job_id": "550e8400-e29b-41d4-a716-446655440000"
}

Obtenir les statistiques de l'historique

GET /api/history/stats

Réponse

{
  "total": 150,
  "completed": 142,
  "failed": 5,
  "pending": 2,
  "processing": 1,
  "success_rate": 94.7,
  "format_breakdown": {
    "pdf": 100,
    "docx": 30,
    "image": 20
  }
}

Rechercher dans l'historique

GET /api/history/search

Paramètres de requête

Nom Type Requis Description
q string Oui Requête de recherche
limit int Non Résultats maximum (par défaut : 20)

Réponse

{
  "entries": [...],
  "query": "invoice",
  "count": 5
}

Exporter l'historique

GET /api/history/export

Réponse : Téléchargement d'un fichier JSON avec toutes les entrées d'historique


Effacer tout l'historique

DELETE /api/history

Réponse

{
  "message": "All history entries deleted",
  "count": 150
}