API Planes
Usar codificación de caracteres UTF-8 en el envío de datos
Manual de autenticación y versionado: manual (autenticación y versionado)
Por motivos de seguridad el external_id no puede contener los caracteres \ ni / (http://tomcat.apache.org/security-6.html).
Añadir estudiantes a un plan
Método: POST
URL:
- Añadir por id:
- /admin/rest/administration/api/plans/id/{id}/students?action={action}
- Añadir por id externo:
- /admin/rest/administration/api/plans/externalid/{external_id}/students?action={action}
Recuerda que por motivos de seguridad, el external_id no puede contener los caracteres \ ni /
Ejemplo:
- https://demo.central-lms.com/admin/rest/administration/api/plans/id/5487/students?action=addByIds
- Body:
{
"ids": [51476,654165]
}
Parámetros
- action = acción que se quiere realizar (añadir usando ids de usuario o ids externos) (String, obligatorio)
- Valores permitidos
- addByIds
- addByExternalids
- Valores permitidos
- id (lista) = cada uno de los identificadores o identificadores externos (String, obligatorio)
Campos devueltos en el Json (en caso de que algún estudiante haya dado error)
- status: KO
- ids / external ids: listado de ids o external ids que han dado error
Validaciones
- Lista de parámetros vacía o algún campo obligatorio sin cubrir--> Error ERR001 / 400 (Bad Request)
- Acción no válida (no se comprueban mayúsculas/minúsculas) --> Error ERR002 / 400 (Bad Request)
- Se ha escogido la acción "addByIds" y algún id no es numérico --> Error ERR003 / 400 (Bad Request)
- No se puede añadir estudiantes al plan --> Error PLN003 / 400 (Bad Request)
- No existe el plan --> Error 400 (Not Found)
- Ejecución OK y todos los usuarios han sido añadidos--> 200 (OK)
- Ejecución OK y algún usuario no ha podido ser añadido --> 200 (OK) + JSON
Añadir estudiantes a un plan (v2)
Método: POST
URL:
- Añadir por id:
- /admin/rest/administration/api/plans/id/{id}/students?action={action}
- Añadir por id externo:
- /admin/rest/administration/api/plans/externalid/{external_id}/students?action={action}
Recuerda que por motivos de seguridad, el external_id no puede contener los caracteres \ ni /
Ejemplo:
- https://demo.central-lms.com/admin/rest/administration/api/plans/id/5487/students?action=addByIds
- Body:
{
"ids": [51476,654165]
}
Parámetros
- action = acción que se quiere realizar (añadir usando ids de usuario o ids externos) (String, obligatorio)
- Valores permitidos
- addByIds
- addByExternalids
- Valores permitidos
- id (lista) = cada uno de los identificadores o identificadores externos (String, obligatorio)
Campos devueltos en el Json (en caso de que algún estudiante haya dado error)
- status: KO
- ids / external ids: mapa de ids o external ids que han dado error con su código correspondiente:
- PLN004: Alumno no encontrado.
- PLN005: Alumno con estado inválido(debe estar activo).
- PLN006: Alumno eliminado.
- PLN007: Alumno ya inscrito.
Validaciones
- Lista de parámetros vacía o algún campo obligatorio sin cubrir--> Error ERR001 / 400 (Bad Request)
- Acción no válida (no se comprueban mayúsculas/minúsculas) --> Error ERR002 / 400 (Bad Request)
- Se ha escogido la acción "addByIds" y algún id no es numérico --> Error ERR003 / 400 (Bad Request)
- No se puede añadir estudiantes al plan --> Error PLN003 / 400 (Bad Request)
- No existe el plan --> Error 400 (Not Found)
- Ejecución OK y todos los usuarios han sido añadidos--> 200 (OK)
- Ejecución OK y algún usuario no ha podido ser añadido --> 200 (OK) + JSON
Obtener estudiantes de un plan con paginado
Método: GET
URL:
- Obtener por id:
- /admin/rest/administration/api/plans/id/{id}/students
- Obtener por external id:
- /admin/rest/administration/api/plans/externalid/{external_id}/students
- Obtener estudiantes con paginación:
- /admin/rest/administration/api/plans/id/{id}/students?startIndex={startIndex}&count={count}
- /admin/rest/administration/api/plans/externalid/{external_id}/students?startIndex={startIndex}&count={count}
Recuerda que por motivos de seguridad, el external_id no puede contener los caracteres \ ni /
Parámetros
- startindex = índice inicial para la paginación (Integer, opcional)
- count = total de elementos a recuperar para la paginación (Integer, opcional)
Campos devueltos en el Json
Listado de usuarios estudiantes, cada usuario consta de los siguientes campos:
- id = Identificador
- external_id = Id externo
- username = Nombre de usuario
Validaciones
- Índices erróneos --> Error 416 (Requested Range Not Satisfiable) Usando paginación, ambos índices deben tener un valor
- Si el plan no existe --> Error 404 (Not Found)
- No hay usuarios --> Error 204 (No Content)
- Error en la generación del Json --> Error 503 (Service Unavailable)
- Todo OK
- Si no hay paginación --> 200 (OK) + JSON
- Si hay paginación --> 206 (Partial Content) + JSON
Eliminar estudiantes de un plan
Método: DELETE
URL:
- Eliminar por id:
- /admin/rest/administration/api/plans/id/{id}/students?action={action}
- Eliminar por id externo:
- /admin/rest/administration/api/plans/externalid/{external_id}/students?action{action}
Recuerda que por motivos de seguridad, el external_id no puede contener los caracteres \ ni /
Ejemplo:
- https://demo.central-lms.com/admin/rest/administration/api/plans/id/5487/students?action=removeByIds
- Body:
{
"ids": [51476,654165]
}
Parámetros
- action = acción que se quiere realizar (eliminar usando ids de usuarios o ids externos) (String, obligatorio)
- Valores permitidos
- removeByIds
- removeByExternalids
- Valores permitidos
- ids (lista) = cada uno de los identificadores o identificadores externos (String, obligatorio)
Campos devueltos en el Json (en caso de que algún estudiante haya dado error)
- status: KO
- ids / external ids: listado de ids o external ids que han dado error
Validaciones
- Lista de parámetros vacía o algún campo obligatorio sin cubrir--> Error ERR001 / 400 (Bad Request)
- Acción no válida (no se comprueban mayúsculas/minúsculas) --> Error ERR002 / 400 (Bad Request)
- Se ha escogido la acción "addByIds" y algún id no es numérico --> Error ERR003 / 400 (Bad Request)
- No se pueden eliminar estudiantes del plan--> Error PLN001 / 400 (Bad Request)
- El plan está bloqueado --> Error PLN002 / 400 (Bad Request)
- No existe el plan --> Error 400 (Not Found)
- Ejecución OK y todos los estudiantes han sido eliminados -> 200 (OK)
- Ejecución OK y algún estudiante no ha podido ser eliminado --> 200 (OK) + JSON
Obtener datos de un plan
Método: GET
URL:
- Obtener por id:
- /admin/rest/administration/api/plans/id/{id}
- Obtener por external id:
- /admin/rest/administration/api/plans/externalid/{external_id}
Ejemplo: https://demo.central-lms.com/admin/rest/administration/api/plans/id/345?startIndex=0&count=100
Parámetros
- startIndex = índice inicial para la paginación (Integer, opcional)
- count = total de elementos a recuperar para la paginación (Integer, opcional)
Cabeceras
- NLC-datesFormat. Opcional, valores permitidos:
milliseconds
. Las fechas se devolverán en milisegundos- en otro caso se seguirá el formato de texto: "yyyy-MM-dd HH:mm:ss"
Campos devueltos en el Json
Listado de usuarios estudiantes, cada usuario consta de los siguientes campos:
- id = Identificador del plan
- name = Nombre del plan
- startDate = Fecha de inicio del plan en formato "yyyy-MM-dd HH:mm:ss" (null si el plan está en estado borrador) o milisegundos (0 si el plan está en estado borrador)
- endDate = Fecha de finalización del plan en formato "yyyy-MM-dd HH:mm:ss" (null si el plan está en estado borrador o no se ha delimitado una fecha de fin) o milisegundos (0 si el plan está en estado borrador o no se ha delimitado una fecha de fin).
- externalId = Identificador externo del plan.
- students = Lista que incluye los datos de los estudiantes inscritos en el plan. Si no hay estudiantes inscritos, la lista se devuelve vacía.
- id = Identificador de usuario del estudiante.
- username = Nombre de usuario del estudiante.
- firstName = Nombre del estudiante.
- lastName = Apellidos del estudiante.
- email = Correo electrónico del estudiante.
- enrolmentDate = Fecha de inscripción del estudiante en formato "yyyy-MM-dd HH:mm:ss" o milisegundos.
- passedCourses = Número de cursos superados.
- passedMandatoryCourses = Número de cursos obligatorios superados.
- passedPlanDate = Fecha de superación/convalidación del estudiante en el plan en milisegundos (0 si el estudiante aún no ha superado el plan)
- status = Estado del estudiante en el plan. Posibles valores
- IN_PROGRESS (en progreso)
- PASSED (superado)
- NOT_PASSED (no superado)
- NOT_STARTED (no iniciado)
Validaciones
- Índices erróneos --> Error 416 (Requested Range Not Satisfiable) Usando paginación, ambos índices deben tener un valor
- Si el plan por id no existe --> Código de error ERR004 (Error 404)
- Si el plan por external_id no existe --> Código de error ERR005 (Error 404)
- Si el id dado es erróneo -> Error 404
- Todo OK --> 200 (OK) + JSON
BODY - application/json
{ "id" : 13234, "name" : "Plan de API" , "startDate" : "2022-03-03 13:14:09" , "endDate" : null , "externalId" : "Plan_de_API" , "students" : [ { "id" : 7, "username" : "admin" , "firstName" : "firstName3727" , "lastName" : "lastName3727" , "enrolmentDate" : "2022-03-08 12:04:14" , "passedCourses" : 1, "passedMandatoryCourses" : 1, "passedPlanDate" : "2022-03-10 11:36:25" , "status" : "PASSED" }, { ... } ] } |