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

# Extracción de los campos principales de las facturas

> Extraiga los campos principales de las facturas con FlexiCapture for Invoices Cloud cargando un archivo, ejecutando una tarea de captura, consultando el estado y descargando los resultados.

ABBYY FlexiCapture for Invoices Cloud incluye una aplicación lista para usar diseñada específicamente para el procesamiento de facturas. Esta aplicación reconoce y extrae todos los campos de datos necesarios de la mayoría de los documentos sin necesidad de ajustes adicionales. Para obtener una lista detallada de los campos que se extraen de las facturas de forma predeterminada, consulte la sección [Campos capturados](/es/flexi-capture/cloud/cloud-f-cfor-invoices-fields).

Siga los pasos que se indican a continuación para procesar facturas.

<Steps>
  <Step title="Obtener el encabezado de autorización">
    Obtenga el encabezado de autorización usando las credenciales de una de sus aplicaciones. Para obtener más información, consulte la sección [Authentication](/es/flexi-capture/cloud/cloud-f-cfor-invoices-api-auth). Los ejemplos siguientes usan el encabezado de ejemplo `Basic QWxhZGRpbjpPcGVuU2VzYW1l`.
  </Step>

  <Step title="Cargar un archivo">
    Cargue en el servidor un archivo en un [formato de entrada válido](/es/flexi-capture/cloud/cloud-f-cfor-invoices-formats) mediante el método [File.Upload](/es/flexi-capture/cloud/cloud-f-cfor-invoices-api-upload-file). En la respuesta, obtendrá el identificador y el token del archivo, que se usan en todas las solicitudes posteriores relacionadas con él.

    ```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 respuesta contiene los metadatos del archivo cargado:

    ```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="Iniciar una tarea de procesamiento">
    Inicie una tarea de procesamiento para iniciar la extracción de datos con el método Task.Run. Puede especificar varios archivos en esta solicitud. La solicitud puede contener los siguientes parámetros opcionales: factura [región](/es/flexi-capture/cloud/cloud-f-cfor-invoices-languages), tipo de verificación y el [formato de exportación](/es/flexi-capture/cloud/cloud-f-cfor-invoices-formats) para los resultados. La respuesta contiene un identificador de tarea, que necesitará en los pasos siguientes.

    ```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 respuesta describe la tarea que se acaba de crear:

    ```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="Comprobar el estado de la tarea">
    El procesamiento de la tarea lleva algo de tiempo, por lo que los datos extraídos no están disponibles de inmediato. Compruebe el estado de la tarea mediante el identificador que recibió al iniciarla, con el método [Task.Get](/es/flexi-capture/cloud/cloud-f-cfor-invoices-api-get-task). Espere hasta que el estado cambie a `Done`.

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

    Una vez completada la tarea, la respuesta incluye los archivos `target` para descargar:

    ```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="Descargar los archivos resultantes">
    Después de que el estado cambie a `Done`, descargue los archivos de salida usando sus identificadores y tokens (la información del archivo `target` en la respuesta del paso anterior) con el método [File.Download](/es/flexi-capture/cloud/cloud-f-cfor-invoices-api-download-file). Repita esta solicitud para cada archivo de entrada incluido en la solicitud de la tarea.

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

    Si la operación se realiza correctamente, el servidor devuelve un estado HTTP 200 OK y el contenido del archivo.
  </Step>

  <Step title="Eliminar la tarea">
    Después de descargar los datos de salida, elimine la tarea para eliminar todos los archivos de entrada y salida mediante el método Task.Delete con el identificador de la tarea.

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

    Si la operación se realiza correctamente, el servidor devuelve un estado HTTP `204 No Content`.
  </Step>
</Steps>

Si la solicitud contiene errores, el servidor devuelve uno de los códigos de respuesta HTTP para indicar el motivo del error. Para obtener más detalles, consulte la sección [Request errors](/es/flexi-capture/cloud/cloud-f-cfor-invoices-api-errors).
