> ## Documentation Index
> Fetch the complete documentation index at: https://docs.abbyy.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Migration vers la version 2 de l’API

> Mettez à jour votre code lors de la mise à niveau de v1 vers v2 de l’ABBYY FlexiCapture for Invoices Cloud REST API : applications, champs multicolonnes et URL v2 renommées.

Lorsque vous passez de la version 1 à la version 2 d’ABBYY FlexiCapture for Invoices Cloud REST API, vous devez apporter quelques modifications à votre code.

Les modifications essentielles sont :

* **Applications** — La version 2 introduit le concept d’applications. Un compte peut avoir plusieurs applications qui fonctionnent indépendamment. Chaque application ne peut utiliser que ses propres tâches, données de traitement et modèles d’entraînement, et ne peut accéder à aucune de ces informations pour d’autres applications.
* **Champs multicolonnes** — Les champs peuvent désormais avoir des variantes, ce qui permet de prendre en compte les différences d’orthographe et les erreurs, et facilite l’association des fournisseurs et des unités commerciales. Les champs capturés sont représentés sous forme de tableaux contenant des variantes.
* **Version mise à jour dans les URL** — Les URL ont été renommées en fonction de la version : `v1` dans l’URL est devenu `v2`.

Les méthodes API de la version 1 sont répertoriées ci-dessous par catégorie. Chaque entrée affiche l’URL de la version 2 ainsi que les modifications apportées à la requête et à la réponse correspondantes.

<div id="working-with-files">
  ## Utilisation des fichiers
</div>

<div id="post-file">
  ### POST /file
</div>

```http theme={null}
POST https://api-{location-id}.flexicapture.com/v1/file
POST https://api-{location-id}.flexicapture.com/v2/file
```

* Suppression du paramètre de requête `email` ; l’adresse e-mail du compte est utilisée à la place.
* Ajout à la réponse : `application` (ID d’application) et `expiring` (date d’expiration du fichier).
* Suppression de la réponse : les clés liées à la validation et à la suppression du fichier (`validated`, `is_validated`, `deleted`, `is_deleted`), le message d’erreur (`error`) et le nombre de pages (`pages_count`).

### GET /file/{id}/{token}/info

```http theme={null}
GET https://api-{location-id}.flexicapture.com/v1/file/{id}/{token}/info
GET https://api-{location-id}.flexicapture.com/v2/file/{id}/{token}/info
```

* Pour les fichiers supprimés, vous ne pouvez plus obtenir les métadonnées ; une réponse `404` est désormais renvoyée.
* Ajoutés à la réponse : `application` (ID d’application) et `expiring` (la date d’expiration du fichier).
* Supprimés de la réponse : les clés relatives à la validation et à la suppression du fichier (`validated`, `is_validated`, `deleted`, `is_deleted`), le message d’erreur (`error`) et le nombre de pages (`pages_count`).

### GET /file/{id}/{token}

```http theme={null}
GET https://api-{location-id}.flexicapture.com/v1/file/{id}/{token}
GET https://api-{location-id}.flexicapture.com/v2/file/{id}/{token}
```

### DELETE /file/{id}/{token}

```http theme={null}
DELETE https://api-{location-id}.flexicapture.com/v1/file/{id}/{token}
DELETE https://api-{location-id}.flexicapture.com/v2/file/{id}/{token}
```

<div id="capturing-documents">
  ## Capture de documents
</div>

<div id="post-taskcapturedocuments">
  ### POST /task/capture/documents
</div>

```http theme={null}
POST https://api-{location-id}.flexicapture.com/v1/capture/data
POST https://api-{location-id}.flexicapture.com/v2/task/capture/documents
```

Modifications apportées à la requête :

* Le corps de la requête ne doit plus contenir les clés `email` et `label`.
* Les clés `region`, `export_format` et `verification_type` ont été déplacées dans le dictionnaire `properties`.

Modifications apportées à la réponse :

* Clés ajoutées : `batch_id`, `is_realtime_enabled`, `processing_priority`, `is_demo`, `account`, `application`, `is_extra_error`, `documents > data`, `documents > is_moved`, `documents > traininglayout_fileid`.
* Clés supprimées : `label`, `lead_time`, `started`, `delivered`, `deleted`, `wait_for_action`, `is_test`, `region`, `export_format`, `verification_type`, `business_unit`, `properties > export_format`, `properties > verification_type`.
* Le tableau `services` a été supprimé ; la clé `files` a été déplacée du tableau `services` vers le tableau `documents`.
* `number` est désormais une chaîne de caractères au lieu d’un entier.
* `progress` est désormais un nombre à virgule flottante au lieu d’un entier.

