Ce guide vous accompagne dans le processus complet de configuration, de la génération d'une clé API à l'extraction de données de votre premier document.
Étape 1 : Générer votre clé API
Les clés API sont générées depuis l'application web Koncile.
Connectez-vous à votre compte Koncile sur app.koncile.ai
Si vous n'avez pas de compte Koncile, créez-en un
Naviguez vers Paramètres > API
Cliquez sur Générer une clé API
Copiez et stockez votre clé API en lieu sûr
La clé API n'est affichée qu'une seule fois. Stockez-la en lieu sûr (par exemple, dans des variables d'environnement ou un gestionnaire de secrets). Si vous la perdez, vous devrez en générer une nouvelle.
Seuls les administrateurs de l'entreprise peuvent générer des clés API. Si vous ne voyez pas les paramètres API, contactez l'administrateur de votre entreprise.
Étape 2 : Vérifier votre clé API
Avant de continuer, vérifiez que votre clé API fonctionne :
L'en-tête Authorization utilise le format Bearer YOUR_API_KEY
Votre clé API n'a pas été révoquée
Étape 3 : Créer votre configuration d'extraction
Créez une configuration d'extraction complète avec un Folder, un Template, des Fields et des Instructions.
Pour des clarifications sur les concepts d'extraction, consultez "Comprendre la structure de Koncile".
3.1 Créer un Folder
Les Folders aident à organiser les Templates par type de document ou objectif métier.
Réponse :
Conservez la valeur id — vous en aurez besoin pour créer des Templates.
3.2 Créer un Template
Les Templates définissent quelles données extraire des documents. Chaque Template appartient à un Folder.
3.3 Créer des Fields
Les Fields définissent quels points de données extraire. Créez à la fois des General fields et des Line fields.
General Fields (extraits une fois par document) :
Line Fields (extraits pour chaque ligne) :
Le champ desc est important — il aide l'IA à comprendre exactement quoi extraire, surtout pour les fields ambigus.
3.4 Créer des Instructions (Optionnel)
Les Instructions fournissent du contexte pour aider l'outil à extraire les données plus précisément. Utilisez-les pour :
Exclure des informations spécifiques (certaines pages du document, lignes de total en fin de tableau)
Donner du contexte supplémentaire à l'IA
Étape 4 : Télécharger un document
Maintenant que votre configuration d'extraction est complète, vous pouvez télécharger des documents.
Réponse :
Le slash final dans /upload_file/ est obligatoire.
Auto-classification : Si vous omettez folder_id et template_id, Koncile classifiera automatiquement le document et sélectionnera le Template le plus approprié.
Étape 5 : Récupérer les résultats d'extraction
L'extraction se fait de manière asynchrone. Interrogez le statut de la tâche jusqu'à ce qu'elle soit terminée :
Exemple de réponse une fois terminée :
Script d'exemple complet
Prochaines étapes
Maintenant que vous comprenez les bases, explorez ces sujets :
File Uploading - Téléchargements par lot, metadata et contraintes de fichiers
Task Retrieval - Format de réponse détaillé et stratégies de polling
Gestion des documents - Lister, télécharger et supprimer des documents
Folders, Templates, Fields & Instructions - Référence API complète
API Status Codes - Gestion des erreurs et dépannage
SDK Libraries - SDKs Python et Node.js pour une intégration plus facile
# Créer le field Numéro de facture
curl -X POST "https://api.koncile.ai/v1/create_field" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Numéro de facture",
"type": "General fields",
"format": "text",
"template_id": 1,
"desc": "L identifiant unique de cette facture"
}'
# Créer le field Date de facture
curl -X POST "https://api.koncile.ai/v1/create_field" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Date de facture",
"type": "General fields",
"format": "date",
"template_id": 1,
"desc": "La date d émission de la facture"
}'
line_fields = [
{
"name": "Description produit",
"type": "Line fields",
"format": "text",
"template_id": template_id,
"desc": "Description du produit ou service"
},
{
"name": "Quantité",
"type": "Line fields",
"format": "number",
"template_id": template_id,
"desc": "Nombre d unités"
},
{
"name": "Prix unitaire",
"type": "Line fields",
"format": "number",
"template_id": template_id,
"desc": "Prix par unité"
},
{
"name": "Total ligne",
"type": "Line fields",
"format": "number",
"template_id": template_id,
"desc": "Montant total pour cette ligne (quantité × prix unitaire)"
}
]
for field in line_fields:
response = requests.post(...)
instructions = [
{
"content": "",
"type": "General fields",
"template_id": template_id
},
{
"content": "Pour les montants en devise, extraire la valeur numérique sans les symboles de devise.",
"type": "General fields",
"template_id": template_id
}
]
for instruction in instructions:
response = requests.post(...)