> ## 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.

# Extraction des principaux champs de facture

> Extrayez les principaux champs de facture avec FlexiCapture for Invoices Cloud en téléversant un fichier, en exécutant une tâche de capture, en interrogeant le statut et en téléchargeant les résultats.

ABBYY FlexiCapture for Invoices Cloud inclut une application prête à l’emploi conçue spécifiquement pour le traitement des factures. Cette application reconnaît et extrait tous les champs de données nécessaires dans la plupart des documents, sans configuration supplémentaire. Pour obtenir une liste détaillée des champs extraits des factures par défaut, consultez la section [Champs capturés](/fr/flexi-capture/cloud/cloud-f-cfor-invoices-fields).

Suivez les étapes ci-dessous pour traiter les factures.

<Steps>
  <Step title="Récupérer l’en-tête Authorization">
    Récupérez l’en-tête Authorization à l’aide des identifiants de l’une de vos applications. Pour en savoir plus, consultez la section [Authentification](/fr/flexi-capture/cloud/cloud-f-cfor-invoices-api-auth). Les exemples ci-dessous utilisent l’en-tête d’exemple `Basic QWxhZGRpbjpPcGVuU2VzYW1l`.
  </Step>

  <Step title="Téléverser un fichier">
    Téléversez vers le serveur un fichier dans un [format d’entrée](/fr/flexi-capture/cloud/cloud-f-cfor-invoices-formats) valide à l’aide de la méthode [File.Upload](/fr/flexi-capture/cloud/cloud-f-cfor-invoices-api-upload-file). Dans la réponse, vous obtenez l’identifiant et le token du fichier, qui sont utilisés dans toutes les requêtes ultérieures concernant ce fichier.

    ```bash theme={null}
    curl -X POST \
      --header "Accept: application/json" \
      --header "Authorization: Basic QWxhZGRpbjpPcGVuU2VzYW1l" \
      --form "file=@/path/to/file/US_1.png" \
      "https://api-eu.flexicapture.com/v2/file"
    ```

    La réponse contient les métadonnées du fichier téléversé :

    ```json theme={null}
    {
      "id": "5eeb762149c6470fdc65a84c",
      "token": "4B5A1A00E7A82C2AF31E20CADE7284DDA43DED30",
      "name": "US_1.png",
      "extension": ".png",
      "hash": "E75133BA4FC50B7197C2842D7A8A8AE615C37E38714C7773B1F8E2904EC62537A199129CD3B737673FBAB1DE63CBD5D428705443ADD2E1BA6223B7DD60070FDA",
      "size": 369090,
      "mime": "image/png",
      "is_recognizable": true,
      "account": "5dae591d3c66a51ae8be9896",
      "application": "5dae591e91375010bcd78362",
      "email": "user@abbyy.com",
      "created": "2020-02-02T14:11:45.5338461Z",
      "expiring": "2020-03-03T14:11:45.5338254Z"
    }
    ```
  </Step>

  <Step title="Lancer une tâche de traitement">
    Démarrez une tâche de traitement pour lancer l’extraction de données à l’aide de la méthode Task.Run. Vous pouvez spécifier plusieurs fichiers dans cette requête. La requête peut contenir les paramètres facultatifs suivants : la [région de la facture](/fr/flexi-capture/cloud/cloud-f-cfor-invoices-languages), le type de vérification et le [format d’export](/fr/flexi-capture/cloud/cloud-f-cfor-invoices-formats) des résultats. La réponse contient un identifiant de tâche, dont vous aurez besoin lors des étapes suivantes.

    ```bash theme={null}
    curl -X POST \
      --header "Content-Type: application/json" \
      --header "Accept: application/json" \
      --header "Authorization: Basic QWxhZGRpbjpPcGVuU2VzYW1l" \
      -d '{
        "properties": {
          "region": "US",
          "export_format": "Xls",
          "verification_type": "NoVerification"
        },
        "files": [
          {
            "id": "5eeb762149c6470fdc65a84c",
            "token": "4B5A1A00E7A82C2AF31E20CADE7284DDA43DED30"
          }
        ]
      }' \
      "https://api-eu.flexicapture.com/v2/task/capture/invoices"
    ```

    La réponse décrit la nouvelle tâche :

    ```json theme={null}
    {
      "id": "5eeb7bf728613d1e04a70782",
      "number": "1126563",
      "batch_id": 0,
      "type": "ic",
      "is_realtime_enabled": false,
      "processing_priority": "Normal",
      "is_demo": false,
      "properties": {
        "region": "US",
        "export_format": "Xls",
        "verification_type": "NoVerification"
      },
      "account": "5dae591d3c66a51ae8be9896",
      "email": "user@abbyy.com",
      "application": "5dae591e91375010bcd78362",
      "created": "2020-02-02T14:36:39.441Z",
      "progress": 0,
      "status": "Submitted",
      "is_deleted": false,
      "is_billed": false,
      "documents": [
        {
          "files": {
            "source": {
              "id": "5eeb762149c6470fdc65a84c",
              "token": "4B5A1A00E7A82C2AF31E20CADE7284DDA43DED30",
              "name": "US_1.png"
            }
          },
          "data": {},
          "is_moved": false
        }
      ],
      "is_extra_error": false
    }
    ```
  </Step>

  <Step title="Vérifiez le statut de la tâche">
    Le traitement de la tâche prend un certain temps, les données extraites ne sont donc pas disponibles immédiatement. Vérifiez le statut de tâche à l’aide de l’identifiant que vous avez reçu lors du lancement de la tâche, avec la méthode [Task.Get](/fr/flexi-capture/cloud/cloud-f-cfor-invoices-api-get-task). Attendez que le statut passe à `Done`.

    ```bash theme={null}
    curl -X GET \
      --header "Accept: application/json" \
      --header "Authorization: Basic QWxhZGRpbjpPcGVuU2VzYW1l" \
      "https://api-eu.flexicapture.com/v2/task/5eeb7bf728613d1e04a70782"
    ```

    Lorsque la tâche est terminée, la réponse contient les fichiers `target` à télécharger :

    ```json theme={null}
    {
      "id": "5eeb7bf728613d1e04a70782",
      "number": "1126563",
      "batch_id": 2640691,
      "type": "ic",
      "is_realtime_enabled": false,
      "processing_priority": "Normal",
      "is_demo": false,
      "properties": {
        "region": "US",
        "export_format": "Xls",
        "verification_type": "NoVerification"
      },
      "account": "5dae591d3c66a51ae8be9896",
      "email": "user@abbyy.com",
      "application": "5dae591e91375010bcd78362",
      "created": "2020-02-02T14:36:39.441Z",
      "started": "2020-02-02T14:36:50.308Z",
      "billed": "2020-02-02T14:37:14.35Z",
      "delivered": "2020-02-02T14:37:14.328Z",
      "progress": 100,
      "status": "Done",
      "is_deleted": false,
      "is_billed": true,
      "documents_count": 1,
      "pages_count": 1,
      "documents": [
        {
          "files": {
            "source": {
              "id": "5eeb762149c6470fdc65a84c",
              "token": "4B5A1A00E7A82C2AF31E20CADE7284DDA43DED30",
              "name": "US_1.png"
            },
            "target": {
              "id": "5eeb7c1963ee5a1268123b96",
              "token": "A01EFC05BBB787DC6825F08E51B56CF3E066210E",
              "name": "Data_00000001.xls"
            },
            "verification_layer_page_0": {
              "id": "5eeb7c1a63ee5a1268123b97",
              "token": "18921FFB4C944056CB3ED00768F90724ADF0CB69",
              "name": "verification_layer_page_2.xml"
            }
          },
          "data": {
            "region": "us",
            "export_format": "xls",
            "verification_type": "noverification",
            "vendor_id": "1",
            "vendor_name": "AA APPAREL",
            "total": "20208",
            "currency": "USD"
          },
          "is_moved": false
        }
      ],
      "is_extra_error": false
    }
    ```
  </Step>

  <Step title="Téléchargez les fichiers de sortie">
    Une fois le statut passé à `Done`, téléchargez les fichiers de sortie à l’aide de leurs identifiants et jetons (les informations du fichier `target` figurant dans la réponse de l’étape précédente), avec la méthode [File.Download](/fr/flexi-capture/cloud/cloud-f-cfor-invoices-api-download-file). Répétez cette requête pour chaque fichier d’entrée de la requête de tâche.

    ```bash theme={null}
    curl -X GET \
      --header "Accept: application/json" \
      --header "Authorization: Basic QWxhZGRpbjpPcGVuU2VzYW1l" \
      "https://api-eu.flexicapture.com/v2/file/5eeb7c1963ee5a1268123b96/A01EFC05BBB787DC6825F08E51B56CF3E066210E"
    ```

    En cas de succès, le serveur renvoie le code d’état HTTP 200 OK et le contenu du fichier.
  </Step>

  <Step title="Delete la tâche">
    Après avoir téléchargé les données de sortie, supprimez la tâche afin de supprimer tous les fichiers d’entrée et de sortie, à l’aide de la méthode Task.Delete et de l’identifiant de la tâche.

    ```bash theme={null}
    curl -X DELETE \
      --header "Accept: application/json" \
      --header "Authorization: Basic QWxhZGRpbjpPcGVuU2VzYW1l" \
      "https://api-eu.flexicapture.com/v2/task/5eeb7bf728613d1e04a70782"
    ```

    En cas de succès, le serveur renvoie le code d’état HTTP `204 No Content`.
  </Step>
</Steps>

Si la requête contient des erreurs, le serveur renvoie l’un des codes de réponse HTTP pour indiquer le motif de l’échec. Pour plus de détails, consultez la section [Erreurs de requête](/fr/flexi-capture/cloud/cloud-f-cfor-invoices-api-errors).