<div id="invoice-capturing-tasks">
  ## Tâches de capture de factures
</div>

<div id="post-taskcaptureinvoices">
  ### POST /task/capture/invoices
</div>

```http theme={null}
POST https://api-{location-id}.flexicapture.com/v1/capture/invoices
POST https://api-{location-id}.flexicapture.com/v2/task/capture/invoices
```

Modifications de la requête :

* Le corps de la requête ne doit plus contenir les clés `business_unit`, `email` et `label`.
* Les clés `region`, `export_format` et `verification_type` ont été déplacées dans le dictionnaire `properties`.

Modifications de la réponse :

* Clés ajoutées : `batch_id`, `is_realtime_enabled`, `processing_priority`, `is_demo`, `account`, `application`, `is_extra_error`, `documents > data`, `documents > is_moved`, `documents > traininglayout_fileid`.
* Clés supprimées : `label`, `lead_time`, `started`, `delivered`, `deleted`, `wait_for_action`, `is_test`, `region`, `export_format`, `verification_type`, `business_unit`, `properties > export_format`, `properties > verification_type`.
* Le tableau `services` a été supprimé ; la clé `files` a été déplacée du tableau `services` vers le tableau `documents`.
* `number` est désormais une string au lieu d’un entier.
* `progress` est désormais un nombre à virgule flottante au lieu d’un entier.

### GET /task/{id}

```http theme={null}
GET https://api-{location-id}.flexicapture.com/v1/task/{id}
GET https://api-{location-id}.flexicapture.com/v2/task/{id}
```

La réponse est désormais organisée de la même manière que pour la méthode de création de tâche.

* Clés ajoutées, comme pour la méthode de création de tâche : `batch_id`, `is_realtime_enabled`, `processing_priority`, `is_demo`, `account`, `application`, `documents_count`, `pages_count`, `is_extra_error`, `documents > data`, `documents > is_moved`, `documents > traininglayout_fileid`.
* Ajout de clés supplémentaires liées aux données extraites — `documents > data > { region, export_format, verification_type, vendor_name, invoice_date, total, currency }` — ainsi qu’à la facturation des tâches : `billed`, `is_billed`.
* Clés supprimées : `label`, `lead_time`, `deleted`, `wait_for_action`, `is_test`, `region`, `export_format`, `verification_type`, `business_unit`.
* Le tableau `services` a été supprimé ; la clé `files` a été déplacée du tableau `services` vers le tableau `documents`.
* `number` est désormais une string au lieu d’un entier.
* `progress` est désormais un nombre à virgule flottante au lieu d’un entier.

### DELETE /task/{id}

```http theme={null}
DELETE https://api-{location-id}.flexicapture.com/v1/task/{id}
DELETE https://api-{location-id}.flexicapture.com/v2/task/{id}
```

<div id="working-with-datasets">
  ## Utilisation des jeux de données
</div>

<div id="post-datasetbusinessunits">
  ### POST /dataset/businessunits
</div>

```http theme={null}
POST https://api-{location-id}.flexicapture.com/v1/dataset/businessunits
POST https://api-{location-id}.flexicapture.com/v2/dataset/businessunits
```

* Dans la requête et dans la réponse, les clés suivantes contiennent désormais des tableaux de variantes : `name`, `street`, `city`, `state`, `zip`, `vat`.

<div id="put-datasetbusinessunits">
  ### PUT /dataset/businessunits
</div>

```http theme={null}
PUT https://api-{location-id}.flexicapture.com/v1/dataset/businessunits
PUT https://api-{location-id}.flexicapture.com/v2/dataset/businessunits
```

* Dans la requête et dans la réponse, les clés suivantes contiennent désormais des tableaux de variantes : `name`, `street`, `city`, `state`, `zip`, `vat`.

### GET /dataset/businessunits/{region}

```http theme={null}
GET https://api-{location-id}.flexicapture.com/v1/dataset/businessunits/{region}
GET https://api-{location-id}.flexicapture.com/v2/dataset/businessunits/{region}
```

* Des paramètres de requête facultatifs peuvent désormais être utilisés pour récupérer les données de l’une des unités commerciales : `externalId`, `skip`, `take`.
* Dans la requête comme dans la réponse, les clés suivantes contiennent désormais des tableaux de variantes : `name`, `street`, `city`, `state`, `zip`, `vat`.

