Référence

Templates & Champs

Un Template est une liste sauvegardée et réutilisable de Champs à extraire d'un document — un champ par colonne de sortie. Passez l'id d'un Template à Lancer le traitement d'un lot au lieu de lister vos champs à chaque appel. Vous pouvez aussi créer un Template à partir d'un modèle prédéfini intégré, ou ignorer les Templates et passer des fields ad-hoc directement à process pour une exécution unique.

Lister les templates

Renvoie vos templates sauvegardés, chacun avec sa liste de champs complète et ordonnée.

GET /api/v1/templates

Paramètres

NomEmplacementTypeDescription
limitquery, optionnelentier1–100. Par défaut 50.
page_tokenquery, optionnelchaîneCurseur opaque provenant du next_page_token d'une réponse précédente. Voir Pagination.

Erreurs possibles

  • missing_api_key / invalid_api_key / plan_required — voir Gestion des erreurs.
  • invalid_parameter — limit ou page_token invalide.

Créer un modèle

Deux façons de créer un modèle en un seul endpoint : à partir de zéro (en clonant éventuellement les champs d'un autre modèle via base_template_id), ou à partir d'un préréglage intégré via preset_id. Les comptes sont limités à 30 modèles — supprimez un modèle existant avant d'en créer un autre une fois la limite atteinte.

POST /api/v1/templates

Paramètres

NomEmplacementTypeDescription
namecorps (JSON)stringRequis sauf si preset_id est fourni (auquel cas il reprend le nom du préréglage, désambiguïsé par un suffixe horodaté si vous avez déjà un modèle portant ce nom).
preset_idcorps (JSON)string, facultatifConstruit le modèle (et ses champs) à partir d'un préréglage intégré — voir Lister les préréglages pour les ID valides.
base_template_idcorps (JSON)integer, facultatifUtilisé uniquement lorsque preset_id n'est pas fourni — clone les champs de ce modèle existant dans le nouveau.

Erreurs possibles

  • missing_api_key / invalid_api_key / plan_required — voir Gestion des erreurs.
  • missing_parameter (param: "name") — ni name ni preset_id fournis.
  • invalid_parameter (param: "name") — un modèle portant ce nom existe déjà (uniquement pour le chemin de création sans préréglage).
  • invalid_parameter (param: "preset_id") — ID de préréglage inconnu.
  • template_limit_reached — la limite de 30 modèles est déjà atteinte pour ce compte.
  • internal_error

Mettre à jour les paramètres du modèle

Définit l'exigence de format globale d'un modèle (appliquée en plus de celle de chaque champ) et sa configuration Fusion multi-pages — si plusieurs pages téléchargées appartenant au même enregistrement logique (un bail multi-pages, un lot de reçus agrafés) doivent être regroupées en une seule ligne de sortie au lieu de rester une ligne par page. Une fois activée ici, la fusion est appliquée automatiquement partout où ce modèle est utilisé, à la fois pour le traitement et les résultats — voir ?merge=true sur Obtenir les résultats du lot et Exporter un lot (qui l'applique toujours, sans option à activer). Chaque champ du corps de la requête ci-dessous est facultatif ; seules les clés que vous envoyez sont mises à jour, tout le reste est laissé tel quel (il n'y a pas d'état de brouillon/aperçu séparé à confirmer — cet appel prend effet immédiatement, comme la boîte de dialogue Paramètres du modèle de l'application web).

PUT /api/v1/templates/{id}/settings

Paramètres

NomEmplacementTypeDescription
idcheminentierLe modèle à mettre à jour.
global_format_requirementcorps (JSON), facultatifchaîneInstructions supplémentaires appliquées en plus du format_requirement de chaque champ.
merge_enabledcorps (JSON), facultatifbooléenActive/désactive la fusion multi-pages. Chaque champ merge_* ci-dessous est sans signification tant que ceci est false.
merge_modecorps (JSON), facultatifchaîne ou null"sequential" (nouvel enregistrement lorsqu'une valeur de colonne de données change), "key_match" (grouper par valeur de colonne de données correspondante, indépendamment de l'ordre de téléversement), ou "fixed_count" (grouper tous les N téléversements).
merge_field_namecorps (JSON), facultatifchaîne ou nullLa colonne de données (nom de champ) utilisée par les déclencheurs basés sur la valeur de sequential et par la clé de regroupement de key_match.
merge_trigger_typecorps (JSON), facultatifchaîne ou nullUniquement pour sequential : "value_change", "blank", "has_value" ou "equals_value".
merge_trigger_valuecorps (JSON), facultatifchaîne ou nullUniquement pour merge_trigger_type: "equals_value" — le texte ou l'expression régulière à faire correspondre.
merge_fixed_countcorps (JSON), facultatifentier ou nullUniquement pour merge_mode: "fixed_count" — taille du groupe, minimum 1.
merge_conflict_policycorps (JSON), facultatifchaîne ou nullLorsque les pages groupées ne s'accordent pas sur la valeur d'un champ : "split" (une ligne de sortie par page au lieu de fusionner), "first", "last" ou "concat" (par défaut).
merge_conflict_separatorcorps (JSON), facultatifchaîne ou nullUtilisé lorsque merge_conflict_policy: "concat", maximum 20 caractères. null revient au défaut " / " ; "" est un choix délibéré de « sans séparateur » et est stocké tel quel.
merge_skip_previewcorps (JSON), facultatifbooléenPréoccupation propre à l'application web (contrôle l'écran de confirmation d'aperçu d'exportation) — sans effet sur le comportement de l'API, car l'API n'a pas d'étape d'aperçu interactif à ignorer. Réglable ici uniquement pour que la configuration complète d'un modèle fasse un aller-retour via ce point de terminaison.

