Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • No existe el usuario --> Error 404 (Not Found)
  • No se le pasó el parámetro obligatorio /id/externalid/username --> Error 400
  • No se le pasó el parámetro obligatorio (json con todos los roles) --> Error 400
  • Roles incompatibles (soporte sin rol admin || admin y training admin simultáneos) --> Error 400 => Código de error USR004
  • No todos los portales y/o el identificador de usuario especificados como parámetro --> Error 400 (Bad Request)
  • Error inesperado  --> Error 500 (Internal Server Error)
  • Todo OK --> 200 (OK).

Obtener todos los cursos de un usuario

Método: GET

URL:

  • Obtener todos los cursos sin paginación: 
    • /admin/rest/administration/api/users/id/{id}/courses
    • /admin/rest/administration/api/users/externalid/{external_id}/courses
    • /admin/rest/administration/api/users/username/{username}/courses
  • Obtener todos los cursos con paginación:
    • /admin/rest/administration/api/users/id/{id}/courses?startIndex={startIndex}&count={count}
    • /admin/rest/administration/api/users/externalid/{external_id}/courses?startIndex={startIndex}&count={count}
    • /admin/rest/administration/api/users/username/{username}/courses?startIndex={startIndex}&count={count}

Ejemplo: https://demo.central-lms.com/admin/rest/administration/api/users/id/1/courses?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)
  • status = Filtrar por el estado del curso (Valores válidos: DRAFT, PUBLISHED, CLOSED) opcional.
  • startDateFrom = Filtrar los cursos que empiecen después de la fecha proporcionada. (String, opcional). Si la cabecera NLC-datesFormat está con el valor milliseconds el valor será en milisegundos, en otro caso será en el formato: yyyy-MM-dd HH:mm:ss.
  • startDateTo = Filtrar los cursos que empiecen antes de la fecha proporcionada. (String, opcional). Si la cabecera NLC-datesFormat está con el valor milliseconds el valor será en milisegundos, en otro caso será en el formato: yyyy-MM-dd HH:mm:ss.
  • endDateFrom = Filtrar los cursos que terminen después de la fecha proporcionada. (String, opcional). Si la cabecera NLC-datesFormat está con el valor milliseconds el valor será en milisegundos, en otro caso será en el formato: yyyy-MM-dd HH:mm:ss.
  • endDateTo = Filtrar los cursos que terminen antes de la fecha proporcionada. (String, opcional). Si la cabecera NLC-datesFormat está con el valor milliseconds el valor será en milisegundos, en otro caso será en el formato: yyyy-MM-dd HH:mm:ss.
  • creationDateFrom = Filtrar los cursos creados después de la fecha proporcionada. (String, opcional). Si la cabecera NLC-datesFormat está con el valor milliseconds el valor será en milisegundos, en otro caso será en el formato: yyyy-MM-dd HH:mm:ss.
  • creationDateTo = Filtrar los cursos creados antes de la fecha proporcionada. (String, opcional). Si la cabecera NLC-datesFormat está con el valor milliseconds el valor será en milisegundos, en otro caso será en el formato: yyyy-MM-dd HH:mm:ss.
  • modificationDateFrom = Filtrar los cursos modificados después de la fecha proporcionada. (String, opcional). Si la cabecera NLC-datesFormat está con el valor milliseconds el valor será en milisegundos, en otro caso será en el formato: yyyy-MM-dd HH:mm:ss.
  • modificationDateTo = Filtrar los cursos creados antes de la fecha proporcionada. (String, opcional). Si la cabecera NLC-datesFormat está con el valor milliseconds el valor será en milisegundos, en otro caso será en el formato: yyyy-MM-dd HH:mm:ss.

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 cursos, cada curso consta de los siguientes campos:

  • parent = Campos concretos del curso padre. En caso de que el curso esté configurado para tener convocatorias, son los campos que comparten todas las convocatorias. Contiene los siguientes atributos:
    • parentId = Identificador del curso padre
    • parentExternal_id = Id externo del curso padre
    • name = Nombre del curso padre
    • description = Descripción del curso
    • comments = Comentarios del curso
    • objectives = Objetivos del curso
    • issueCertificate = Expedir certificado
      • NO --> Sin certificado
      • PASSED --> Certificado disponible para los estudiantes tan pronto aprueben el curso
      • FINISHED --> Certificado disponible para los estudiantes solamente después de la finalización del curso
    • sessionOrganization = Organización de acciones formativas
      • MANUAL --> Manual
      • AUTOMATIC --> Automática para actividades de auto-aprendizaje y manual para el resto
    • evaluationType = Sistema de evaluación seleccionado
      • Valores permitidos:
        • PASSED_MANDATORY_ACTIVITIES
        • MIN_SCORE
    • credits = Número de créditos
    • optativeCredits = Número de créditos optativos
    • percentageToPass = porcentaje mínimo para superar el curso
    • hasForum = Valor true/false. Indica si tiene foro.
    • hasMessage = Valor true/fallse. Indica si tiene mensajes.  
    • clonedFromId = Identificador de curso que se clona 
    • hasReminder = Activar recordatorio a usuarios que llevan un tiempo sin acceder
      • Valores permitidos: TRUE / FALSE
      • Valor por defecto: FALSE
    • hasStartReminder = Activar recordatorios de la fecha de inicio del curso
      • Valores permitidos: TRUE / FALSE
      • Valor por defecto: FALSE
    • hasEditions = El curso tiene habilitadas las convocatorias
      • Valores permitidos: TRUE / FALSE
      • Valor por defecto: FALSE
    • recogniseEditions = Validación automática entre convocatorias
      • Valores permitidos: TRUE / FALSE
      • Valor por defecto: FALSE
  • id = Identificador
  • external_id = Id externo
  • editionName = Nombre de la convocatoria
  • startDateMode = Tipo de fecha de inicio
    • PUBLICATION_DATE --> La fecha de inicio será la fecha de publicación del curso
    • MANUAL --> La fecha de inicio se establecerá de forma manual
  • startDate = Fecha estimada de inicio (UTC)
  • endDateMode = Tipo fecha de fin 
    • NONE --> Ninguna, el administrador finalizará el curso manualmente
    • MANUAL --> La fecha de fin se establecerá de forma manual
    • FIRST_ACCESS -> Fecha fin según el primer acceso del alumno
  • studentAvailableDays = Número de días tras el primero acceso que tiene el alumno disponible el curso (Integer, obligatorio si el modo es FIRST_ACCESS).
  • endDate     = Fecha estimada de fin (UTC)
  • status = Estado del curso
  • moduleType = Tipo de módulo
  • enrolmentPolicy = Política de inscripción
    • AUTO_ENROLLMENT --> Auto inscripción
    • ADMIN_ENROLLMENT --> Sólo los administradores pueden inscribir alumnos
    • REQUEST_ENROLLMENT --> Solicitar inscripción
  • requestEnrolmentEndDateMode = Tipo de fecha de fin en solicitud de inscripción
    • INHERIT --> Heredada del curso
    • MANUAL --> Se establecerá de forma manual
  • requestEnrolmentStartDate = Fecha de apertura de inscripciones (UTC)
  • requestEnrolmentEndDate = Fecha de cierre de inscripciones (UTC)
  • clonedFromId = Identificador de curso que se clona (Long) 
  • capacity = Aforo máximo de la edición (Integer)
  • avgRating = Valoración media (Double)
  • rateable = Curso valorable por los alumnos o no valorable
    • Valores permitidos: 
      • NONE : no valorable
      • ONLY_ENROLMENTS : los alumnos inscritos pueden valorar el curso
    • Valor por defecto: NONE 
  • categories = Lista de Categorías del curso
    • id = Identificador de la categoría
    • external_id = Identificador externo
    • name = Nombre de la categoría
    • code = Código de la categoría
    • description = Descripción de la categoría
  • extendedFields = Campos extensibles en lista con clave extendedFieldName y valor extendedFieldValue
    • extendedFieldName = Nombre del campo extendido
    • extendedFieldValue = Valor del campo extendido
  • collection = Nombre de la colección asociada al curso. Vacio si no está asociado a ninguna colección.

