...
Obtener configuración de Censo
Configuración de Censo por colegio y ciclo escolar
Método: GET
Ejemplo:
https://homol.uno-internacional.com/pegasus-api/dashboard/empresas/8/config?cicloEscolarId=785&colegioId=13244
Instrucciones.
En la respuesta, están las configuraciones de todos los módulos que se utilizan en la aplicación: ACUERDO, CENSO, STAFF, ARTICULOS, etc.
...
Una vez encontrado este item dentro del array de ´data´, en el campo ´settings´ se encuentran todas las configuraciones de CENSO que deben ser aplicadas para el colegio en el ciclo escolar elegido.
Configuración de Censo para editar alumnos
Contiene la configuración a usar en el módulo de editar un alumno, desde las secciones a mostrar hasta las validaciones a realizar, además de los permisos en este módulo
Método: GET
Ejemplo:
https://homol.uno-internacional.com/pegasus-api/dashboard/empresas/8/ciclos/785/moduleConfig/CENSO.ALUMNO.EDITAR?colegioId=17388
Lista de alumnos
...
Descargar lista
Todo el colegio
Método: GET
Ejemplo:
https://homol.uno-internacional.com/pegasus-api/censo/empresas/76/ciclos/1188/colegios/17919/reporteAlumnos?descargar=1
Por Nivel / Segmento
Método: GET
Ejemplo:
https://homol.uno-internacional.com/pegasus-api/censo/empresas/76/ciclos/1188/colegios/17919/reporteAlumnos?descargar=1&nivelId=32
Activar/Inactivar Alumno
Método: POST
Ejemplo:
https://homol.uno-internacional.com/pegasus-api/censo/empresas/76/ciclos/1188/colegios/17919/niveles/32/grados/85/grupos/2280/alumnos/26041025/activarInactivar
Payload:
Code Block |
---|
{ "activo": 0, "razonInactivoId": 0, "observaciones": "" } |
Activo:
0 - para inactivar
1 - para activar
razonInactivoId: siempre en cero
observaciones: siempre string vacío
Validaciones:
Solo se permite activarInactivar alumnos si se cumplen las siguientes condiciones
...
Eliminar Alumno
Método: DELETE
Ejemplo:
https://homol.uno-internacional.com/pegasus-api/censo/empresas/76/ciclos/1188/colegios/17919/niveles/33/grados/90/grupos/2280/alumnos/26039193/borrar
Validaciones:
Un alumno puede ser seleccionado para ser eliminado, solo si se cumplen las siguientes condiciones.
...
Mover Alumno
Método: POST
Ejemplo:
https://homol.uno-internacional.com/pegasus-api/censo/empresas/76/ciclos/1188/colegios/17919/niveles/33/grados/90/grupos/2280/alumnos/26041017/mover
Payload:
Code Block |
---|
{ "nuevoNivelId": 32, "nuevoGradoId": 85, "nuevoGrupoId": 2280, "observaciones": "teste" } |
...
El usuario firmado tiene rol Administrador [SA, CTU, AN]
El usuario firmado tiene rol Gestor Colegio [GC] y el alumno no tiene pago asociado y el porcentaje de pago es cero
data[].conPago = false
data[].porcentajePago = 0
Reiniciar Contraseña
Método: PUT
Ejemplo:
https://homol.uno-internacional.com/pegasus-api/censo/empresas/8/ciclos/785/colegios/13244/niveles/33/grados/90/grupos/2280/alumnos/26041220/updatePasswordInicial
Payload
Se envía un body vacío
Perfil de Alumno
...
Obtener Alumno por ID
Método: GET
Ejemplo:
https://homol.uno-internacional.com/pegasus-api/prometeo/censo/empresas/76/ciclos/1188/colegios/17919/niveles/33/grados/90/grupos/2281/alumnos/26041387
Datos del Alumno
En base a la respuesta del servicio para obtener el alumno por ID, se obtiene la siguiente información.
...
Obtener alumnos vinculados a cada sello/empresa
Método: GET
Ejemplo:
https://homol.uno-internacional.com/pegasus-api/censo/empresas/76/ciclos/1188/colegios/17919/niveles/33/grados/88/grupos/2280/alumnos/26041434/alumnoUnificados
Instrucciones:
En la respuesta de este servicio, en el campo ´data´ se encuentra un array donde cada elemento del array contiene los datos del alumno correspondientes a cada sello, a partir de este momento, estos son los datos que se deben utilizar para las distintas acciones en la sección de Perfil de alumno - Gestión de Sellos:
empresaId: data[].empresa.empresaId
colegioId: data[].colegio.colegioId
cicloEscolar: data[].cicloEscolar.cicloEscolarId
personaId: data[].persona.personaId
alumnoId: data[].alumnoId
nivel: data[].nivel.nivelId
grado: data[].grado.gradoId
grupo: data[].grupo.grupoId
Información del alumno por sello/empresa
De cada elemento del array en la respuesta del servicio que obtiene los alumnos vinculados, se obtiene la siguiente información.
Login: data[].login
Descuentos:
Razón descuento: data[].razonDescuento.razonDescuentoId
Porcentaje descuento: data[].porcentajeDescuento
Las razones que se muestran en el dropdown se obtienen de la misma forma que en el Registro de Alumno único, substituyendo el valor de empresaId por el id del sello y el valor del alumnoId por el id del alumno en cada sello.
Materiales: data[].articulos.programa
Los materiales a mostrar en el dropdown se obtienen de la misma forma que en el Registro de Alumno único, substituyendo el valor de empresaId por el id del sello y el valor del alumnoId por el id del alumno en cada sello.
Método: GETNombre de aplicativo: data[].articulo
Imagen: data[].imagen.urlMiniatura
Información de pago - https://project-tools-santillana.atlassian.net/wiki/spaces/CCORP/pages/edit-v2/436306231#Informaci%C3%B3n-de-pago-por-alumno-y-sello-%2F-empresa
forma de pago (ejemplo: transferencia): data[].formaPago.formaPago
referencia: data[].referencia
quién paga: data[].personaPaga.nombreCompleto
neto: data[].neto
razón data[].razon.razon
estatus: data[].aplicado
true: Realizado
false: Pendiente
Actualizar login del alumno por sello / empresa
Método: PUT
Ejemplo:
https://homol.uno-internacional.com/pegasus-api/censo/empresas/8/ciclos/785/colegios/
...
17388/niveles/33
...
Información
Aplicativo: data[].articulo
Imagen: data[].imagen.urlMiniatura
...
Info de pago
Status colour Yellow title Por definir
...
/grados/89/grupos/580/alumnos/26041477/updateLogin
Payload
Code Block |
---|
{
"login": "alfredo.testllamados.9.test"
} |
Validaciones
Antes de actualizar el login, se debe validar el login informado en el formulario con el siguiente servicio
Método: POST
Ejemplo:
https://homol.uno-internacional.com/pegasus-api/dashboard/empresas/8/validarLogin
Payload
Code Block |
---|
{
"login": "alfredo.testllamados.9.test",
"personaId": 0,
"gradoId": 0
} |
login
: el login que se quiere usarpersonaId
: siempre con valor cerogradoId
: siempre con valor cero
Actualizar descuento del alumno por sello / empresa
Método: PUT
Ejemplo:
Actualizar descuento del alumno por sello/empresa
Actualizar material del alumno por sello/empresa
...
https://homol.uno-internacional.com/pegasus-api/censo/empresas/8/ciclos/785/colegios/17388/niveles/33/grados/89/grupos/580/alumnos/26041477/descuento
Payload
Code Block |
---|
{
"razonDescuentoId": 4214,
"porcentajeDescuento": 49,
"padreId": 0
} |
razonDescuentoId
: Id de la razón de descuento seleccionada en el dropdownEl listado de razones de descuento que se debe mostrar, se obtiene de la siguiente forma: https://project-tools-santillana.atlassian.net/wiki/spaces/CCORP/pages/edit-v2/436306231#Razones-de-descuento-filtradas-por-configuraci%C3%B3n
porcentajeDescuento
: Valor del porcentaje de pago asignadopadreId
:0: Si la configuración para mostrar la lista de profesores está inactiva
padreId: Si la configuración para mostrar la lista de profesores está inactiva, se envía el personaId del padre seleccionado en el dropdown correspondiente
Validaciones
Para validar si se debe mostrar o no el dropdown con la lista de profesores que tienen rol de padre de familia:
Se debe obtener la configuración del módulo https://project-tools-santillana.atlassian.net/wiki/spaces/CCORP/pages/edit-v2/436306231#Configuraci%C3%B3n-de-Censo-para-editar-alumnos
En la respuesta de ese servicio, en el elemento componentes
está el array secciones
, se debe buscar la sección que corresponde a descuento
...
Dentro de la sección descuento
está el elemento formulario
y dentro del objeto formulario
hay una bandera que se llama useFn
:
...
true: significa que si se debe mostrar la lista de padres de familia
false: significa que no es necesario mostrar la lista de padres de familia
Actualizar material del alumno por sello / empresa
Método: POST
Ejemplo:
https://homol.uno-internacional.com/pegasus-api/censo/empresas/8/ciclos/785/colegios/13240/niveles/33/grados/88/grupos/553/alumnos/26035731/asignarMaterial
Payload
Code Block |
---|
{
"tipo": "programa",
"articulos": [
106102
]
} |
tipo
: dependiendo el tipo de material que se quiere asignar puede serprograma
servicio
digital
articulos
: es un array que contiene el id del material seleccionado
Validaciones
Si el servicio https://project-tools-santillana.atlassian.net/wiki/spaces/CCORP/pages/edit-v2/436306231#Materiales-contratados devuelve solo un material, no se debe permitir la edición del material
Liberar aplicaciones del alumno por sello / empresa
Método: POST
Ejemplo:
https://homol.uno-internacional.com/pegasus-api/censo/empresas/8/ciclos/785/colegios/17388/niveles/33/grados/89/grupos/580/alumnos/26041477/releasedAlumno
Payload
se envía un body vacío en el request
Lógica de guardar/actualizar por paquetes en procesos masivos
Se debe obtener https://project-tools-santillana.atlassian.net/wiki/spaces/CCORP/pages/edit-v2/436306231#Configuraci%C3%B3n-de-Censo-por-colegio-y-ciclo-escolar, en el elemento settings
se encuentra el elemento procesosMasivos
...
Este objeto procesosMasivos
tiene los siguientes elementos:
intervaloMilisegundos
: Valor en milisegundos que se usara como intervalo de espera (delay) entre el envío de los paquetes.mostrarTrack
: Boolean que indica si se debe mostrar un mensaje de progreso en lo que dura el proceso masivoregistrosPorPaquete
: Es la cantidad de llamados que se deben enviar de forma simultanea en los procesos masivos
Instrucciones
Se debe evaluar el total de registros a guardar con el valor de registrosPorPaquete
.
Escenario:
totalRegistros
: 40registrosPorPaquete
: 25totalPaquetes
= Math.ceil(totalRegistros / registrosPorPaquete)siempre se redondea hacia arriba para contemplar los registros faltantes cuando
totalRegistros
no es múltiplo deregistrosPorPaquete
En este caso, se debe armar un paquete con 25 registros y un paquete con 15 registros.
Se debe llevar un control de las respuestas de cada petición para poder mostrar al final un resumen de registros guardados de forma exitosa y cuántos tuvieron error, así como el resumen de los errores.
Catálogos
Razones de descuento
Para obtener las razones de descuento a mostrar en el dropdown, primero se debe obtener la lista de todas las razones de descuento disponibles en una empresa
Categorías de descuento disponibles en la configuración
Se debe obtener la https://project-tools-santillana.atlassian.net/wiki/spaces/CCORP/pages/edit-v2/436306231#Configuraci%C3%B3n-de-Censo-por-colegio-y-ciclo-escolar en el elemento settings
se encuentra el elemento categoriasDescuentos
...
Lista de razones de descuento
Método: GET
Ejemplo:
https://homol.uno-internacional.com/pegasus-api/dashboard/empresas/8/razones?parametroTrans=DCTO¶metro%5B%5D=FFS¶metro%5B%5D=AMB2¶metro%5B%5D=DEC¶metro%5B%5D=AVCA¶metro%5B%5D=ALIN¶metro%5B%5D=ALRE¶metro%5B%5D=DMU¶metro%5B%5D=DALN¶metro%5B%5D=DSA¶metro%5B%5D=DAMA¶metro%5B%5D=DECO¶metro%5B%5D=HP¶metro%5B%5D=DEDC
Parametros en la URL
parametroTrans
: DCTO - indica que se van a obtener las razones de descuentoparametro
: Es un array donde se indican todas las categorías de descuento que se quieren obtener, estas categorías se obtienen de la configuración https://project-tools-santillana.atlassian.net/wiki/spaces/CCORP/pages/edit-v2/436306231#Razones-de-descuento-disponibles-en-la-configuraci%C3%B3n
Razones de descuento filtradas por configuración
Ya que tienen todas las categorías de descuento https://project-tools-santillana.atlassian.net/wiki/spaces/CCORP/pages/edit-v2/436306231#Lista-de-razones-de-descuento, en el dropdown solo se deben mostrar las razones de descuento indicadas en la configuración de censo https://project-tools-santillana.atlassian.net/wiki/spaces/CCORP/pages/edit-v2/436306231#Configuraci%C3%B3n-de-Censo-por-colegio-y-ciclo-escolar.
Dentro de la configuración del elemento settings
está el objeto descuentos
, en este objeto se encuentra el array descuentosDisponibles
que contiene los id’s de las razones de descuento que se deben mostrar en el dropdown de la asignación de descuentos.
Materiales contratados
Método: GET
Ejemplo:
https://homol.uno-internacional.com/pegasus-api/censo/empresas/8/ciclos/785/colegios/17388/niveles/33/grados/89/grupos/580/materialContratado
El servicio devuelve los tipos de material y los materiales por cada tipo, los tipos de material pueden ser:
servicio
programa
digital
Lista de aplicaciones por alumno y sello / empresa
Método: GET
Ejemplo:
https://homol.uno-internacional.com/pegasus-api/censo/empresas/8/ciclos/785/colegios/13244/niveles/33/personas/13470350/listaArticulosPersona?rolClave=AL
Información de pago por alumno y sello / empresa
Método: GET
Ejemplo:
https://homol.uno-internacional.com/pegasus-api/censo/empresas/8/ciclos/785/colegios/17388/niveles/33/grados/90/grupos/553/alumnos/26041410/getAlumnoDocumento