Buscar Preimpresos por API

Agustin_Reynoso
Wed, 06 Dec 2023 18:33:27 +0000
API

BUSCAR PREIMPRESOS DE UNA TRANSACCIÓN POR API

Esta funcionalidad tiene como objetivo dar la posibilidad de obtener el impreso de una transacción del sistema, por API, por medio del método GET.

¿Para qué sirve?

Para ejecutar la acción de buscar los impresos de una transacción por API, por medio del método GET.

Antes de empezar

Obtener el access_token, para poder consumir una api de teamplace.

URL: https://api.teamplace.finneg.com/api/oauth/token?grant_type=client_credentials&client_id={$clientid}&client_secret={$secretkey}

Modo de uso

Precondiciones:

Requisito Mínimo: Es obligatorio enviar al menos uno de los dos identificadores: primaryKey o identificacionExterna.

Lógica de Prioridad: El sistema siempre intentará buscar primero por primaryKey. Si no hay coincidencias, realizará la búsqueda por identificacionExterna.

Automatización: Si dejas vacíos los campos de XMLFILE y DATASOURCE, el sistema agrupará todos los reportes de la transacción en un solo archivo PDF.

Pasos a seguir:

1. Armamos el json del preimpreso a buscar, por medio del método GET.

URL: https://api.teamplace.finneg.com/api/custom/report/execute?XMLFILE={reportfile}&DATASOURCE={datasource}&primaryKey={pk}&identificacionExterna={identificacionExterna}

Parámetros:

XMLFILE (String - Query) (Opcional): Nombre del archivo XML del reporte. Si no se proporciona junto con DATASOURCE, se buscarán automáticamente todos los reportes disponibles para la transacción.

DATASOURCE (String - Query) (Opcional): Fuente de datos para el reporte. Si no se proporciona junto con XMLFILE, se buscarán automáticamente todos los reportes disponibles para la transacción.

primaryKey (Long - Query) (Opcional): Clave primaria de la transacción. Se requiere al menos primaryKey o identificacionExterna.

identificacionExterna (String - Query) (Opcional): Identificador externo de la transacción. Se requiere al menos primaryKey o identificacionExterna.

download (Boolean - Query) (Opcional): Si se establece en true, fuerza la descarga del archivo PDF.

Casos de uso:

1. Solo con primaryKey (busca automáticamente los reportes disponibles):

GET /api/custom/report/execute?primaryKey=12345

2. Solo con identificacionExterna (busca automáticamente los reportes disponibles):

GET /api/custom/report/execute?identificacionExterna=FC-001

3. Con XMLFILE, DATASOURCE y primaryKey:

GET /api/custom/report/execute?XMLFILE=reporte_venta.xml&DATASOURCE=ventas_db&primaryKey=12345

4. Con XMLFILE, DATASOURCE e identificacionExterna:

GET /api/custom/report/execute?XMLFILE=reporte_venta.xml&DATASOURCE=ventas_db&identificacionExterna=FC-001

5. Con primaryKey e identificacionExterna (busca primero por primaryKey, luego por identificacionExterna si no encuentra):

GET /api/custom/report/execute?primaryKey=12345&identificacionExterna=FC-001

Códigos de Respuesta:

200 OK: Se generó y devolvió el reporte correctamente.

400 Bad Request: Algún parámetro requerido está ausente o es inválido.

404 Not Found: No se encontraron reportes disponibles para la transacción.

500 Internal Server Error: Fallo en la generación del reporte.

Notas Adicionales:

El reporte puede forzar la descarga según el valor de download.

Si solo se proporciona primaryKey o identificacionExterna (sin XMLFILE ni DATASOURCE), el endpoint buscará automáticamente todos los reportes disponibles para esa transacción y los generará en un solo PDF.

Si se proporcionan ambos primaryKey e identificacionExterna, se buscará primero por primaryKey y, si no se encuentra, se intentará con identificacionExterna.

Cuando se usa identificacionExterna, el sistema obtiene automáticamente el primaryKey correspondiente y lo utiliza para generar el reporte.