Referencia

Plantillas y Campos

Una Plantilla es una lista guardada y reutilizable de Campos que deseas extraer de un documento — un campo por columna de salida. Pasa el id de una Plantilla a Iniciar procesamiento de un lote en lugar de volver a listar tus campos en cada llamada. También puedes crear una Plantilla a partir de un preajuste integrado, u omitir las Plantillas por completo y pasar campos ad-hoc fields directamente a process para una ejecución única.

Listar plantillas

Devuelve tus plantillas guardadas, cada una con su lista de campos completa y ordenada incorporada.

GET /api/v1/templates

Parámetros

NombreUbicaciónTipoDescripción
limitconsulta, opcionalentero1–100. Valor predeterminado: 50.
page_tokenconsulta, opcionalcadenaCursor opaco de un next_page_token de respuesta anterior. Consulta Paginación.

Posibles errores

  • missing_api_key / invalid_api_key / plan_required — consulta Manejo de errores.
  • invalid_parameter — limit o page_token no válidos.

Crear una plantilla

Dos formas de crear una plantilla en un solo endpoint: desde cero (opcionalmente clonando los campos de otra plantilla mediante base_template_id), o desde un ajuste predefinido integrado mediante preset_id. Las cuentas tienen un límite de 30 plantillas: elimina una existente antes de crear otra cuando alcances el límite.

POST /api/v1/templates

Parámetros

NombreUbicaciónTipoDescripción
namecuerpo (JSON)stringObligatorio a menos que se proporcione preset_id (en cuyo caso se usa el nombre del ajuste predefinido, desambiguado con un sufijo de marca de tiempo si ya tienes una plantilla con ese nombre).
preset_idcuerpo (JSON)string, opcionalConstruye la plantilla (y sus campos) desde un ajuste predefinido integrado — consulta Listar ajustes predefinidos para ver los IDs válidos.
base_template_idcuerpo (JSON)integer, opcionalSolo se usa cuando no se proporciona preset_id — clona los campos de esta plantilla existente en la nueva.

Posibles errores

  • missing_api_key / invalid_api_key / plan_required — consulta Manejo de errores.
  • missing_parameter (param: "name") — falta name y preset_id.
  • invalid_parameter (param: "name") — ya existe una plantilla con este nombre (solo en la ruta de creación sin ajuste predefinido).
  • invalid_parameter (param: "preset_id") — ID de ajuste predefinido desconocido.
  • template_limit_reached — ya se alcanzó el límite de 30 plantillas para esta cuenta.
  • internal_error

Actualizar configuración de plantilla

Establece el requisito de formato global de una plantilla (aplicado además del de cada campo) y su configuración de Combinación de varias páginas — si varias páginas subidas que pertenecen al mismo registro lógico (un contrato de arrendamiento de varias páginas, un paquete de recibos grapados) deben combinarse en una sola fila de salida en lugar de mantener una fila por página. Una vez habilitado aquí, la combinación se aplica automáticamente dondequiera que se use esta plantilla tanto para el procesamiento como para los resultados — consulte ?merge=true en Obtener resultados de lote y Exportar un lote (que siempre lo aplica, sin necesidad de optar por ello allí). Cada campo en el cuerpo de la solicitud a continuación es opcional; solo se actualizan las claves que envíe, todo lo demás se deja como está (no hay un estado separado de borrador/vista previa para confirmar — esta llamada surte efecto de inmediato, igual que el diálogo de Configuración de plantilla de la aplicación web).

PUT /api/v1/templates/{id}/settings

Parámetros

NombreUbicaciónTipoDescripción
idpathintegerLa plantilla a actualizar.
global_format_requirementbody (JSON), opcionalstringInstrucciones adicionales aplicadas además del propio format_requirement de cada campo.
merge_enabledbody (JSON), opcionalbooleanActiva/desactiva la Fusión Multi-Página. Cada campo merge_* a continuación no tiene sentido mientras esto sea false.
merge_modebody (JSON), opcionalstring o null"sequential" (nuevo registro cuando cambia el valor de una Columna de Datos), "key_match" (agrupar por valor coincidente de Columna de Datos sin importar el orden de carga), o "fixed_count" (agrupar cada N cargas).
merge_field_namebody (JSON), opcionalstring o nullLa Columna de Datos (nombre de campo) utilizada por los disparadores basados en valor de sequential y por la clave de agrupación de key_match.
merge_trigger_typebody (JSON), opcionalstring o nullSolo para sequential: "value_change", "blank", "has_value" o "equals_value".
merge_trigger_valuebody (JSON), opcionalstring o nullSolo para merge_trigger_type: "equals_value" — el texto o regex a coincidir.
merge_fixed_countbody (JSON), opcionalinteger o nullSolo para merge_mode: "fixed_count" — tamaño del grupo, mínimo 1.
merge_conflict_policybody (JSON), opcionalstring o nullCuando las páginas agrupadas discrepan sobre el valor de un campo: "split" (una fila de salida por página en lugar de fusionar), "first", "last" o "concat" (predeterminado).
merge_conflict_separatorbody (JSON), opcionalstring o nullSe usa cuando merge_conflict_policy: "concat", máximo 20 caracteres. null recurre al predeterminado " / "; "" es una elección deliberada de "sin separador" y se almacena tal cual.
merge_skip_previewbody (JSON), opcionalbooleanSolo relevante para la aplicación web (controla la pantalla de confirmación de vista previa de exportación) — no tiene efecto en el comportamiento de la API, ya que la API no tiene un paso de vista previa interactivo que omitir. Se puede configurar aquí únicamente para que la configuración completa de una plantilla haga un viaje de ida y vuelta a través de este único endpoint.

