/
API Planes

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: 

{
"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
  • 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: 

{
"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
  • 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 /

Ejemplo: https://demo.central-lms.com/admin/rest/administration/api/plans/id/345/students?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)

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: 

 {
"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
  • 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",
            "email": "admin@netexlearning.com",
            "enrolmentDate": "2022-03-08 12:04:14",
            "passedCourses": 1,
            "passedMandatoryCourses": 1,
            "passedPlanDate": "2022-03-10 11:36:25",
            "status": "PASSED"
        },
        {
            ...
        }
    ]
}


Related content

API Cursos
More like this
API Usuarios
More like this
API Salas
More like this
API Configuración
API Configuración
More like this
API Grupos
More like this
API Categorías
API Categorías
More like this