### DELETE /dataset/businessunits/{region}

```http theme={null}
DELETE https://api-{location-id}.flexicapture.com/v1/dataset/businessunits/{region}
DELETE https://api-{location-id}.flexicapture.com/v2/dataset/businessunits/{region}
```

### DELETE /dataset/businessunit/{region}/{externalId}

```http theme={null}
DELETE https://api-{location-id}.flexicapture.com/v1/dataset/businessunit/{region}/{externalId}
DELETE https://api-{location-id}.flexicapture.com/v2/dataset/businessunit/{region}/{externalId}
```

<div id="post-datasetvendors">
  ### POST /dataset/vendors
</div>

```http theme={null}
POST https://api-{location-id}.flexicapture.com/v1/dataset/vendors
POST https://api-{location-id}.flexicapture.com/v2/dataset/vendors
```

* Dans la requête comme dans la réponse, les clés suivantes contiennent désormais des tableaux de variantes : `name`, `street`, `city`, `state`, `zip`, `vat`, `national_vat`, `iban`, `bank_account`, `bank_code`, `gl_code`.

<div id="put-datasetvendors">
  ### PUT /dataset/vendors
</div>

```http theme={null}
PUT https://api-{location-id}.flexicapture.com/v1/dataset/vendors
PUT https://api-{location-id}.flexicapture.com/v2/dataset/vendors
```

* Dans la requête comme dans la réponse, les clés suivantes contiennent désormais des tableaux de variantes : `name`, `street`, `city`, `state`, `zip`, `vat`, `national_vat`, `iban`, `bank_account`, `bank_code`, `gl_code`.

### GET /dataset/vendors/{region}

```http theme={null}
GET https://api-{location-id}.flexicapture.com/v1/dataset/vendors/{region}
GET https://api-{location-id}.flexicapture.com/v2/dataset/vendors/{region}
```

* Des paramètres de requête facultatifs peuvent désormais être utilisés pour récupérer les données de l’un des fournisseurs : `externalId`, `skip`, `take`.
* Dans la requête comme dans la réponse, les clés suivantes contiennent désormais des tableaux de variantes : `name`, `street`, `city`, `state`, `zip`, `vat`, `national_vat`, `iban`, `bank_account`, `bank_code`, `gl_code`.

### DELETE /dataset/vendors/{region}

```http theme={null}
DELETE https://api-{location-id}.flexicapture.com/v1/dataset/vendors/{region}
DELETE https://api-{location-id}.flexicapture.com/v2/dataset/vendors/{region}
```

### DELETE /dataset/vendors/{region}/{externalId}

```http theme={null}
DELETE https://api-{location-id}.flexicapture.com/v1/dataset/vendors/{region}/{externalId}
DELETE https://api-{location-id}.flexicapture.com/v2/dataset/vendors/{region}/{externalId}
```

<div id="training-the-data-capture-models">
  ## Entraînement des modèles de capture de données
</div>

<div id="post-training">
  ### POST /training
</div>

```http theme={null}
POST https://api-{location-id}.flexicapture.com/v1/data/train
POST https://api-{location-id}.flexicapture.com/v2/training
```

<div id="put-training">
  ### PUT /training
</div>

```http theme={null}
PUT https://api-{location-id}.flexicapture.com/v1/data/train
PUT https://api-{location-id}.flexicapture.com/v2/training
```

### GET /training/layout/{taskId}/{fileId}

```http theme={null}
GET https://api-{location-id}.flexicapture.com/v1/data/{taskId}/{fileId}
GET https://api-{location-id}.flexicapture.com/v2/training/layout/{taskId}/{fileId}
```

### POST /training/station/{taskId}

```http theme={null}
POST https://api-{location-id}.flexicapture.com/v1/data/train/station/{taskId}
POST https://api-{location-id}.flexicapture.com/v2/training/station/{taskId}
```

### PUT /training/station/{taskId}

```http theme={null}
PUT https://api-{location-id}.flexicapture.com/v1/data/train/station/{taskId}
PUT https://api-{location-id}.flexicapture.com/v2/training/station/{taskId}
```

### GET /training/batch{region}

```http theme={null}
GET https://api-{location-id}.flexicapture.com/v1/data/batch/{region}
GET https://api-{location-id}.flexicapture.com/v2/training/batch{region}
```
