Aller au contenu

Extracteur

Ce document décrit comment utiliser l’API DIMARC pour interagir avec les endpoints /extractor et /extractor/async. Ces endpoints permettent d’extraire des données structurées de documents de tout type selon des modèles définis dans l’interface Dimarc.

Fenêtre de terminal
POST /v2/extractor
POST /v2/extractor/async

Prérequis

Récupérer l’ID d’un agent

Chacun des agents a un ID unique. Pour récupérer l’ID de l’agent Extracteur, rendez-vous sur votre tableau de bord:

  1. Cliquez en haut à droite sur l’icône de votre profil puis accédez à la section Organisation > API ou en cliquant ici
  2. Dans la section Références de vos agents, vous pouvez récupérer l’ID de l’agent Extracteur que vous souhaitez utiliser.

Modes d’extraction

L’API de l’Extracteur offre deux modes de fonctionnement:

  1. Synchrone: La requête est traitée immédiatement et la réponse est retournée dans la même connexion HTTP.
  2. Asynchrone: Le traitement est mis en file d’attente et les résultats sont envoyés à un webhook défini une fois l’extraction terminée.

Où configurer les modèles d’extraction

Les modèles d’extraction sont configurés dans l’interface Dimarc. Pour ajouter un nouveau modèle, rendez-vous sur votre tableau de bord: https://app.dimarc.ai

Rendez-vous dans la configuration de votre agent Extracteur et ajoutez un nouveau modèle en définissant les champs à extraire.

Extraction synchrone

L’extraction synchrone est idéale pour des traitements rapides ou lorsque votre application attend directement le résultat.

Requête synchrone

Fenêtre de terminal
curl --location 'https://api.dimarc.ai/v2/extractor/<agent_id>' \
--header 'Content-Type: application/json' \
--header 'x-api-key: <your_api_key>' \
--data '{
"filename": "L100.pdf",
"file": "<base64_encoded_file>",
}'

Paramètres de la requête synchrone

ParamètreTypeDescription
filenamestringNom du fichier original (avec extension)
filestringContenu du fichier encodé en base64

Format de réponse synchrone

{
"status": "success",
"data": { .... }
}

Extraction asynchrone

L’extraction asynchrone est recommandée pour:

  • Les documents volumineux
  • Les extractions complexes nécessitant plus de temps
  • Les systèmes qui ne peuvent pas attendre une réponse immédiate

Requête asynchrone

Fenêtre de terminal
curl --location 'https://api.dimarc.ai/v2/extractor/async/<agent_id>' \
--header 'Content-Type: application/json' \
--header 'x-api-key: <your_api_key>' \
--data '{
"filename": "L100.pdf",
"file": "<base64_encoded_file>",
"callback": "https://votre-endpoint-de-callback.com/webhook"
}'

Paramètres de la requête asynchrone

ParamètreTypeDescription
filenamestringNom du fichier original (avec extension)
filestringContenu du fichier encodé en base64
callbackstringURL du webhook qui recevra les résultats

Réponse immédiate (asynchrone)

{
"message": "Extraction started",
"data": {
"extraction_id": "uid_extraction"
}
}

Format de la réponse au webhook

{
"extract_id": "uid_extraction",
"data": { .... }
}

Extraction de données structurées

Pour les données complexes comme les listes (tableaux, séries d’articles, etc.), utilisez le format “list” et définissez les sous-éléments dans le tableau “items”:

{
"name": "products",
"format": "list",
"description": "Liste des produits dans la facture",
"items": [
{
"name": "product_name",
"format": "text",
"description": "Nom du produit",
"items": []
},
{
"name": "quantity",
"format": "text",
"description": "Quantité commandée",
"items": []
},
{
"name": "unit_price",
"format": "text",
"description": "Prix unitaire HT",
"items": []
}
]
}

Limites et considérations

  • Taille maximale du fichier: 36 Mo
  • Formats supportés: PDF, PNG, JPG, JPEG, DOCX, XLSX
  • Temps moyen d’extraction: 5 à 10 pour des documents standards (sans trop d’imagerie)

Support et assistance

Pour toute question concernant l’API Extracteur, contactez notre équipe de support à l’adresse support@dimarc.fr