GET/v1/cards-by-external-id/{external_id}
Obtener una tarjeta por su ID externo
get_card_by_external_id
Devuelve la misma tarjeta, con las mismas comprobaciones de acceso, que GET /v1/cards/{card_id}, localizada por el external_id del integrador. Si la organización no tiene ninguna tarjeta con este external_id, o la tarjeta no es visible para quien llama a la API, la solicitud devuelve 404 cards.not_found.
Autenticación
Envíe una clave de API en el encabezado Authorization: Authorization: Bearer <clave>.
Parámetros de ruta
external_idstringobligatorioexternal_idde la tarjeta: una cadena de 1 a 512 caracteres, única en la organización.length ≥ 1, length ≤ 512
Parámetros de consulta
expand[]array of stringObjetos relacionados que se incluyen en la respuesta (desde 1.62.0): una ruta de la lista
x-expandablede la operación. Repita el parámetro hasta 10 veces. Una ruta tiene hasta 2 segmentos separados por un punto (collection.default_owner). En una lista, la ruta empieza pordata.y se aplica a todos los elementos de la página (expand[]=data.owner). Un objeto expandido va al objetoexpandeddel elemento, y el campo de ID se mantiene. Un objeto que quien llama a la API no puede ver según las comprobaciones de su propia operación de lectura se expande comonull. Una ruta desconocida, más de 10 rutas o una ruta con más de 2 segmentos devuelven400 api.expand_invalid.items ≤ 10
Parámetros de encabezado
X-View-AsstringSolo para claves de API con el rol
admin. Ejecuta la solicitud como el perfil de datos<profile>[:viewer|verifier|editor], por ejemploemployee:viewer. La clave de instalación no puede usar este encabezado (403).
Parámetros de cookie
kb_view_asstringCookie del modo «View as» para una sesión.
POST /auth/view-asla establece yDELETE /auth/view-asla elimina.
Respuestas
200Respuesta correcta
Encabezados de la respuesta
RateLimit-PolicyLímites vigentes, en el formato del borrador del IETF
draft-ietf-httpapi-ratelimit-headers: elementos separados por comas"<name>";q=<quota>;w=<window in seconds>.keyes la frecuencia de solicitudes de la clave de API (la cuota es la ráfaga y la ventana es el tiempo que tarda en recargarse por completo; para una sesión esusery sin credenciales,ip);minute,dayymonthson las cuotas de la organización para el minuto, el día y el mes naturales en UTC.RateLimitLo que queda de cada límite de
RateLimit-Policy:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitLímite de la entrada más estricta de
RateLimit-Policy(la que tiene menos solicitudes restantes).X-RateLimit-RemainingSolicitudes restantes del límite más estricto.
X-RateLimit-ResetSegundos hasta que se restablece el límite más estricto.
application/json
expandedCardExpandedpermissionsObjectPermissionListaccessstringValores permitidos:
wholepartialaccess_contactstringA quién dirigirse para obtener acceso (solo cuando
access=partial).aclobjectCampos
verifybooleanobligatoriowritebooleanobligatorio
categorystringobligatoriocategory_confidencenumber | nullobligatoriocategory_lockedbooleanobligatoriocategory_reviewbooleanobligatoriocollectionstringobligatoriocollection_idintegerobligatoriocollection_titlestringcommentsarray of CardCommentcontent_jsonContentJSON | nullContenido del editor de la última versión publicada. El campo puede no aparecer; en ese caso, obtenga el contenido del editor a partir de un borrador (
POST /v1/draftsconcard_id).editing_lockEditingLock | nullBloqueo de edición activo. El campo puede no aparecer; en ese caso, el editor sabe quién tiene el bloqueo por la respuesta
409 cards.lockeddePOST /v1/cards/{card_id}/lock.created_atstring (date-time)obligatoriodays_since_verifiedintegerobligatorioerrorstring | nullobligatorioeventsarray of CardEventfeedback_negintegerobligatoriofeedback_posintegerobligatoriofoldersarray of CardFolderRefSolo en la lista de tarjetas: las carpetas que contienen la tarjeta (las que el usuario puede ver), con sus rutas desde la raíz de la colección. Una lista vacía significa que la tarjeta no está en ninguna carpeta.
has_tablesbooleanSolo en la lista de tarjetas.
hidden_partsbooleanidstringobligatoriojobJob | nullorg_idintegerobligatorioowner_activeboolean | nullowner_idinteger | nullobligatorioowner_namestring | nullobligatoriopagesinteger | nullobligatorioparserstring | nullobligatorioAnalizador del documento como código neutro:
document(estructura completa: páginas, títulos, tablas, páginas escaneadas),pdf(la capa de texto del PDF),docx,xlsx,csv,markdown,html,text. La lista puede ampliarse.sensitivebooleanobligatoriosha256string | nullobligatoriosizeintegerobligatoriosnoozed_atstring (date-time) | nullsnoozed_byinteger | nullsnoozed_untilstring | nullsource_changedbooleanobligatoriosource_pathstring | nullobligatoriosource_urlstring | nullobligatoriostatusstringobligatorioValores permitidos:
processingreadyerrorarchivedtablesarray of CardTabletagsarray of stringobligatoriotitlestringobligatoriotrustnumberobligatoriotrust_if_verifiednumberupdated_atstring (date-time)obligatorioverified_atstring (date-time) | nullobligatorioverified_byinteger | nullobligatorioverified_by_namestring | nullverifier_idsarray of integerobligatorioverifiersarray of objectCampos
activebooleanobligatorioidintegerobligatorionamestringobligatorio
verify_interval_daysintegerobligatorioversionintegerobligatorioversionsarray of CardVersionsource_archiveArchiveSourcecreated_byinteger | nullmanual_optionsobjectConfiguración manual del análisis (vista previa).
doc_kindDocKind | nullTipo de documento.
nullsi el tipo no está determinado (por ejemplo, en las tarjetas indexadas antes de que existieran los tipos de documento).doc_kind_confidencenumber | nullGrado de certeza del tipo de documento, de 0 a 1.
doc_kind_sourcestring | nullQué determinó el tipo: reglas (
rules), un usuario (manual) o la clasificación automática. La lista puede ampliarse: trate un valor desconocido como clasificación automática.Valores permitidos:
rulesmanualnullinvoiceDocInvoiceExtraction | nullCampos de una factura, una nota de crédito o un recibo (solo para estos tipos, y solo en la tarjeta, no en la lista).
nullsi no tiene acceso a todo el documento, porque los campos se extraen del documento completo.warningsarray of ReviewWarningAdvertencias del análisis del documento (
ReviewWarning; solo en la tarjeta, no en la lista).enrichmentCardEnrichmentStatus | nullEstado del enriquecimiento (solo en la tarjeta, no en la lista). El tipo de documento, los campos de la factura y los registros financieros se añaden en segundo plano después de la indexación y pueden recalcularse más tarde; aparecen en la tarjeta cuando están listos.
nullsignifica que no hay estado disponible (la tarjeta se indexó sin enriquecimiento en segundo plano).external_idstring | nullID de la tarjeta en el sistema del integrador. Es único en la organización entre las tarjetas que no proceden de fuentes;
nullsignifica que no está definido./v1/cards-by-external-id/{external_id}lee y sustituye la tarjeta a partir de él.length ≤ 512
metadataMetadata
400La solicitud no es válida: el valor de un parámetro o el estado del objeto no permiten la acción (`detail` es un mensaje).
Encabezados de la respuesta
RateLimit-PolicyLímites vigentes, en el formato del borrador del IETF
draft-ietf-httpapi-ratelimit-headers: elementos separados por comas"<name>";q=<quota>;w=<window in seconds>.keyes la frecuencia de solicitudes de la clave de API (la cuota es la ráfaga y la ventana es el tiempo que tarda en recargarse por completo; para una sesión esusery sin credenciales,ip);minute,dayymonthson las cuotas de la organización para el minuto, el día y el mes naturales en UTC.RateLimitLo que queda de cada límite de
RateLimit-Policy:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitLímite de la entrada más estricta de
RateLimit-Policy(la que tiene menos solicitudes restantes).X-RateLimit-RemainingSolicitudes restantes del límite más estricto.
X-RateLimit-ResetSegundos hasta que se restablece el límite más estricto.
application/json
401No se enviaron credenciales (ni una cookie de sesión ni una clave de API) o no se encontró la clave.
Encabezados de la respuesta
RateLimit-PolicyLímites vigentes, en el formato del borrador del IETF
draft-ietf-httpapi-ratelimit-headers: elementos separados por comas"<name>";q=<quota>;w=<window in seconds>.keyes la frecuencia de solicitudes de la clave de API (la cuota es la ráfaga y la ventana es el tiempo que tarda en recargarse por completo; para una sesión esusery sin credenciales,ip);minute,dayymonthson las cuotas de la organización para el minuto, el día y el mes naturales en UTC.RateLimitLo que queda de cada límite de
RateLimit-Policy:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitLímite de la entrada más estricta de
RateLimit-Policy(la que tiene menos solicitudes restantes).X-RateLimit-RemainingSolicitudes restantes del límite más estricto.
X-RateLimit-ResetSegundos hasta que se restablece el límite más estricto.
application/json
403La acción no está permitida: el rol no es suficiente, no hay acceso a la colección o a la tarjeta, la solicitud se ejecuta en modo «View as», o la organización está suspendida o eliminada (`detail` es un objeto con `code: org_suspended | org_deleted`).
Encabezados de la respuesta
RateLimit-PolicyLímites vigentes, en el formato del borrador del IETF
draft-ietf-httpapi-ratelimit-headers: elementos separados por comas"<name>";q=<quota>;w=<window in seconds>.keyes la frecuencia de solicitudes de la clave de API (la cuota es la ráfaga y la ventana es el tiempo que tarda en recargarse por completo; para una sesión esusery sin credenciales,ip);minute,dayymonthson las cuotas de la organización para el minuto, el día y el mes naturales en UTC.RateLimitLo que queda de cada límite de
RateLimit-Policy:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitLímite de la entrada más estricta de
RateLimit-Policy(la que tiene menos solicitudes restantes).X-RateLimit-RemainingSolicitudes restantes del límite más estricto.
X-RateLimit-ResetSegundos hasta que se restablece el límite más estricto.
application/json
404El objeto no existe o no está disponible para usted. La API no confirma la existencia de un objeto restringido.
Encabezados de la respuesta
RateLimit-PolicyLímites vigentes, en el formato del borrador del IETF
draft-ietf-httpapi-ratelimit-headers: elementos separados por comas"<name>";q=<quota>;w=<window in seconds>.keyes la frecuencia de solicitudes de la clave de API (la cuota es la ráfaga y la ventana es el tiempo que tarda en recargarse por completo; para una sesión esusery sin credenciales,ip);minute,dayymonthson las cuotas de la organización para el minuto, el día y el mes naturales en UTC.RateLimitLo que queda de cada límite de
RateLimit-Policy:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitLímite de la entrada más estricta de
RateLimit-Policy(la que tiene menos solicitudes restantes).X-RateLimit-RemainingSolicitudes restantes del límite más estricto.
X-RateLimit-ResetSegundos hasta que se restablece el límite más estricto.
application/json
422Error de validación: el cuerpo o los parámetros no coinciden con el esquema (`detail` es una lista de errores de validación), o el valor de un parámetro está fuera del rango permitido (`detail` es un mensaje).
Encabezados de la respuesta
RateLimit-PolicyLímites vigentes, en el formato del borrador del IETF
draft-ietf-httpapi-ratelimit-headers: elementos separados por comas"<name>";q=<quota>;w=<window in seconds>.keyes la frecuencia de solicitudes de la clave de API (la cuota es la ráfaga y la ventana es el tiempo que tarda en recargarse por completo; para una sesión esusery sin credenciales,ip);minute,dayymonthson las cuotas de la organización para el minuto, el día y el mes naturales en UTC.RateLimitLo que queda de cada límite de
RateLimit-Policy:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitLímite de la entrada más estricta de
RateLimit-Policy(la que tiene menos solicitudes restantes).X-RateLimit-RemainingSolicitudes restantes del límite más estricto.
X-RateLimit-ResetSegundos hasta que se restablece el límite más estricto.
application/json
429Demasiadas solicitudes (`api.rate_limited`), se agotó la cuota de la organización para el minuto, el día o el mes (`api.quota_exceeded`; `error.details` contiene `quota`, `limit` y `reset_at`), se alcanzó el límite de la organización o el servicio de respuestas está ocupado (`answers.engine_busy`). Espere el tiempo indicado en el encabezado `Retry-After`.
Encabezados de la respuesta
Retry-AfterNúmero de segundos que hay que esperar antes de reintentar la solicitud.
RateLimit-PolicyLímites vigentes, en el formato del borrador del IETF
draft-ietf-httpapi-ratelimit-headers: elementos separados por comas"<name>";q=<quota>;w=<window in seconds>.keyes la frecuencia de solicitudes de la clave de API (la cuota es la ráfaga y la ventana es el tiempo que tarda en recargarse por completo; para una sesión esusery sin credenciales,ip);minute,dayymonthson las cuotas de la organización para el minuto, el día y el mes naturales en UTC.RateLimitLo que queda de cada límite de
RateLimit-Policy:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitLímite de la entrada más estricta de
RateLimit-Policy(la que tiene menos solicitudes restantes).X-RateLimit-RemainingSolicitudes restantes del límite más estricto.
X-RateLimit-ResetSegundos hasta que se restablece el límite más estricto.
application/json
Códigos de error
Códigos que este endpoint puede devolver en error.code, además de los códigos generales de cualquier solicitud.
Límites de frecuencia
Las respuestas incluyen los encabezados RateLimit y RateLimit-Policy y los anteriores X-RateLimit-Limit, X-RateLimit-Remaining y X-RateLimit-Reset. Una respuesta 429 lleva Retry-After en segundos: espere y vuelva a intentarlo.