...
Obtener configuración de descuentos
Obtener configuración de permisos
Método: GET
Ejemplo:
https://homol.uno-internacional.com/pegasus-api/dashboard/empresas/8/ciclos/785/moduleConfig/CENSO.LISTADESCUENTOS
...
En la respuesta, está la configuración que se utiliza en el módulo de descuentos.
Obtener configuración de permisos
Instrucciones
Para obtener la configuración de permisos, se debe leer el campo ´data´ data
y buscar el item ´permisos´ permisos
, aquí se encuentran los permisos para las distintas secciones y/o acciones que se encuentran este módulo.
Obtener configuración de los reportes
Instrucciones
Para obtener la configuración de los reportes, se debe leer el campo data
y buscar el objeto reportes
, dentro del objeto reportes
existe un array secciones
, se debe recorrer este array y buscar el item donde la etiqueta sea “Reportes”: data.reportes.secciones[].etiqueta = 'Reportes'
, en este módulo de descuentos, el item correspondiente a la sección del reporte a descargar siempre es el index cero: data.reportes.secciones[0]
...
Dentro del item del index cero en el array de secciones
existe otro array items
que contiene los reportes disponibles en el módulo, en el módulo de Descuentos solo tenemos un reporte, por lo tanto se debe obtener el item del index cero en items
: data.reportes.secciones[0].items[0]
.
...
Una vez que se obtuvo el objeto correspondiente a la configuración del reporte, dentro de este objeto existen los siguientes campos:
empaquetable
: Es un boolean que indica si se debe generar el reporte por partes/paquetes
packConfig
: Es la configuración que indica cómo generar el reporte, este objeto contiene los siguientes campos:
nombreReporte
: Es el nombre que debe tener el archivo que se descargará.tamanoPaquete
: Es el total de registros permitidos por paquete.tipoReporte
: Es el identificador del reporte para utilizar en el llamado a la API de Pegasus.colegioRequerido
: Boolean que indica si el colegioId es requerido para la ejecución del reporte.
permisos
: Es un string que contiene el nombre del campo a buscar dentro de la sección de permisos
del módulo de descuentos
Obtener lista de descuentos
...
https://homol.uno-internacional.com/pegasus-api/censo/empresas/76/ciclos/1188/colegios/17919/descuentos/1069941?accion=validar
Parametros Parámetros en la URL
accion: indica si se quiere aprobar o cancelar un descuento
validar: cuando se aprueba un descuento
desvalidar: cuando se cancela un descuento
...
data[].descuento >= porcentajeMinimoAutorizacion
Descargar lista de descuentos
Para descargar cualquier reporte, debido a que la cantidad de registros dentro de un reporte puede ser excesiva, es necesario aplicar una lógica para calcular si se debe generar el reporte por partes (paquetes), para esto, se deben seguir los siguientes pasos:
1. Obtener total de registros a descargar
Método: GET
Ejemplo:
https://homol.uno-internacional.com/pegasus-api/reportes/empresas/8/ciclos/785/alumnosDescuento?typeResponse=json&count=1&colegioId=13244
Instrucciones
De la respuesta obtenida, se debe tomar el valor en el campo ´data´ en el item ´totalRegistros´
...
2. Obtener el límite de registros por paquete en un reporte
3. Lógica para determinar el total de paquetes a generar en el reporte
Se debe comparar el total de registros en el reporte contra el tamaño del paquete en la configuración del módulo para el reporte
a) Si el total de registros es MENOR o IGUAL al tamaño de los paquetes en la configuración del reporte
Se realiza la descarga directa del reporte sin generar paquetes:
Método: GET
Ejemplo:
https://homol.uno-internacional.com/pegasus-api/reportes/empresas/8/ciclos/785/alumnosDescuento?typeResponse=file&count=0&colegioId=13244&limit=10000&offset=0&contador=1
Parámetros en la URL
typeResponse
: indica el formato esperado en la respuestafile
: la respuesta es un archivojson
: la respuesta es en formato JSONpackFiles
: indica que se quiere generar una parte/paquetepackDownload
: indica que se quiere descargar el reporte generador por partes/paquetes
count
: indica si solo se requiere obtener el total de registros1
: se requiere obtener solo el total de registros que tendrá el reporte0
: no se requiere el total, se requieren los registros del reporte
colegioId
: El ID del colegio para el cuál se quiere descargar el reportelimit
: Es el total de registros a obtener en el llamadooffset
: Es el indice a partir del cuál se obtendrán los registroscontador
: Es el indicador del paquete que se está generando
b) Si el total de registros es MAYOR al tamaño de los paquetes en la configuración del reporte
Se realiza un llamado por cada paquete que se va a generar
Escenario:
totalRegistros: 80
tamanoPaquete: 60
totalPaquetes = Math.ceil(totalRegistros / tamanoPaquete)
El resultado siempre se redondea hacia arriba
totalPaquetes = Math.ceil(80 / 60) = 2
Método: GET
Ejemplo:
Llamado para el paquete 1
https://homol.uno-internacional.com/pegasus-api/reportes/empresas/8/ciclos/785/alumnosDescuento?typeResponse=packFiles&count=0&colegioId=13244&limit=60&offset=0&contador=1
Llamado para el paquete 2
https://homol.uno-internacional.com/pegasus-api/reportes/empresas/8/ciclos/785/alumnosDescuento?typeResponse=packFiles&count=0&colegioId=13244&limit=60&offset=60&contador=2
Parámetros en la URL
typeResponse
: indica el formato esperado en la respuestapackFiles
: indica que se quiere generar una parte/paquete
count
: indica si solo se requiere obtener el total de registros0
: no se requiere el total, se requieren los registros del reporte
colegioId
: El ID del colegio para el cuál se quiere descargar el reportelimit
: Es el total de registros a obtener en el llamado, en este caso, siempre será el valor detamanoPaquete
offset
: Es el indice a partir del cuál se obtendrán los registros,su valor inicial es cero
en cada llamado por paquete, se incrementa
offset = offset + tamanoPaquete
contador
: Es el indicador del paquete que se está generandoes el número de paquete que se está generando
Cuando ya no hay más partes/paquetes por generar, se debe ejecutar el llamado que realiza la descarga del archivo ZIP que contiene todas las partes/paquetes generados.
Método: GET
Ejemplo:
https://homol.uno-internacional.com/pegasus-api/reportes/empresas/8/ciclos/785/alumnosDescuento?typeResponse=packDownload&count=0&colegioId=13244&limit=1&offset=0&contador=1
Parámetros en la URL
typeResponse
: indica el formato esperado en la respuestapackDownload
: indica que se quiere descargar el reporte generador por partes/paquetes
count
: indica si solo se requiere obtener el total de registros0
: no se requiere el total, se requieren los registros del reporte
colegioId
: El ID del colegio para el cuál se quiere descargar el reportelimit
: Es el total de registros a obtener en el llamadoen este caso, siempre debe ir el valor
1
offset
: Es el indice a partir del cuál se obtendrán los registrosen este caso, siempre debe ir el valor
0
contador
: Es el indicador del paquete que se está generandoen este caso, siempre debe ir el valor
1
Instrucciones
La respuesta de este servicio es un archivo ZIP, el cual debe ser dado para descargar al usuario.
Dudas/respuestas.
Note |
---|
Dropdown de Todo el Colegio: ¿qué otras opciones debe tener? Se tiver a lista de todos alunos com desconto e as funcionalidade de Pesquisa e Filtros Avançados já é o suficiente!!
Gráfica de alumnos con descuento: ¿cómo se visualizará cuando no hay alumnos con descuento? Se não houver alunos com desconto o gráfico deve ficar de um só cor e a legenda indicará !Sem descontos!
Filtros avanzados: ¿son los mismos que en la lista general de alumnos o qué filtros aplicarán? Sim, são os mesmo. Descargar lista: ¿se descarga la lista con los filtros aplicados o la búsqueda total? A planilha deve ser gerada com todos os alunos e não com o filtro. |