¿Cómo usar API REST para trabajar con Reports en Plataforma?

Onesait Platform tiene disponible un API con una serie de operaciones que permiten trabajar con Reports (listar, crear, editar, modificar…)

Veamos cómo funciona cada una de ellas. En primer lugar, podemos listar todos los reports existentes a partir de la la operación /api/reports de tipo GET:

Tan solo habría que introducir el campo Authorization, correspondiente al token de autenticación, y como resultado se obtendría un listado con todos los Reports disponibles para el usuario. Para este caso (ya que no se ha creado ninguno) devuelve una lista vacía:

Si se quiere crear un Report habría que invocar a la operación Post de API con endpoint /api/reports:

Al igual que en el caso anterior habría que introducir el campo Authorization, correspondiente al token de autenticación, indicar una identificación y descripción para ese Report, indicar si va a ser público o no, y añadir el fichero jrxml correspondiente. Si todo se ha introducido correctamente se obtendrá una respuesta de código 200.

Otra operación disonible en el Api es la desplegada en el endpoint /api/reports/{id} (de tipo GET) que permite obtener un Report en concreto a partir de su Id:

Aparte del token de identificación del usuario, habría que indicar el Id o Nombre del Report que se quiere buscar (como parámetro en el path). Si buscamos, por ejemplo, el Report creado con la Api anterior de nombre testingApi el resultado sería:

Por otro lado, la operación de tipo Put de la Api /api/reports/{id} permite editar un Report existente:

Como en cualquiera de estas operaciones del Api, habría que introducir el token de autorización, especificar el Id o el Nombre del Report que se quiere editar, y los valores de cada uno de los campos editables del Report (descripción, identificación, y fichero jrxml). Si todo ha funcionado correctamente se obtendrá una respuesta de código 200.

 

La operación Api /api/report/{id}/file devolverá el contenido del fichero jrxml asociado al Report que se especifique:

Tras introducir el token y el Id o Nombre del Report la Api devolverá el documento jrxml:

Otra operación del API es la que se utiliza para obtener los parametros delarados en la plantilla Jasper de un Report. Es una operación de tipo GET y su endpoint es /api/report/{id}/parameters:

Tras introducir el token de autorización y el Nombre o Id del Report esta operación del Api devolverá los Parámetros de entrada que acepta el Report:

Si se quisiera descargar el Report como fichero existe la operación POST del Api /api/report/{id}/{extension}:

En ella hay que introducir el token de autenticación, el Id o Nombre del Reporte, los Parámetros que de entrada que se necesiten (se pueden conocer con la Api anterior), y la extensión del fichero de descarga (por defecto pdf). Si todo ha ido bien se obtendría la siguiente respuesta:

Por último, existe una operación de tipo Delete para eliminar un Report específico:

Donde habría que indicar el token de autenticación, y el Id o el Nombre del Report. De ir todo bien se obtendría una respuesta con código 200.