Posibles errores

  • missing_api_key / invalid_api_key / plan_required — consulte Manejo de errores.
  • template_not_found
  • invalid_parameter — merge_mode / merge_trigger_type / merge_fixed_count / merge_conflict_policy / merge_conflict_separator no válidos.
  • internal_error

Eliminar una plantilla

Elimina una plantilla y todos sus campos (en cascada: no se necesita una llamada de limpieza por separado). No afecta a los documentos que ya usaron esta plantilla en una llamada process anterior; sus resultados ya extraídos no se modifican.

DELETE /api/v1/templates/{id}

Parámetros

NombreUbicaciónTipoDescripción
idrutaenteroLa plantilla a eliminar.

Posibles errores

  • missing_api_key / invalid_api_key / plan_required — consulte Manejo de errores.
  • template_not_found
  • internal_error

Listar ajustes predefinidos

Listas de campos integradas para tipos de documentos comunes (facturas, recibos, extractos bancarios y más): pase el id de un ajuste predefinido como preset_id a Crear una plantilla para obtener una plantilla funcional sin tener que enumerar los campos manualmente. Los ajustes predefinidos son configuración estática, no filas de base de datos: no hay forma de crear, editar o eliminar uno a través de la API.

GET /api/v1/presets

Parámetros

NombreUbicaciónTipoDescripción
categoryconsulta, opcionalstringFiltra por una categoría (p. ej. "Finance & Accounting"). Omítelo para listar todas las categorías.
limitconsulta, opcionalinteger1–100. Valor predeterminado: 50.
page_tokenconsulta, opcionalstringCursor opaco de la respuesta anterior next_page_token.

Posibles errores

  • missing_api_key / invalid_api_key / plan_required — consulta Manejo de errores.
  • invalid_parameter — limit o page_token no válidos.

Listar y crear campos

fields es el nombre público v1 de lo que la interfaz del producto llama "reglas de coincidencia": un campo por columna de salida, en el orden en que la extracción los emitirá. GET devuelve todos los campos de la plantilla, ya ordenados por sort_order. POST agrega un nuevo campo al final.

GET POST /api/v1/templates/{id}/fields

Parámetros

NombreUbicaciónTipoDescripción
idrutaintegerLa plantilla a la que pertenecen estos campos.
namecuerpo (JSON), solo POSTstringObligatorio. Debe ser único dentro de esta plantilla; consulta los errores a continuación.
format_requirementcuerpo (JSON), solo POSTstring, opcionalIndicación de texto libre sobre el formato esperado del valor (p. ej. "YYYY-MM-DD", "Number").

Posibles errores

  • missing_api_key / invalid_api_key / plan_required — consulta Manejo de errores.
  • template_not_found
  • missing_parameter (param: "name") — solo POST.
  • duplicate_field_name — ya existe un campo con este name en esta plantilla.
  • internal_error

Actualizar y eliminar un campo

PUT renombra un campo (y reemplaza su format_requirement) — es un reemplazo completo, no un parche parcial, así que incluye ambos valores aunque solo cambie uno. DELETE lo elimina.

PUT DELETE /api/v1/templates/{id}/fields/{field_id}

Parámetros

NombreUbicaciónTipoDescripción
idrutaenteroLa plantilla a la que pertenece este campo.
field_idrutaenteroEl campo a actualizar o eliminar.
namecuerpo (JSON), solo PUTcadenaObligatorio. Nuevo nombre.
format_requirementcuerpo (JSON), solo PUTcadena, opcionalNueva sugerencia de formato: omítelo y se borra a una cadena vacía, no queda sin cambios.

Posibles errores

  • missing_api_key / invalid_api_key / plan_required — consulta Manejo de errores.
  • template_not_found — la plantilla no existe/no es tuya, o (con un mensaje que lo indica) el field_id no está en esta plantilla.
  • missing_parameter (param: "name") — solo PUT.
  • duplicate_field_name — solo PUT, al renombrar a un nombre que ya tiene otro campo en esta plantilla.
  • internal_error

Reordenar campos

Establece explícitamente el orden de los campos, que determina el orden de las columnas de salida en line_items y en las exportaciones a Excel/Word. Los IDs de la lista que no pertenezcan a esta plantilla se ignoran silenciosamente en lugar de rechazar toda la solicitud.

PATCH /api/v1/templates/{id}/fields/order

Parámetros

NombreUbicaciónTipoDescripción
idrutaintegerLa plantilla a reordenar.
field_idscuerpo (JSON)array de integersCada ID de campo de esta plantilla, en el orden en que deseas que aparezcan. Obligatorio.

Posibles errores

  • missing_api_key / invalid_api_key / plan_required — consulta Manejo de errores.
  • template_not_found
  • invalid_parameter (param: "field_ids") — no es una lista de integers.
  • internal_error
📮 contact email: [email protected]