Erreurs possibles

  • missing_api_key / invalid_api_key / plan_required — voir Gestion des erreurs.
  • template_not_found
  • invalid_parameter — mauvais merge_mode / merge_trigger_type / merge_fixed_count / merge_conflict_policy / merge_conflict_separator.
  • internal_error

Supprimer un modèle

Supprime un modèle et tous ses champs (en cascade — aucun appel de nettoyage séparé n'est nécessaire). Cela n'affecte pas les documents qui ont déjà utilisé ce modèle lors d'un appel process antérieur ; leurs résultats déjà extraits restent inchangés.

DELETE /api/v1/templates/{id}

Paramètres

NomEmplacementTypeDescription
idcheminentierLe modèle à supprimer.

Erreurs possibles

  • missing_api_key / invalid_api_key / plan_required — voir Gestion des erreurs.
  • template_not_found
  • internal_error

Lister les préréglages

Listes de champs intégrées pour les types de documents courants (factures, reçus, relevés bancaires, etc.) — transmettez l'id d'un préréglage comme preset_id à Créer un modèle pour obtenir un modèle fonctionnel sans lister les champs manuellement. Les préréglages sont une configuration statique, pas des lignes de base de données — il n'y a aucun moyen d'en créer, d'en modifier ou d'en supprimer via l'API.

GET /api/v1/presets

Paramètres

NomEmplacementTypeDescription
categoryquery, facultatifstringFiltrer sur une catégorie (p. ex. "Finance & Accounting"). Omettre pour lister toutes les catégories.
limitquery, facultatifinteger1–100. Par défaut 50.
page_tokenquery, facultatifstringCurseur opaque provenant du next_page_token d'une réponse précédente.

Erreurs possibles

  • missing_api_key / invalid_api_key / plan_required — voir Gestion des erreurs.
  • invalid_parameter — limit ou page_token invalide.

Lister et créer des champs

fields est le nom public v1 de ce que l'interface produit appelle « règles de correspondance » — un champ par colonne de sortie, dans l'ordre où l'extraction les émettra. GET renvoie chaque champ du modèle, déjà trié par sort_order. POST ajoute un nouveau champ à la fin.

GET POST /api/v1/templates/{id}/fields

Paramètres

NomEmplacementTypeDescription
idpathintegerLe modèle auquel ces champs appartiennent.
namebody (JSON), POST uniquementstringRequis. Doit être unique dans ce modèle — voir les erreurs ci-dessous.
format_requirementbody (JSON), POST uniquementstring, facultatifIndication en texte libre sur le format de valeur attendu (p. ex. "YYYY-MM-DD", "Number").

Erreurs possibles

  • missing_api_key / invalid_api_key / plan_required — voir Gestion des erreurs.
  • template_not_found
  • missing_parameter (param: "name") — POST uniquement.
  • duplicate_field_name — un champ avec ce name existe déjà sur ce modèle.
  • internal_error

Mettre à jour et supprimer un champ

PUT renomme un champ (et remplace son format_requirement) — c'est un remplacement complet, pas une mise à jour partielle, donc incluez les deux valeurs même si une seule a changé. DELETE le supprime.

PUT DELETE /api/v1/templates/{id}/fields/{field_id}

Paramètres

NomEmplacementTypeDescription
idcheminentierLe modèle auquel ce champ appartient.
field_idcheminentierLe champ à mettre à jour ou à supprimer.
namecorps (JSON), PUT uniquementchaîneRequis. Nouveau nom.
format_requirementcorps (JSON), PUT uniquementchaîne, facultatifNouvelle indication de format — omettez-la et elle sera effacée en chaîne vide, pas laissée inchangée.

Erreurs possibles

  • missing_api_key / invalid_api_key / plan_required — voir Gestion des erreurs.
  • template_not_found — le modèle n'existe pas/n'est pas le vôtre, ou (avec un message le précisant) le field_id n'est pas sur ce modèle.
  • missing_parameter (param: "name") — PUT uniquement.
  • duplicate_field_name — PUT uniquement, renommage vers un nom qu'un autre champ de ce modèle possède déjà.
  • internal_error

Réorganiser les champs

Définit explicitement l'ordre des champs, qui détermine l'ordre des colonnes de sortie dans line_items et dans les exports Excel/Word. Les ID de la liste qui n'appartiennent pas à ce modèle sont ignorés silencieusement plutôt que de rejeter toute la requête.

PATCH /api/v1/templates/{id}/fields/order

Paramètres

NomEmplacementTypeDescription
idcheminentierLe modèle à réorganiser.
field_idscorps (JSON)tableau d'entiersChaque ID de champ de ce modèle, dans l'ordre où vous souhaitez qu'ils apparaissent. Requis.

Erreurs possibles

  • missing_api_key / invalid_api_key / plan_required — voir Gestion des erreurs.
  • template_not_found
  • invalid_parameter (param: "field_ids") — pas une liste d'entiers.
  • internal_error
📮 contact email: [email protected]