- Primeros pasos
- Información general
- Límites y cuotas
- Migrar automatizaciones de la API de Document Understanding v1 a v2
- Ejemplos Utilizar la API de Document Understanding™ Cloud
- Licencia
- Solución de problemas

Guía de la API de Document Understanding
Al actualizar de la API de Document Understanding v1 a v2, se aplican los siguientes cambios importantes.Algunas actualizaciones requieren acción para garantizar que tus automatizaciones sigan funcionando como se espera.
Se recomienda que realices los siguientes pasos para migrar tus automatizaciones de la API de Document Understanding v1 a v2:
- Actualizar las rutas.
- Actualiza la gestión de resultados de Extracción y Procesamiento Inteligentes (IXP) (de Tablas a Grupos de Campo).
- Vuelve a crear y vuelve a implementar en un entorno de no producción.
- Valida que la automatización funcione como se espera en todas las cuatro dimensiones:
- Descubrimiento,
- Clasificación,
- Extracción,
- Validación.
Se han normalizado las rutas basadas en etiquetas para mejorar la coherencia en toda la API.
Todos los puntos finales basados en etiquetas que utilizan la estructura de ruta anterior devuelven 400 Bad Request en v2.
{tag} directamente después de {projectId}.
v1
POST /projects/{projectId}/{tag}/classification
POST /projects/{projectId}/{tag}/classification
v2
POST /projects/{projectId}/tags/{tag}/classificationPOST /projects/{projectId}/tags/{tag}/classificationAcción requerida
/projects/{projectId}/{tag}//projects/{projectId}/tags/{tag}/Asegúrate de que esta actualización se aplique de forma coherente en todos los entornos.
fields ya no se devuelve. Cualquier lógica de deserialización o cualquier modelo fuertemente tipado que haga referencia a los Campos dará Error o devolverá valores nulos.
v1
{
"fields": [
{
"name": "InvoiceNumber",
"type": "string"
}
]
}
{
"fields": [
{
"name": "InvoiceNumber",
"type": "string"
}
]
}
{
"taxonomy": {
...
}
}
{
"taxonomy": {
...
}
}
- Actualizar tus modelos de Respuesta para consumir el objeto
taxonomy. - Refactoriza la lógica descendente que dependía previamente de
fields.
tagindividual. Si utilizas la validación de esquema estricta, se requieren actualizaciones.
v1
{
"tag": "staging"
}
{
"tag": "staging"
}
{
"tags": ["staging"]
}
{
"tags": ["staging"]
}
Acción requerida:
- Actualiza los modelos de respuesta para sustituir
tagportags. - Ajusta la lógica si asumes un valor de etiqueta único.
Cambios en el esquema de resultados de Extracción y Procesamiento Inteligentes (IXP): se eliminan las Tablas y FieldType.Table se sustituye por FieldType.FieldGroup
Este cambio afecta solo a los resultados de extracción de Extracción y Procesamiento Inteligentes (IXP).
En la versión v1, la API devolvía un resultado de extracción de Extracción y Procesamiento Inteligentes (IXP) como una o más tablas.Esta fue una asignación del concepto de Extracción y Procesamiento Inteligentes (IXP) de FieldGroups a tablas. Todos los valores dentro de esas tablas se representaban como texto (string), independientemente de su tipo de datos de Extracción y Procesamiento Inteligentes (IXP) original.
En la versión 2, la API devuelve los resultados de extracción de Extracción y Procesamiento Inteligentes (IXP) como Grupos de campo.Esto introduce una asignación 1 a 1 con el concepto de Extracción y Procesamiento Inteligentes (IXP). Cada campo conserva su tipo de datos de Extracción y Procesamiento Inteligentes (IXP) actual (por ejemplo, Texto, Número, Fecha, Cantidad Monetaria).
v1 (resultado de extracción de Extracción y Procesamiento Inteligentes (IXP) devuelto como Tablas; valores representados como texto)
{
"Tables": [
{
"FieldId": "Seller",
"FieldName": "Seller",
"IsMissing": false,
"DataSource": "Automatic",
"DataVersion": 0,
"OperatorConfirmed": false,
"Values": [
{
"OperatorConfirmed": true,
"Confidence": 0.9999834,
"OcrConfidence": 1.0,
"Cells": [
{
"RowIndex": 0,
"ColumnIndex": 0,
"IsHeader": true,
"IsMissing": false,
"OperatorConfirmed": false,
"DataSource": "Automatic",
"DataVersion": 0,
"Values": [
{
"Components": [],
"Value": "Name",
"UnformattedValue": "Name",
"Reference": {
"TextStartIndex": 0,
"TextLength": 0,
"Tokens": []
},
"DerivedFields": [],
"Confidence": -1.0,
"OperatorConfirmed": false,
"OcrConfidence": 1.0,
"TextType": "Unknown"
}
]
}
],
"ColumnInfo": [
{
"FieldId": "Name",
"FieldName": "Name",
"FieldType": "Text"
}
],
"NumberOfRows": 2
}
]
}
]
}{
"Tables": [
{
"FieldId": "Seller",
"FieldName": "Seller",
"IsMissing": false,
"DataSource": "Automatic",
"DataVersion": 0,
"OperatorConfirmed": false,
"Values": [
{
"OperatorConfirmed": true,
"Confidence": 0.9999834,
"OcrConfidence": 1.0,
"Cells": [
{
"RowIndex": 0,
"ColumnIndex": 0,
"IsHeader": true,
"IsMissing": false,
"OperatorConfirmed": false,
"DataSource": "Automatic",
"DataVersion": 0,
"Values": [
{
"Components": [],
"Value": "Name",
"UnformattedValue": "Name",
"Reference": {
"TextStartIndex": 0,
"TextLength": 0,
"Tokens": []
},
"DerivedFields": [],
"Confidence": -1.0,
"OperatorConfirmed": false,
"OcrConfidence": 1.0,
"TextType": "Unknown"
}
]
}
],
"ColumnInfo": [
{
"FieldId": "Name",
"FieldName": "Name",
"FieldType": "Text"
}
],
"NumberOfRows": 2
}
]
}
]
}{
"Fields": [
{
"FieldId": "Default.Seller",
"FieldName": "Seller",
"FieldType": "FieldGroup",
"IsMissing": false,
"DataSource": "Automatic",
"Values": [
{
"Components": [
{
"FieldId": "Default.Seller.Name",
"FieldName": "Name",
"FieldType": "Text",
"IsMissing": false,
"DataSource": "Automatic",
"Values": [
{
"Components": [],
"Value": "John Doe",
"UnformattedValue": "John Doe",
"Reference": {
"TextStartIndex": 0,
"TextLength": 8,
"Tokens": [
"..."
]
},
"DerivedFields": [],
"Confidence": 0.9999834,
"OperatorConfirmed": false,
"OcrConfidence": 0.90999997,
"TextType": "Text",
"ValidatorNotes": "",
"ValidatorNotesInfo": ""
}
]
}
]
}
]
}
]
}{
"Fields": [
{
"FieldId": "Default.Seller",
"FieldName": "Seller",
"FieldType": "FieldGroup",
"IsMissing": false,
"DataSource": "Automatic",
"Values": [
{
"Components": [
{
"FieldId": "Default.Seller.Name",
"FieldName": "Name",
"FieldType": "Text",
"IsMissing": false,
"DataSource": "Automatic",
"Values": [
{
"Components": [],
"Value": "John Doe",
"UnformattedValue": "John Doe",
"Reference": {
"TextStartIndex": 0,
"TextLength": 8,
"Tokens": [
"..."
]
},
"DerivedFields": [],
"Confidence": 0.9999834,
"OperatorConfirmed": false,
"OcrConfidence": 0.90999997,
"TextType": "Text",
"ValidatorNotes": "",
"ValidatorNotesInfo": ""
}
]
}
]
}
]
}
]
}- En la versión v1, los resultados de Extracción y Procesamiento Inteligentes (IXP) se representaban como FieldType.Table en la matriz Campos y se asignaban a una estructura de tablas para mayor comodidad.
- En la versión 2, los resultados de Extracción y Procesamiento Inteligentes (IXP) se representan como FieldType.FieldGroup y se devuelven como FieldGroups (1:1 con FieldGroup de Extracción y Procesamiento Inteligentes (IXP)). Cualquier lógica que espere FieldType.Table o tablas se interrumpirá.
Acción requerida
- Actualiza la gestión de resultados de extracción y procesamiento inteligentes (IXP) para utilizar Grupos de campo en lugar de Tablas.
- Si tu automatización trata los resultados de extracción de Extracción y Procesamiento Inteligentes (IXP) como tablas, actualiza la lógica de análisis para manejar la nueva estructura de Grupo de Campo y los campos tipados.
- Reemplaza el análisis basado en cadenas con el manejo sensible a tipos. Por ejemplo:
- Fecha: analizar como un valor de fecha
- Número: analizar como un valor numérico
- Cantidad monetaria: manejar el valor y la moneda como un solo objeto de datos
{
"Fields": [
{
"FieldId": "Seller",
"FieldName": "Seller",
"FieldType": "Table",
"IsMissing": false,
"DataSource": "Automatic",
"Values": [
{
"Components": [
{
"FieldId": "Seller.Header",
"FieldName": "Header",
"FieldType": "Internal",
"IsMissing": false,
"DataSource": "Automatic",
"Values": [],
"DataVersion": 0,
"OperatorConfirmed": false,
"ValidatorNotes": ""
},
{
"FieldId": "Seller.Body",
"FieldName": "Body",
"FieldType": "Internal",
"IsMissing": false,
"DataSource": "Automatic",
"Values": [],
"DataVersion": 0,
"OperatorConfirmed": false,
"ValidatorNotes": ""
}
],
"Value": "",
"UnformattedValue": "",
"Reference": {
"TextStartIndex": 0,
"TextLength": 0,
"Tokens": []
},
"DerivedFields": [],
"Confidence": 0.9999834,
"OperatorConfirmed": true,
"OcrConfidence": 1.0,
"TextType": "Unknown"
}
],
"DataVersion": 0,
"OperatorConfirmed": false,
"ValidatorNotes": ""
}
]
}{
"Fields": [
{
"FieldId": "Seller",
"FieldName": "Seller",
"FieldType": "Table",
"IsMissing": false,
"DataSource": "Automatic",
"Values": [
{
"Components": [
{
"FieldId": "Seller.Header",
"FieldName": "Header",
"FieldType": "Internal",
"IsMissing": false,
"DataSource": "Automatic",
"Values": [],
"DataVersion": 0,
"OperatorConfirmed": false,
"ValidatorNotes": ""
},
{
"FieldId": "Seller.Body",
"FieldName": "Body",
"FieldType": "Internal",
"IsMissing": false,
"DataSource": "Automatic",
"Values": [],
"DataVersion": 0,
"OperatorConfirmed": false,
"ValidatorNotes": ""
}
],
"Value": "",
"UnformattedValue": "",
"Reference": {
"TextStartIndex": 0,
"TextLength": 0,
"Tokens": []
},
"DerivedFields": [],
"Confidence": 0.9999834,
"OperatorConfirmed": true,
"OcrConfidence": 1.0,
"TextType": "Unknown"
}
],
"DataVersion": 0,
"OperatorConfirmed": false,
"ValidatorNotes": ""
}
]
}- Cambios de Ruta del PuntoFinal
- Cambio de esquema de respuesta de descubrimiento: propiedad
fieldseliminada - Cambio de esquema de respuesta de descubrimiento: se ha cambiado el nombre de
tagatags - Cambios en el esquema de resultados de Extracción y Procesamiento Inteligentes (IXP): se eliminan las Tablas y FieldType.Table se sustituye por FieldType.FieldGroup