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

# 主要な請求書フィールドの抽出

> ファイルをアップロードし、抽出タスクを実行してステータスをポーリングし、結果をダウンロードすることで、FlexiCapture for Invoices Cloud から主要な請求書フィールドを抽出します。

ABBYY FlexiCapture for Invoices Cloud には、請求書処理向けに特別に設計された、すぐに使用できるアプリケーションが含まれています。このアプリケーションは、追加の設定を行わなくても、ほとんどのドキュメントから必要なすべてのデータフィールドを認識して抽出します。デフォルトで請求書から抽出されるフィールドの詳細な一覧については、[抽出されたフィールド](/ja/flexi-capture/cloud/cloud-f-cfor-invoices-fields)セクションを参照してください。

請求書を処理するには、以下の手順に従います。

<Steps>
  <Step title="Authorization ヘッダーを取得する">
    いずれかのApplicationの認証情報を使用して、Authorizationヘッダーを取得します。詳細は、[Authentication](/ja/flexi-capture/cloud/cloud-f-cfor-invoices-api-auth)セクションを参照してください。以下の例では、サンプルのヘッダー`Basic QWxhZGRpbjpPcGVuU2VzYW1l`を使用します。
  </Step>

  <Step title="ファイルをアップロード">
    有効な[入力フォーマット](/ja/flexi-capture/cloud/cloud-f-cfor-invoices-formats)のファイルを、[File.Upload](/ja/flexi-capture/cloud/cloud-f-cfor-invoices-api-upload-file)メソッドを使用してサーバーにアップロードします。レスポンスで返されるファイルの識別子とトークンは、そのファイルに関する以降のすべてのリクエストで使用されます。

    ```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"
    ```

    レスポンスにはアップロードされたファイルのメタデータが含まれます:

    ```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="処理タスクを開始する">
    データ抽出を開始するには、Task.Run メソッドを使用して処理タスクを開始します。このリクエストでは複数のファイルを指定できます。リクエストには、次のオプションのパラメーターを含めることができます: 請求書の[地域](/ja/flexi-capture/cloud/cloud-f-cfor-invoices-languages)、検証タイプ、結果の[エクスポート形式](/ja/flexi-capture/cloud/cloud-f-cfor-invoices-formats)。レスポンスにはタスクIDが含まれており、これは次の手順で必要になります。

    ```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"
    ```

    レスポンスには、新しく作成されたタスクが示されています:

    ```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="タスクのステータスを確認する">
    タスクの処理には多少時間がかかるため、抽出されたデータはすぐには利用できません。タスクの開始時に受け取った識別子を使用して、[Task.Get](/ja/flexi-capture/cloud/cloud-f-cfor-invoices-api-get-task)メソッドでタスクのステータスを確認してください。ステータスが`Done`になるまで待ってください。

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

    タスクが完了すると、レスポンスにはダウンロード用の `target` ファイルが含まれます。

    ```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="出力ファイルをダウンロードする">
    ステータスが `Done` に変わったら、[File.Download](/ja/flexi-capture/cloud/cloud-f-cfor-invoices-api-download-file) メソッドを使用して、識別子とトークン (前のStepのレスポンスに含まれる `target` ファイル情報) を指定し、出力ファイルをダウンロードします。このリクエストを、タスクリクエスト内の各入力ファイルに対して繰り返します。

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

    成功した場合、サーバーは HTTP ステータス 200 OK とファイルの内容を返します。
  </Step>

  <Step title="タスクを削除">
    出力データをダウンロードしたら、タスク識別子を指定して Task.Delete メソッドを使用し、タスクを削除してすべての入力ファイルと出力ファイルを削除します。

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

    成功した場合、サーバーはHTTPステータス `204 No Content` を返します。
  </Step>
</Steps>

requestにエラーが含まれている場合、サーバーは失敗の理由を示す HTTPレスポンスコードのいずれかを返します。詳細については、[Request errors](/ja/flexi-capture/cloud/cloud-f-cfor-invoices-api-errors)セクションを参照してください。
