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.
Para obtener la configuración de CENSO, se debe recorrer el array que se encuentra en la respuesta en campo ´data´ y buscar el item donde el campo ´module´ sea CENSO.
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
{ "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
El usuario firmado es administrador [SA, CTU, AN] sin importar el status del alumno y si tiene o no documentos aplicados con pago o cancelados
El usuario es gestor colegio [GC] y el alumno esta activo
data[].activo = true
El usuario es gestor colegio [GC] y el alumno está inactivo y no tiene documentos aplicados ya sea con pago o cancelados
data[].activo = false
data[].countDocumento2aplicados = 0
data[].countDocumento2cancelados = 0
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.
La configuración del candado no está prendida
Dentro de la configuración de CENSO, existe el objeto ´candado´. Se considera que el candado está activo solo si se cumplen las siguientes condiciones:
candado.activo = true
candado.fechaInicio <= fecha_actual
candado.fechaFinal > fecha_actual
Si el usuario tiene rol Administrador [SA], entonces NO se aplica el candado sin importar que esté activo.
El alumno NO tiene documentos
data[].documentos = false
El alumno NO tiene historial
data[].promovido = false
El alumno NO tiene Ipad Sincronizada
data[].ipadSincronizada = false
El porcentaje de pago es cero
data[].porcentajePago = 0
El alumno NO tiene observaciones
data[].observaciones = false
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
{ "nuevoNivelId": 32, "nuevoGradoId": 85, "nuevoGrupoId": 2280, "observaciones": "teste" }
Editar Alumno
Al elegir la opción de editar alumno, se debe redireccionar al usuario a la vista del Perfil del Alumno
Validaciones:
Siempre se puede consultar el perfil de un alumno, pero solo se debe permitir editar un alumno si se cumplen las siguientes condiciones
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.
Nombre: data.persona.nombreCompleto
Nivel/Segmento: data.nivel.nivel
Grado/Ano: data.grado.grado
Grupo/Turma: data.grupo.grupo
Sexo/Género: data.persona.sexoMoral
M: Masculino
F: Femenino
Activo: data.activo
Fecha de nacimiento: data.persona.fechaNacimiento
Fecha de registro: data.fechaDesde
ID Responsable: data.idResponsable
Debe mostrarse con el formato de CPF
Login: data.login
Información de los sellos/empresas
En base a la respuesta del servicio para obtener el alumno por ID, se obtiene la siguiente información.
sellos: data.empresas[].empresa
´empresas´ es un array donde cada item es un sello, se toma el campo ´empresa´ para indicar el nombre del sello.
se puede utilizar el campo ´parametro´ para identificar qué imagen mostrar en cada sello
se debe utilizar el campo ´empresaId´ para los siguientes llamados a la API que corresponden a las acciones en cada sello.
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.
Nombre 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/grados/89/grupos/580/alumnos/26041477/updateLogin
Payload
{ "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
{ "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:
https://homol.uno-internacional.com/pegasus-api/censo/empresas/8/ciclos/785/colegios/17388/niveles/33/grados/89/grupos/580/alumnos/26041477/descuento
Payload
{ "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
{ "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.
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