Validaciones

  • Índices erróneos --> Error 416 (Requested Range Not Satisfiable) Usando paginación, ambos índices deben tener un valor
  • No hay cursos --> Error 204 (No Content)
  • Filtro por estado incorrecto –> Error 400 (Bad request).
  • Filtro de fechas con formato incorrecto --> Error 400 (Bad request).
  • Error en la generación del Json --> Error 503 (Service Unavailable)
  • Filtro por usuario incorrecto --> Error 400 (Bad request)

Todo OK

  • Si no hay paginación --> 200 (OK) + JSON
  • Si hay paginación --> 206 (Partial Content) + JSON


Obtener todos los cursos de catálogo de un usuario

Método: GET

URL:

  • Obtener todos los cursos de catálogo: 
    • /admin/rest/administration/api/users/id/{id}/catalog
    • /admin/rest/administration/api/users/externalid/{external_id}/catalog
    • /admin/rest/administration/api/users/username/{username}/catalog

Ejemplo: https://demo.central-lms.com/admin/rest/administration/api/users/id/1/catalog

Campos devueltos en el Json

Listado de cursos, cada curso consta de los siguientes campos:

  • parent = Campos concretos del curso padre. En caso de que el curso esté configurado para tener convocatorias, son los campos que comparten todas las convocatorias. Contiene los siguientes atributos:
    • parentId = Identificador del curso padre
    • parentExternal_id = Id externo del curso padre
    • name = Nombre del curso padre
    • description = Descripción del curso
    • comments = Comentarios del curso
    • objectives = Objetivos del curso
    • issueCertificate = Expedir certificado
      • NO --> Sin certificado
      • PASSED --> Certificado disponible para los estudiantes tan pronto aprueben el curso
      • FINISHED --> Certificado disponible para los estudiantes solamente después de la finalización del curso
    • sessionOrganization = Organización de acciones formativas
      • MANUAL --> Manual
      • AUTOMATIC --> Automática para actividades de auto-aprendizaje y manual para el resto
    • evaluationType = Sistema de evaluación seleccionado
      • Valores permitidos:
        • PASSED_MANDATORY_ACTIVITIES
        • MIN_SCORE
    • credits = Número de créditos
    • optativeCredits = Número de créditos optativos
    • percentageToPass = porcentaje mínimo para superar el curso
    • hasForum = Valor true/false. Indica si tiene foro.
    • hasMessage = Valor true/fallse. Indica si tiene mensajes.  
    • clonedFromId = Identificador de curso que se clona 
    • hasReminder = Activar recordatorio a usuarios que llevan un tiempo sin acceder
      • Valores permitidos: TRUE / FALSE
      • Valor por defecto: FALSE
    • hasStartReminder = Activar recordatorios de la fecha de inicio del curso
      • Valores permitidos: TRUE / FALSE
      • Valor por defecto: FALSE
    • hasEditions = El curso tiene habilitadas las convocatorias
      • Valores permitidos: TRUE / FALSE
      • Valor por defecto: FALSE
    • recogniseEditions = Validación automática entre convocatorias
      • Valores permitidos: TRUE / FALSE
      • Valor por defecto: FALSE
  • id = Identificador
  • external_id = Id externo
  • editionName = Nombre de la convocatoria
  • startDateMode = Tipo de fecha de inicio
    • PUBLICATION_DATE --> La fecha de inicio será la fecha de publicación del curso
    • MANUAL --> La fecha de inicio se establecerá de forma manual
  • startDate = Fecha estimada de inicio (UTC)
  • endDateMode = Tipo fecha de fin 
    • NONE --> Ninguna, el administrador finalizará el curso manualmente
    • MANUAL --> La fecha de fin se establecerá de forma manual
    • FIRST_ACCESS -> Fecha fin según el primer acceso del alumno
  • studentAvailableDays = Número de días tras el primero acceso que tiene el alumno disponible el curso (Integer, obligatorio si el modo es FIRST_ACCESS).
  • endDate     = Fecha estimada de fin (UTC)
  • status = Estado del curso
  • moduleType = Tipo de módulo
  • enrolmentPolicy = Política de inscripción
    • AUTO_ENROLLMENT --> Auto inscripción
    • ADMIN_ENROLLMENT --> Sólo los administradores pueden inscribir alumnos
    • REQUEST_ENROLLMENT --> Solicitar inscripción
  • requestEnrolmentEndDateMode = Tipo de fecha de fin en solicitud de inscripción
    • INHERIT --> Heredada del curso
    • MANUAL --> Se establecerá de forma manual
  • requestEnrolmentStartDate = Fecha de apertura de inscripciones (UTC)
  • requestEnrolmentEndDate = Fecha de cierre de inscripciones (UTC)
  • clonedFromId = Identificador de curso que se clona (Long) 
  • capacity = Aforo máximo de la edición (Integer)
  • avgRating = Valoración media (Double)
  • rateable = Curso valorable por los alumnos o no valorable
    • Valores permitidos: 
      • NONE : no valorable
      • ONLY_ENROLMENTS : los alumnos inscritos pueden valorar el curso
    • Valor por defecto: NONE 
  • categories = Lista de Categorías del curso
    • id = Identificador de la categoría
    • external_id = Identificador externo
    • name = Nombre de la categoría
    • code = Código de la categoría
    • description = Descripción de la categoría
  • extendedFields = Campos extensibles en lista con clave extendedFieldName y valor extendedFieldValue
    • extendedFieldName = Nombre del campo extendido
    • extendedFieldValue = Valor del campo extendido
  • collection = Nombre de la colección asociada al curso. Vacio si no está asociado a ninguna colección.

Validaciones

  • No hay cursos --> Error 204 (No Content)
  • Error en la generación del Json --> Error 503 (Service Unavailable)
  • Filtro por usuario incorrecto --> Error 400 (Bad request)

Todo OK

  • 200 (OK) + JSON