API Cursos
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).
Crear curso (v1)
Esta versión lleva la entrada con Content-Type: application/x-www-form-urlencoded, se recomienda el uso de la nueva versión, que consume json.
Método: POST
URL: /admin/rest/administration/api/courses
Ejemplo: https://demo.central-lms.com/admin/rest/administration/api/courses
external_id=excourse1&name=Curso de diseño gráfico&description=Conocimiento básicos sobre diseño gráfico y web&objectives=Aprender a hacer sencillas páginas web y worpress&comments=Opcional&percentageToPass=50&issueCertificate=PASSED&startDateMode=MANUAL&startDate=1420844400000&endDateMode=MANUAL&endDate=1431208800000&sessionOrganization=AUTOMATIC&enrolmentPolicy=REQUEST_ENROLLMENT&requestEnrolmentStartDate=1420844400000&requestEnrolmentEndDateMode=MANUAL&requestEnrolmentEndDate=1431208800000&hasForum=true&hasMessage=false&idCategory=2&idCategory=3&idCategory=4&extendedField[Deportes]=true&extendedField[Actividades extraescolares]=Pintura
Parámetros
- external_id = Id externo (String, obligatorio) Recuerda que por motivos de seguridad, el external_id no puede contener los caracteres \ ni /
- name = Nombre (String, obligatorio)
- description = Descripción (String, opcional)
- objectives = Objetivos (String, opcional)
- comments = Observaciones (String, opcional)
- percentageToPass = Porcentaje de actividades obligatorias para pasar el curso (Integer, obligatorio)
- Valores permitidos:
- Número entre 0 y 100
- Valores permitidos:
- issueCertificate = Expedir certificado (String, opcional)
- Valor por defecto: NO
- Valores permitidos:
- 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
- startDateMode = Tipo fecha de inicio (String, obligatorio)
- Valores permitidos:
- PUBLICATION_DATE --> La fecha de inicio será la fecha de publicación del curso
- MANUAL --> La fecha de inicio se establecerá de forma manual
- Valores permitidos:
- startDate = Fecha de inicio en milisegundos (Long, opcional*)
*obligatoria si startDateMode = MANUAL - endDateMode = Tipo fecha de fin (String, obligatorio)
- Valores permitidos:
- NONE --> Ninguna, el administrador finalizará el curso manualmente
- MANUAL --> La fecha de fin se establecerá de forma manual
- Valores permitidos:
- endDate = Fecha de fin en milisegundos (Long, opcional*)
*obligatoria si endDateMode = MANUAL - sessionOrganization = Organización de acciones formativas (String, obligatorio)
- Valores permitidos:
- MANUAL --> Manual
- AUTOMATIC --> Automática para actividades de auto-aprendizaje y manual para el resto
- Valores permitidos:
- enrolmentPolicy = Política de inscripción (String, obligatorio)
- Valores permitidos:
- AUTO_ENROLLMENT --> Auto inscripción
- ADMIN_ENROLLMENT --> Sólo los administradores pueden inscribir alumnos
- REQUEST_ENROLLMENT --> Solicitar inscripción
- Valores permitidos:
- requestEnrolmentStartDate = Fecha de inicio de solicitud de inscripción en milisegundos (Long, opcional*)
*obligatoria si enrolmentPolicy = REQUEST_ENROLLMENT - requestEnrolmentEndDateMode = Tipo de fecha de fin en solicitud de inscripción (String, opcional*)
*obligatoria si enrolmentPolicy = REQUEST_ENROLLMENT- Valores permitidos:
- INHERIT --> Heredada del curso
- MANUAL --> Se establecerá de forma manual
- Valores permitidos:
- requestEnrolmentEndDate = Fecha de fin de solicitud de inscripción en milisegundos (Long, opcional*)
*obligatoria si enrolmentPolicy = REQUEST_ENROLLMENT y requestEnrolmentEndDateMode = MANUAL - hasForum = Tiene sección para el foro (Boolean, opcional)
- Valores permitidos: TRUE / FALSE
- Valor por defecto: FALSE
- Cualquier valor que no sea TRUE, se transformará en FALSE
- hasMessage = Tiene sección para los mensajes (Boolean, opcional)
- Valores permitidos: TRUE / FALSE
- Valor por defecto: FALSE
- Cualquier valor que no sea TRUE, se transformará en FALSE
- idCategory (lista) = Listado de ids para añadir categorías (Long, opcional)
- externalidCategory (lista) = Listado de ids externos para añadir categorías (String, opcional)
- extendedField[nombre del campo extendido] (lista) = Nombre y valor de los campos extensibles (clave-valor de Strings, opcional*)
* solo son obligatorios aquellos campos extensibles que estén marcados como obligatorios y no tengan definido ningún valor por defecto- Valores permitidos:
- Si el campo extendido es de tipo texto --> cualquier texto
- Si el campo extendido es de tipo entero --> sólo números
- Si el campo extendido es de tipo si/no --> valores "true" o "false"
- Si el campo extendido es de tipo lista de valores --> el identificador correspondiente al valor en la lista
- Valores permitidos:
Validaciones
- Lista de parámetros vacía o algún campo obligatorio sin cubrir --> Error ERR001 / 400 (Bad Request)
- El valor del porcentaje no es válido --> Error CRS001 / 400 (Bad Request)
- El valor del modo de expedición del certificado no es válido --> Error CRS002 / 400 (Bad Request)
- El valor del modo de la fecha de inicio no es válido --> Error CRS003 / 400 (Bad Request)
- El valor del modo de la fecha de fin no es válido --> Error CRS005 / 400 (Bad Request)
- El valor del modo de la organización de acciones formativas no es válido --> Error CRS006 / 400 (Bad Request)
- El valor de la política de inscripción no es válido --> Error CRS007 / 400 (Bad Request)
- El valor del modo de la fecha de fin de inscripción al curso no es válido --> Error CRS008 / 400 (Bad Request)
- Error añadiendo categorías, alguna no existe --> Error CRS009 / 400 (Bad Request)
- Error añadiendo categorías, no se ha introducido el valor para algún id o id externo --> Error CRS010 / 400 (Bad Request)
- La fecha de inicio de curso es mayor o igual que la fecha de fin de curso --> Error CRS011 / 400 (Bad Request)
- La fecha de inicio de solicitud de inscripción es mayor que la fecha de fin de solicitud de inscripción --> Error CRS012 / 400 (Bad Request)
- La fecha de inicio de solicitud de inscripción es mayor que la fecha de fin de curso --> Error CRS013 / 400 (Bad Request)
- La fecha de fin de solicitud de inscripción es mayor que la fecha de fin de curso --> Error CRS014 / 400 (Bad Request)
- El nombre de un campo extensible no existe --> Error DYN001 / 400 (Bad Request)
- El valor de un campo extensible tiene tipo incorrecto --> Error DYN002 / 400 (Bad Request)
- Falta algun campo extensible obligatorio --> Error DYN003 / 400 (Bad Request)
- No se ha incluido el campo obligatorio en la petición y no tiene asignado el valor por defecto
- Se ha incluido el campo en la petición pero se le ha asignado un valor vacío
- External id duplicado --> Error ERR006 / 400 (Bad Request)
Respuesta OK
- 201 (Created) + cabecera 'Location' con el link al recurso creado
Crear curso (v2)
Se consumirán dos tipos de recursos application/x-www-form-urlencoded y application/json. Se recomienda usar la versión de json.
Método: POST
URL: /admin/rest/administration/api/courses
Ejemplo: https://demo.central-lms.com/admin/rest/administration/api/courses
external_id=excourse1&name=Curso de diseño gráfico&description=Conocimiento básicos sobre diseño gráfico y web&objectives=Aprender a hacer sencillas páginas web y worpress&comments=Opcional&evaluationType=MIN_SCORE&percentageToPass=50&issueCertificate=PASSED&startDateMode=MANUAL&startDate=1420844400000&endDateMode=MANUAL&endDate=1431208800000&sessionOrganization=AUTOMATIC&enrolmentPolicy=REQUEST_ENROLLMENT&requestEnrolmentStartDate=1420844400000&requestEnrolmentEndDateMode=MANUAL&requestEnrolmentEndDate=1431208800000&hasForum=true&hasMessage=false&idCategory=2&idCategory=3&idCategory=4&extendedField[Deportes]=true&extendedField[Actividades extraescolares]=Pintura
{ "external_id": "excourse1", "name": "Curso de diseño gráfico", "description": "Conocimiento básicos sobre diseño gráfico y web", "objectives": "Aprender a hacer sencillas páginas web y worpress", "comments": "Opcional", "evaluationType": "MIN_SCORE", "percentageToPass": 50, "issueCertificate": "PASSED", "startDateMode": "MANUAL", "startDate": 1420844400000, "endDateMode": "MANUAL", "endDate": 1431208800000, "sessionOrganization": "AUTOMATIC", "enrolmentPolicy": "REQUEST_ENROLLMENT", "requestEnrolmentStartDate": 1420844400000, "requestEnrolmentEndDateMode": "MANUAL", "requestEnrolmentEndDate": 1431208800000, "hasForum": "true", "hasMessage": "false", "categories": [ {"id": 2 }, {"id": 3} ], "extendedFields": [ {"extendedFieldName": " Deportes ", "extendedFieldValue": " true "}, {"extendedFieldName": " Actividades extraescolares ", "extendedFieldValue": " Pintura "} ] }
Parámetros
- external_id = Id externo (String, obligatorio) Recuerda que por motivos de seguridad, el external_id no puede contener los caracteres \ ni /
- name = Nombre (String, obligatorio)
- description = Descripción (String, opcional)
- objectives = Objetivos (String, opcional)
- comments = Observaciones (String, opcional)
- evaluationType = Sistema de evaluación seleccionado (String, obligatorio)
- Valores permitidos:
- PASSED_MANDATORY_ACTIVITIES
- MIN_SCORE
- Valores permitidos:
- percentageToPass = Porcentaje de actividades obligatorias para pasar el curso (Integer, obligatorio)
- Valores permitidos:
- Número entre 0 y 100 (Si evaluation type es PASSED_MANDATORY_ACTIVITIES)
- Número entre 1 y 100 (Si evaluation type es MIN_SCORE)
- Valores permitidos:
- issueCertificate = Expedir certificado (String, opcional)
- Valor por defecto: NO
- Valores permitidos:
- 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
- startDateMode = Tipo fecha de inicio (String, obligatorio)
- Valores permitidos:
- PUBLICATION_DATE --> La fecha de inicio será la fecha de publicación del curso
- MANUAL --> La fecha de inicio se establecerá de forma manual
- Valores permitidos:
- startDate = Fecha de inicio en milisegundos (Long, opcional*)
*obligatoria si startDateMode = MANUAL - endDateMode = Tipo fecha de fin (String, obligatorio)
- Valores permitidos:
- NONE --> Ninguna, el administrador finalizará el curso manualmente
- MANUAL --> La fecha de fin se establecerá de forma manual
- Valores permitidos:
- endDate = Fecha de fin en milisegundos (Long, opcional*)
*obligatoria si endDateMode = MANUAL - sessionOrganization = Organización de acciones formativas (String, obligatorio)
- Valores permitidos:
- MANUAL --> Manual
- AUTOMATIC --> Automática para actividades de auto-aprendizaje y manual para el resto
- Valores permitidos:
- enrolmentPolicy = Política de inscripción (String, obligatorio)
- Valores permitidos:
- AUTO_ENROLLMENT --> Auto inscripción
- ADMIN_ENROLLMENT --> Sólo los administradores pueden inscribir alumnos
- REQUEST_ENROLLMENT --> Solicitar inscripción
- Valores permitidos:
- requestEnrolmentStartDate = Fecha de inicio de solicitud de inscripción en milisegundos (Long, opcional*)
*obligatoria si enrolmentPolicy = REQUEST_ENROLLMENT - requestEnrolmentEndDateMode = Tipo de fecha de fin en solicitud de inscripción (String, opcional*)
*obligatoria si enrolmentPolicy = REQUEST_ENROLLMENT- Valores permitidos:
- INHERIT --> Heredada del curso
- MANUAL --> Se establecerá de forma manual
- Valores permitidos:
- requestEnrolmentEndDate = Fecha de fin de solicitud de inscripción en milisegundos (Long, opcional*)
*obligatoria si enrolmentPolicy = REQUEST_ENROLLMENT y requestEnrolmentEndDateMode = MANUAL - hasForum = Tiene sección para el foro (Boolean, opcional)
- Valores permitidos: TRUE / FALSE
- Valor por defecto: FALSE
- Cualquier valor que no sea TRUE, se transformará en FALSE
- hasMessage = Tiene sección para los mensajes (Boolean, opcional)
- Valores permitidos: TRUE / FALSE
- Valor por defecto: FALSE
- Cualquier valor que no sea TRUE, se transformará en FALSE
- hasReminder = Activar recordatorio a usuarios que llevan un tiempo sin acceder (Boolean, opcional)
- Valores permitidos: TRUE / FALSE
- Valor por defecto: FALSE
- Cualquier valor que no sea TRUE, se transformará en FALSE
- hasStartReminder = Activar recordatorios de la fecha de inicio del curso (Boolean, opcional)
- Valores permitidos: TRUE / FALSE
- Valor por defecto: FALSE
- Cualquier valor que no sea TRUE, se transformará en FALSE
- idCategory (lista) (versión urlencoded)= Listado de ids para añadir categorías (Long, opcional)
- categories (versión json)= Listado de categorías a añadir (pueden ir con id o external_id) (Lista json, opcional)
- id Id de la categoría que se quiere añadir (Long, opcional)
- external_id Id externo de la categoría que se quiere añadir (String, opcional)
- extendedFields[nombre del campo extendido] (lista) (versión urlencoded) = Nombre y valor de los campos extensibles (clave-valor de Strings, opcional*)
* solo son obligatorios aquellos campos extensibles que estén marcados como obligatorios y no tengan definido ningún valor por defecto- Valores permitidos:
- Si el campo extendido es de tipo texto --> cualquier texto
- Si el campo extendido es de tipo entero --> sólo números
- Si el campo extendido es de tipo si/no --> valores "true" o "false"
- Si el campo extendido es de tipo lista de valores --> el identificador correspondiente al valor en la lista
- Valores permitidos:
- extendedFields (versión json) = Lista de campos extendidos que se quieren añadir. N ombre y valor de los campos extensibles (clave-valor de Strings, opcional*)
* solo son obligatorios aquellos campos extensibles que estén marcados como obligatorios y no tengan definido ningún valor por defecto- Los objetos de la lista tendrán dos atributos:
- extendedFieldName: Nombre de la propiedad extendida
- extendedFieldValue: Valor de la propiedad extendida
- Valores permitidos:
- Si el campo extendido es de tipo texto --> cualquier texto
- Si el campo extendido es de tipo entero --> sólo números
- Si el campo extendido es de tipo si/no --> valores "true" o "false"
- Si el campo extendido es de tipo lista de valores --> el identificador correspondiente al valor en la lista
- Valores permitidos:
- Los objetos de la lista tendrán dos atributos:
Validaciones
- Lista de parámetros vacía o algún campo obligatorio sin cubrir --> Error ERR001 / 400 (Bad Request)
- El valor del porcentaje no es válido --> Error CRS001 / 400 (Bad Request)
- El valor del modo de expedición del certificado no es válido --> Error CRS002 / 400 (Bad Request)
- El valor del modo de la fecha de inicio no es válido --> Error CRS003 / 400 (Bad Request)
- El valor del modo de la fecha de fin no es válido --> Error CRS005 / 400 (Bad Request)
- El valor del modo de la organización de acciones formativas no es válido --> Error CRS006 / 400 (Bad Request)
- El valor de la política de inscripción no es válido --> Error CRS007 / 400 (Bad Request)
- El valor del modo de la fecha de fin de inscripción al curso no es válido --> Error CRS008 / 400 (Bad Request)
- Error añadiendo categorías, alguna no existe --> Error CRS009 / 400 (Bad Request)
- Error añadiendo categorías, no se ha introducido el valor para algún id o id externo --> Error CRS010 / 400 (Bad Request)
- La fecha de inicio de curso es mayor o igual que la fecha de fin de curso --> Error CRS011 / 400 (Bad Request)
- La fecha de inicio de solicitud de inscripción es mayor que la fecha de fin de solicitud de inscripción --> Error CRS012 / 400 (Bad Request)
- La fecha de inicio de solicitud de inscripción es mayor que la fecha de fin de curso --> Error CRS013 / 400 (Bad Request)
- La fecha de fin de solicitud de inscripción es mayor que la fecha de fin de curso --> Error CRS014 / 400 (Bad Request)
- El valor del tipo de sistema de evaluación no es válido --> Error CRS037 / 400 (Bad Request)
- El nombre de un campo extensible no existe --> Error DYN001 / 400 (Bad Request)
- El valor de un campo extensible tiene tipo incorrecto --> Error DYN002 / 400 (Bad Request)
- Falta algun campo extensible obligatorio --> Error DYN003 / 400 (Bad Request)
- No se ha incluido el campo obligatorio en la petición y no tiene asignado el valor por defecto
- Se ha incluido el campo en la petición pero se le ha asignado un valor vacío
- External id duplicado --> Error ERR006 / 400 (Bad Request)
Respuesta OK
- 201 (Created) + cabecera 'Location' con el link al recurso creado
Crear curso (v3)
Se consumirán dos tipos de recursos application/x-www-form-urlencoded y application/json. Se recomienda usar la versión de json.
Método: POST
URL: /admin/rest/administration/api/courses
Ejemplo: https://demo.central-lms.com/admin/rest/administration/api/courses
external_id=excourse1&name=Curso de diseño gráfico&description=Conocimiento básicos sobre diseño gráfico y web&objectives=Aprender a hacer sencillas páginas web y worpress&comments=Opcional&evaluationType=MIN_SCORE&percentageToPass=50&issueCertificate=PASSED&startDateMode=MANUAL&startDate=1420844400000&endDateMode=MANUAL&endDate=1431208800000&sessionOrganization=AUTOMATIC&enrolmentPolicy=REQUEST_ENROLLMENT&requestEnrolmentStartDate=1420844400000&requestEnrolmentEndDateMode=MANUAL&requestEnrolmentEndDate=1431208800000&hasForum=true&hasMessage=false&rateable=ONLY_ENROLMENTS&idCategory=2&idCategory=3&idCategory=4&extendedField[Deportes]=true&extendedField[Actividades extraescolares]=Pintura
{ "external_id": "excourse1", "name": "Curso de diseño gráfico", "description": "Conocimiento básicos sobre diseño gráfico y web", "objectives": "Aprender a hacer sencillas páginas web y worpress", "comments": "Opcional", "evaluationType": "MIN_SCORE", "percentageToPass": 50, "issueCertificate": "PASSED", "startDateMode": "MANUAL", "startDate": 1420844400000, "endDateMode": "MANUAL", "endDate": 1431208800000, "sessionOrganization": "AUTOMATIC", "enrolmentPolicy": "REQUEST_ENROLLMENT", "requestEnrolmentStartDate": 1420844400000, "requestEnrolmentEndDateMode": "MANUAL", "requestEnrolmentEndDate": 1431208800000, "hasForum": "true", "hasMessage": "false", "rateable": "ONLY_ENROLMENTS", "hasEditions": "false", "recogniseEditions": "false", "categories": [ {"id": 2 }, {"id": 3} ], "extendedFields": [ {"extendedFieldName": " Deportes ", "extendedFieldValue": " true "}, {"extendedFieldName": " Actividades extraescolares ", "extendedFieldValue": " Pintura "} ] }
Parámetros
- external_id = Id externo (String, obligatorio) Recuerda que por motivos de seguridad, el external_id no puede contener los caracteres \ ni /
- name = Nombre (String, obligatorio)
- description = Descripción (String, opcional)
- objectives = Objetivos (String, opcional)
- comments = Observaciones (String, opcional)
- evaluationType = Sistema de evaluación seleccionado (String, obligatorio)
- Valores permitidos:
- PASSED_MANDATORY_ACTIVITIES
- MIN_SCORE
- Valores permitidos:
- percentageToPass = Porcentaje de actividades obligatorias para pasar el curso (Integer, obligatorio)
- Valores permitidos:
- Número entre 0 y 100 (Si evaluation type es PASSED_MANDATORY_ACTIVITIES)
- Número entre 1 y 100 (Si evaluation type es MIN_SCORE)
- Valores permitidos:
- issueCertificate = Expedir certificado (String, opcional)
- Valor por defecto: NO
- Valores permitidos:
- 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
- startDateMode = Tipo fecha de inicio (String, obligatorio)
- Valores permitidos:
- PUBLICATION_DATE --> La fecha de inicio será la fecha de publicación del curso
- MANUAL --> La fecha de inicio se establecerá de forma manual
- Valores permitidos:
- startDate = Fecha de inicio en milisegundos (Long, opcional*)
*obligatoria si startDateMode = MANUAL - endDateMode = Tipo fecha de fin (String, obligatorio)
- Valores permitidos:
- 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
- Valores permitidos:
- 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 de fin en milisegundos (Long, opcional*)
*obligatoria si endDateMode = MANUAL - sessionOrganization = Organización de acciones formativas (String, obligatorio)
- Valores permitidos:
- MANUAL --> Manual
- AUTOMATIC --> Automática para actividades de auto-aprendizaje y manual para el resto
- Valores permitidos:
- enrolmentPolicy = Política de inscripción (String, obligatorio)
- Valores permitidos:
- AUTO_ENROLLMENT --> Auto inscripción
- ADMIN_ENROLLMENT --> Sólo los administradores pueden inscribir alumnos
- REQUEST_ENROLLMENT --> Solicitar inscripción
- Valores permitidos:
- requestEnrolmentStartDate = Fecha de inicio de solicitud de inscripción en milisegundos (Long, opcional*)
*obligatoria si enrolmentPolicy = REQUEST_ENROLLMENT - requestEnrolmentEndDateMode = Tipo de fecha de fin en solicitud de inscripción (String, opcional*)
*obligatoria si enrolmentPolicy = REQUEST_ENROLLMENT- Valores permitidos:
- INHERIT --> Heredada del curso
- MANUAL --> Se establecerá de forma manual
- Valores permitidos:
- requestEnrolmentEndDate = Fecha de fin de solicitud de inscripción en milisegundos (Long, opcional*)
*obligatoria si enrolmentPolicy = REQUEST_ENROLLMENT y requestEnrolmentEndDateMode = MANUAL - hasForum = Tiene sección para el foro (Boolean, opcional)
- Valores permitidos: TRUE / FALSE
- Valor por defecto: FALSE
- Cualquier valor que no sea TRUE, se transformará en FALSE
- hasMessage = Tiene sección para los mensajes (Boolean, opcional)
- Valores permitidos: TRUE / FALSE
- Valor por defecto: FALSE
- Cualquier valor que no sea TRUE, se transformará en FALSE
- hasReminder = Activar recordatorio a usuarios que llevan un tiempo sin acceder (Boolean, opcional)
- Valores permitidos: TRUE / FALSE
- Valor por defecto: FALSE
- Cualquier valor que no sea TRUE, se transformará en FALSE
- hasStartReminder = Activar recordatorios de la fecha de inicio del curso (Boolean, opcional)
- Valores permitidos: TRUE / FALSE
- Valor por defecto: FALSE
- Cualquier valor que no sea TRUE, se transformará en FALSE
- rateable = Curso valorable por los alumnos o no valorable (String, opcional)
- Valores permitidos:
- NONE : no valorable
- ONLY_ENROLMENTS : los alumnos inscritos pueden valorar el curso
- Valor por defecto: NONE
- Valores permitidos:
- hasEditions = Curso con convocatorias (Boolean, opcional)
- Valores permitidos: TRUE / FALSE
- Valor por defecto: FALSE
- Cualquier valor que no sea TRUE, se transformará en FALSE
- hasStartReminder = Convalidación entre convocatorias (Boolean, opcional)
- Valores permitidos: TRUE / FALSE
- Valor por defecto: FALSE
- Cualquier valor que no sea TRUE, se transformará en FALSE
- idCategory (lista) (versión urlencoded)= Listado de ids para añadir categorías (Long, opcional)
- categories (versión json)= Listado de categorías a añadir (pueden ir con id o external_id) (Lista json, opcional)
- id Id de la categoría que se quiere añadir (Long, opcional)
- external_id Id externo de la categoría que se quiere añadir (String, opcional)
- extendedFields[nombre del campo extendido] (lista) (versión urlencoded) = Nombre y valor de los campos extensibles (clave-valor de Strings, opcional*)
* solo son obligatorios aquellos campos extensibles que estén marcados como obligatorios y no tengan definido ningún valor por defecto- Valores permitidos:
- Si el campo extendido es de tipo texto --> cualquier texto
- Si el campo extendido es de tipo entero --> sólo números
- Si el campo extendido es de tipo si/no --> valores "true" o "false"
- Si el campo extendido es de tipo lista de valores --> el identificador correspondiente al valor en la lista
- Valores permitidos:
- extendedFields (versión json) = Lista de campos extendidos que se quieren añadir. N ombre y valor de los campos extensibles (clave-valor de Strings, opcional*)
* solo son obligatorios aquellos campos extensibles que estén marcados como obligatorios y no tengan definido ningún valor por defecto- Los objetos de la lista tendrán dos atributos:
- extendedFieldName: Nombre de la propiedad extendida
- extendedFieldValue: Valor de la propiedad extendida
- Valores permitidos:
- Si el campo extendido es de tipo texto --> cualquier texto
- Si el campo extendido es de tipo entero --> sólo números
- Si el campo extendido es de tipo si/no --> valores "true" o "false"
- Si el campo extendido es de tipo lista de valores --> el identificador correspondiente al valor en la lista
- Valores permitidos:
- Los objetos de la lista tendrán dos atributos:
Validaciones
- Lista de parámetros vacía o algún campo obligatorio sin cubrir --> Error ERR001 / 400 (Bad Request)
- El valor del porcentaje no es válido --> Error CRS001 / 400 (Bad Request)
- El valor del modo de expedición del certificado no es válido --> Error CRS002 / 400 (Bad Request)
- El valor del modo de la fecha de inicio no es válido --> Error CRS003 / 400 (Bad Request)
- El valor del modo de la fecha de fin no es válido --> Error CRS005 / 400 (Bad Request)
- El valor del modo de la organización de acciones formativas no es válido --> Error CRS006 / 400 (Bad Request)
- El valor de la política de inscripción no es válido --> Error CRS007 / 400 (Bad Request)
- El valor del modo de la fecha de fin de inscripción al curso no es válido --> Error CRS008 / 400 (Bad Request)
- Error añadiendo categorías, alguna no existe --> Error CRS009 / 400 (Bad Request)
- Error añadiendo categorías, no se ha introducido el valor para algún id o id externo --> Error CRS010 / 400 (Bad Request)
- La fecha de inicio de curso es mayor o igual que la fecha de fin de curso --> Error CRS011 / 400 (Bad Request)
- La fecha de inicio de solicitud de inscripción es mayor que la fecha de fin de solicitud de inscripción --> Error CRS012 / 400 (Bad Request)
- La fecha de inicio de solicitud de inscripción es mayor que la fecha de fin de curso --> Error CRS013 / 400 (Bad Request)
- La fecha de fin de solicitud de inscripción es mayor que la fecha de fin de curso --> Error CRS014 / 400 (Bad Request)
- El valor del tipo de sistema de evaluación no es válido --> Error CRS037 / 400 (Bad Request)
- El valor de los días de disponibilidad del alumno no son válidos -> Error CRS52 (Bad Request)
- El nombre de un campo extensible no existe --> Error DYN001 / 400 (Bad Request)
- El valor de un campo extensible tiene tipo incorrecto --> Error DYN002 / 400 (Bad Request)
- Falta algun campo extensible obligatorio --> Error DYN003 / 400 (Bad Request)
- No se ha incluido el campo obligatorio en la petición y no tiene asignado el valor por defecto
- Se ha incluido el campo en la petición pero se le ha asignado un valor vacío
- External id duplicado --> Error ERR006 / 400 (Bad Request)
- El valor del campo rateable es incorrecto –> Error CRS041 / 400 (Bad Request)
- El valor de la convalidación entre convocatorias es inválido (no puede ser true si el curso no se crea con convocatorias) ->> Error CRS045 / 400 (Bad Request)
Respuesta OK
- 201 (Created) + cabecera 'Location' con el link al recurso creado
Crear curso (v6)
Método: POST
URL: /admin/rest/administration/api/courses
Ejemplo: https://demo.central-lms.com/admin/rest/administration/api/courses
BODY - application/json
{ "external_id" : "excourse1" , "name" : "Curso de diseño gráfico" , "description" : "Conocimiento básicos sobre diseño gráfico y web" , "objectives" : "Aprender a hacer sencillas páginas web y worpress" , "comments" : "Opcional" , "evaluationType" : "MIN_SCORE" , "percentageToPass" : 50, "issueCertificate" : "PASSED" , "startDateMode" : "MANUAL" , "startDate" : 1420844400000, "endDateMode" : "MANUAL" , "endDate" : 1431208800000, "sessionOrganization" : "AUTOMATIC" , "enrolmentPolicy" : "REQUEST_ENROLLMENT" , "requestEnrolmentStartDate" : 1420844400000, "requestEnrolmentEndDateMode" : "MANUAL" , "requestEnrolmentEndDate" : 1431208800000, "hasForum" : "true" , "hasMessage" : "false" , "hasLink" : "true" , "rateable" : "ONLY_ENROLMENTS" , "hasEditions" : "false" , "recogniseEditions" : "false" , "categories" : [ { "id" : 2 }, { "id" : 3} ], "extendedFields" : [ { "extendedFieldName" : " Deportes " , "extendedFieldValue" : " true " }, { "extendedFieldName" : " Actividades extraescolares " , "extendedFieldValue" : " Pintura " } ] } |
Parámetros
- external_id = Id externo (String, opcional) Recuerda que por motivos de seguridad, el external_id no puede contener los caracteres \ ni /
- name = Nombre (String, obligatorio)
- description = Descripción (String, opcional)
- objectives = Objetivos (String, opcional)
- comments = Observaciones (String, opcional)
- evaluationType = Sistema de evaluación seleccionado (String, obligatorio)
- Valores permitidos:
- PASSED_MANDATORY_ACTIVITIES
- MIN_SCORE
- Valores permitidos:
- percentageToPass = Porcentaje de actividades obligatorias para pasar el curso (Integer, obligatorio)
- Valores permitidos:
- Número entre 0 y 100 (Si evaluation type es PASSED_MANDATORY_ACTIVITIES)
- Número entre 1 y 100 (Si evaluation type es MIN_SCORE)
- Valores permitidos:
- issueCertificate = Expedir certificado (String, opcional)
- Valor por defecto: NO
- Valores permitidos:
- 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
- startDateMode = Tipo fecha de inicio (String, obligatorio)
- Valores permitidos:
- PUBLICATION_DATE --> La fecha de inicio será la fecha de publicación del curso
- MANUAL --> La fecha de inicio se establecerá de forma manual
- Valores permitidos:
- startDate = Fecha de inicio en milisegundos (Long, opcional*)
*obligatoria si startDateMode = MANUAL - endDateMode = Tipo fecha de fin (String, obligatorio)
- Valores permitidos:
- 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
- Valores permitidos:
- 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 de fin en milisegundos (Long, opcional*)
*obligatoria si endDateMode = MANUAL - sessionOrganization = Organización de acciones formativas (String, obligatorio)
- Valores permitidos:
- MANUAL --> Manual
- AUTOMATIC --> Automática para actividades de auto-aprendizaje y manual para el resto
- Valores permitidos:
- enrolmentPolicy = Política de inscripción (String, obligatorio)
- Valores permitidos:
- AUTO_ENROLLMENT --> Auto inscripción
- ADMIN_ENROLLMENT --> Sólo los administradores pueden inscribir alumnos
- REQUEST_ENROLLMENT --> Solicitar inscripción
- Valores permitidos:
- requestEnrolmentStartDate = Fecha de inicio de solicitud de inscripción en milisegundos (Long, opcional*)
*obligatoria si enrolmentPolicy = REQUEST_ENROLLMENT - requestEnrolmentEndDateMode = Tipo de fecha de fin en solicitud de inscripción (String, opcional*)
*obligatoria si enrolmentPolicy = REQUEST_ENROLLMENT- Valores permitidos:
- INHERIT --> Heredada del curso
- MANUAL --> Se establecerá de forma manual
- Valores permitidos:
- requestEnrolmentEndDate = Fecha de fin de solicitud de inscripción en milisegundos (Long, opcional*)
*obligatoria si enrolmentPolicy = REQUEST_ENROLLMENT y requestEnrolmentEndDateMode = MANUAL - hasForum = Tiene sección para el foro (Boolean, opcional)
- Valores permitidos: TRUE / FALSE
- Valor por defecto: FALSE
- Cualquier valor que no sea TRUE, se transformará en FALSE
- hasMessage = Tiene sección para los mensajes (Boolean, opcional)
- Valores permitidos: TRUE / FALSE
- Valor por defecto: FALSE
- Cualquier valor que no sea TRUE, se transformará en FALSE
- hasLink = Tiene sección para los enlaces externos (Boolean, opcional)
- Valores permitidos: TRUE / FALSE
- Valor por defecto: FALSE
- Cualquier valor que no sea TRUE, se transformará en FALSE
- hasReminder = Activar recordatorio a usuarios que llevan un tiempo sin acceder (Boolean, opcional)
- Valores permitidos: TRUE / FALSE
- Valor por defecto: FALSE
- Cualquier valor que no sea TRUE, se transformará en FALSE
- hasStartReminder = Activar recordatorios de la fecha de inicio del curso (Boolean, opcional)
- Valores permitidos: TRUE / FALSE
- Valor por defecto: FALSE
- Cualquier valor que no sea TRUE, se transformará en FALSE
- rateable = Curso valorable por los alumnos o no valorable (String, opcional)
- Valores permitidos:
- NONE : no valorable
- ONLY_ENROLMENTS : los alumnos inscritos pueden valorar el curso
- Valor por defecto: NONE
- Valores permitidos:
- hasEditions = Curso con convocatorias (Boolean, opcional)
- Valores permitidos: TRUE / FALSE
- Valor por defecto: FALSE
- Cualquier valor que no sea TRUE, se transformará en FALSE
- hasStartReminder = Convalidación entre convocatorias (Boolean, opcional)
- Valores permitidos: TRUE / FALSE
- Valor por defecto: FALSE
- Cualquier valor que no sea TRUE, se transformará en FALSE
- idCategory (lista) (versión urlencoded)= Listado de ids para añadir categorías (Long, opcional)
- categories (versión json)= Listado de categorías a añadir (pueden ir con id o external_id) (Lista json, opcional)
- id Id de la categoría que se quiere añadir (Long, opcional)
- external_id Id externo de la categoría que se quiere añadir (String, opcional)
- extendedFields[nombre del campo extendido] (lista) (versión urlencoded) = Nombre y valor de los campos extensibles (clave-valor de Strings, opcional*)
* solo son obligatorios aquellos campos extensibles que estén marcados como obligatorios y no tengan definido ningún valor por defecto- Valores permitidos:
- Si el campo extendido es de tipo texto --> cualquier texto
- Si el campo extendido es de tipo entero --> sólo números
- Si el campo extendido es de tipo si/no --> valores "true" o "false"
- Si el campo extendido es de tipo lista de valores --> el identificador correspondiente al valor en la lista
- Valores permitidos:
- extendedFields (versión json) = Lista de campos extendidos que se quieren añadir. N ombre y valor de los campos extensibles (clave-valor de Strings, opcional*)
* solo son obligatorios aquellos campos extensibles que estén marcados como obligatorios y no tengan definido ningún valor por defecto- Los objetos de la lista tendrán dos atributos:
- extendedFieldName: Nombre de la propiedad extendida
- extendedFieldValue: Valor de la propiedad extendida
- Valores permitidos:
- Si el campo extendido es de tipo texto --> cualquier texto
- Si el campo extendido es de tipo entero --> sólo números
- Si el campo extendido es de tipo si/no --> valores "true" o "false"
- Si el campo extendido es de tipo lista de valores --> el identificador correspondiente al valor en la lista
- Valores permitidos:
- Los objetos de la lista tendrán dos atributos:
Validaciones
- Lista de parámetros vacía o algún campo obligatorio sin cubrir --> Error ERR001 / 400 (Bad Request)
- El valor del porcentaje no es válido --> Error CRS001 / 400 (Bad Request)
- El valor del modo de expedición del certificado no es válido --> Error CRS002 / 400 (Bad Request)
- El valor del modo de la fecha de inicio no es válido --> Error CRS003 / 400 (Bad Request)
- El valor del modo de la fecha de fin no es válido --> Error CRS005 / 400 (Bad Request)
- El valor del modo de la organización de acciones formativas no es válido --> Error CRS006 / 400 (Bad Request)
- El valor de la política de inscripción no es válido --> Error CRS007 / 400 (Bad Request)
- El valor del modo de la fecha de fin de inscripción al curso no es válido --> Error CRS008 / 400 (Bad Request)
- Error añadiendo categorías, alguna no existe --> Error CRS009 / 400 (Bad Request)
- Error añadiendo categorías, no se ha introducido el valor para algún id o id externo --> Error CRS010 / 400 (Bad Request)
- La fecha de inicio de curso es mayor o igual que la fecha de fin de curso --> Error CRS011 / 400 (Bad Request)
- La fecha de inicio de solicitud de inscripción es mayor que la fecha de fin de solicitud de inscripción --> Error CRS012 / 400 (Bad Request)
- La fecha de inicio de solicitud de inscripción es mayor que la fecha de fin de curso --> Error CRS013 / 400 (Bad Request)
- La fecha de fin de solicitud de inscripción es mayor que la fecha de fin de curso --> Error CRS014 / 400 (Bad Request)
- El valor del tipo de sistema de evaluación no es válido --> Error CRS037 / 400 (Bad Request)
- El valor de los días de disponibilidad del alumno no son válidos -> Error CRS52 (Bad Request)
- El nombre de un campo extensible no existe --> Error DYN001 / 400 (Bad Request)
- El valor de un campo extensible tiene tipo incorrecto --> Error DYN002 / 400 (Bad Request)
- Falta algun campo extensible obligatorio --> Error DYN003 / 400 (Bad Request)
- No se ha incluido el campo obligatorio en la petición y no tiene asignado el valor por defecto
- Se ha incluido el campo en la petición pero se le ha asignado un valor vacío
- External id duplicado --> Error ERR006 / 400 (Bad Request)
- El valor del campo rateable es incorrecto –> Error CRS041 / 400 (Bad Request)
- El valor de la convalidación entre convocatorias es inválido (no puede ser true si el curso no se crea con convocatorias) ->> Error CRS045 / 400 (Bad Request)
Respuesta OK
- 201 (Created) + cabecera 'Location' con el link al recurso creado
Crear convocatoria de curso
Se consumirán dos tipos de recursos application/x-www-form-urlencoded y application/json. Se recomienda usar la versión de json.
Método: POST
URL:
- Crear convocatoria por parentId: https://demo.central-lms.com/admin/rest/administration/api/courses/parentId/{parentId}/editions
- Crear convocatoria por externalParentId: https://demo.central-lms.com/admin/rest/administration/api/courses/parentExternalId/{parentExternalId}/editions
Ejemplo: https://demo.central-lms.com/admin/rest/administration/api/courses/parentId/2030
external_id=excourse1&editionName=Edición curso&startDateMode=MANUAL&startDate=1420844400000&endDateMode=MANUAL&endDate=1431208800000&enrolmentPolicy=REQUEST_ENROLLMENT&requestEnrolmentStartDate=1420844400000&requestEnrolmentEndDateMode=MANUAL&requestEnrolmentEndDate=1431208800000&rateable=ONLY_ENROLMENTS&idCategory=2&idCategory=3&idCategory=4&extendedField[Deportes]=true&extendedField[Actividades extraescolares]=Pintura
{ "external_id": "extId1", "editionName": "Edición curso", "capacity": 10, "startDateMode": "MANUAL", "startDate": 1420844400000, "endDateMode": "MANUAL", "endDate": 1431208800000, "enrolmentPolicy": "REQUEST_ENROLLMENT", "requestEnrolmentStartDate": 1420844400000, "requestEnrolmentEndDateMode": "MANUAL", "requestEnrolmentEndDate": 1431208800000, "rateable": "ONLY_ENROLMENTS", "categories": [ {"id": 2 }, {"id": 3} ], "extendedFields": [ {"extendedFieldName": " Deportes ", "extendedFieldValue": " true "}, {"extendedFieldName": " Actividades extraescolares ", "extendedFieldValue": " Pintura "} ] }
Parámetros
- external_id = Id externo (String, obligatorio) Recuerda que por motivos de seguridad, el external_id no puede contener los caracteres \ ni /
- editionName = Nombre (String, obligatorio)
- capacity = Número máximo de alumnos que puede tener la convocatoria (Integer, opcional)
- startDateMode = Tipo fecha de inicio (String, obligatorio)
- Valores permitidos:
- PUBLICATION_DATE --> La fecha de inicio será la fecha de publicación del curso
- MANUAL --> La fecha de inicio se establecerá de forma manual
- Valores permitidos:
- startDate = Fecha de inicio en milisegundos (Long, opcional*)
*obligatoria si startDateMode = MANUAL - endDateMode = Tipo fecha de fin (String, obligatorio)
- Valores permitidos:
- 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
- Valores permitidos:
- 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 de fin en milisegundos (Long, opcional*)
*obligatoria si endDateMode = MANUAL - enrolmentPolicy = Política de inscripción (String, obligatorio)
- Valores permitidos:
- AUTO_ENROLLMENT --> Auto inscripción
- ADMIN_ENROLLMENT --> Sólo los administradores pueden inscribir alumnos
- REQUEST_ENROLLMENT --> Solicitar inscripción
- Valores permitidos:
- requestEnrolmentStartDate = Fecha de inicio de solicitud de inscripción en milisegundos (Long, opcional*)
*obligatoria si enrolmentPolicy = REQUEST_ENROLLMENT - requestEnrolmentEndDateMode = Tipo de fecha de fin en solicitud de inscripción (String, opcional*)
*obligatoria si enrolmentPolicy = REQUEST_ENROLLMENT- Valores permitidos:
- INHERIT --> Heredada del curso
- MANUAL --> Se establecerá de forma manual
- Valores permitidos:
- requestEnrolmentEndDate = Fecha de fin de solicitud de inscripción en milisegundos (Long, opcional*)
*obligatoria si enrolmentPolicy = REQUEST_ENROLLMENT y requestEnrolmentEndDateMode = MANUAL - rateable = Curso valorable por los alumnos o no valorable (String, opcional)
- Valores permitidos:
- NONE : no valorable
- ONLY_ENROLMENTS : los alumnos inscritos pueden valorar el curso
- Valor por defecto: NONE
- Valores permitidos:
- idCategory (lista) (versión urlencoded)= Listado de ids para añadir categorías (Long, opcional)
- categories (versión json)= Listado de categorías a añadir (pueden ir con id o external_id) (Lista json, opcional)
- id Id de la categoría que se quiere añadir (Long, opcional)
- external_id Id externo de la categoría que se quiere añadir (String, opcional)
- extendedFields[nombre del campo extendido] (lista) (versión urlencoded) = Nombre y valor de los campos extensibles (clave-valor de Strings, opcional*)
* solo son obligatorios aquellos campos extensibles que estén marcados como obligatorios y no tengan definido ningún valor por defecto- Valores permitidos:
- Si el campo extendido es de tipo texto --> cualquier texto
- Si el campo extendido es de tipo entero --> sólo números
- Si el campo extendido es de tipo si/no --> valores "true" o "false"
- Si el campo extendido es de tipo lista de valores --> el identificador correspondiente al valor en la lista
- Valores permitidos:
- extendedFields (versión json) = Lista de campos extendidos que se quieren añadir. N ombre y valor de los campos extensibles (clave-valor de Strings, opcional*)
* solo son obligatorios aquellos campos extensibles que estén marcados como obligatorios y no tengan definido ningún valor por defecto- Los objetos de la lista tendrán dos atributos:
- extendedFieldName: Nombre de la propiedad extendida
- extendedFieldValue: Valor de la propiedad extendida
- Valores permitidos:
- Si el campo extendido es de tipo texto --> cualquier texto
- Si el campo extendido es de tipo entero --> sólo números
- Si el campo extendido es de tipo si/no --> valores "true" o "false"
- Si el campo extendido es de tipo lista de valores --> el identificador correspondiente al valor en la lista
- Valores permitidos:
- Los objetos de la lista tendrán dos atributos:
Validaciones
- Lista de parámetros vacía o algún campo obligatorio sin cubrir --> Error ERR001 / 400 (Bad Request)
- El valor del modo de la fecha de inicio no es válido --> Error CRS003 / 400 (Bad Request)
- El valor del modo de la fecha de fin no es válido --> Error CRS005 / 400 (Bad Request)
- El valor de la política de inscripción no es válido --> Error CRS007 / 400 (Bad Request)
- El valor del modo de la fecha de fin de inscripción al curso no es válido --> Error CRS008 / 400 (Bad Request)
- Error añadiendo categorías, alguna no existe --> Error CRS009 / 400 (Bad Request)
- Error añadiendo categorías, no se ha introducido el valor para algún id o id externo --> Error CRS010 / 400 (Bad Request)
- La fecha de inicio de curso es mayor o igual que la fecha de fin de curso --> Error CRS011 / 400 (Bad Request)
- La fecha de inicio de solicitud de inscripción es mayor que la fecha de fin de solicitud de inscripción --> Error CRS012 / 400 (Bad Request)
- La fecha de inicio de solicitud de inscripción es mayor que la fecha de fin de curso --> Error CRS013 / 400 (Bad Request)
- La fecha de fin de solicitud de inscripción es mayor que la fecha de fin de curso --> Error CRS014 / 400 (Bad Request)
- El valor de los días de disponibilidad del alumno no son válidos -> Error CRS52 (Bad Request)
- El nombre de un campo extensible no existe --> Error DYN001 / 400 (Bad Request)
- El valor de un campo extensible tiene tipo incorrecto --> Error DYN002 / 400 (Bad Request)
- Falta algun campo extensible obligatorio --> Error DYN003 / 400 (Bad Request)
- No se ha incluido el campo obligatorio en la petición y no tiene asignado el valor por defecto
- Se ha incluido el campo en la petición pero se le ha asignado un valor vacío
- External id duplicado --> Error ERR006 / 400 (Bad Request)
- El valor del campo rateable es incorrecto –> Error CRS041 / 400 (Bad Request)
- El valor de la capacidad tiene que ser un entero positivo --> Error CS048 / 400 (Bad Request)
Respuesta OK
- 201 (Created) + cabecera 'Location' con el link al recurso creado
Clonar convocatoria de curso
Se consumirán dos tipos de recursos application/x-www-form-urlencoded y application/json. Se recomienda usar la versión de json.
Método: POST
URL:
- Clonar convocatoria por parentId: https://demo.central-lms.com/admin/rest/administration/api/courses/parentId/{parentId}/editions
- Clonar convocatoria por externalParentId: https://demo.central-lms.com/admin/rest/administration/api/courses/parentExternalId/{parentExternalId}/editions
Ejemplo: https://demo.central-lms.com/admin/rest/administration/api/courses/parentId/2030
external_id=excourse1&editionName=Curso de diseño gráfico&clonedFromId=1
{ "external_id": "excourse1", "editionName": "Curso de diseño gráfico", "clonedFromId": 1 }
Parámetros
- external_id = Id externo (String, obligatorio) Recuerda que por motivos de seguridad, el external_id no puede contener los caracteres \ ni /
- editionName = Nombre (String, obligatorio)
- clonedFromId = Identificador de curso que se clona (Long)
- clonedFromExternalId = Id. externo de curso que se clona (String) (se deja de usar en la versión JSON)
Validaciones
- Lista de parámetros vacía o algún campo obligatorio sin cubrir --> Error ERR001 / 400 (Bad Request)
- External id duplicado --> Error ERR006 / 400 (Bad Request)
- Id. de curso inexistente --> Error ERR004 / 404 (Not Found)
- Id. externo de curso inexistente --> Error ERR005 / 404 (Not Found)
Respuesta OK
- 201 (Created) + cabecera 'Location' con el link al recurso creado
Modificar curso (v1)
Esta versión lleva la entrada con Content-Type: application/x-www-form-urlencoded, se recomienda el uso de la nueva versión, que consume json.
Método: PUT
URL:
- Modificar por id:
- /admin/rest/administration/api/courses/id/{id}
- Modificar por external id:
- /admin/rest/administration/api/courses/externalid/{external_id}
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/courses/id/2030
external_id=excourse1&name=Curso de diseño gráfico&description=Conocimiento básicos sobre diseño gráfico y web&objectives=Aprender a hacer sencillas páginas web y worpress&comments=Opcional&percentageToPass=50&issueCertificate=PASSED&startDateMode=MANUAL&startDate=1420844400000&endDateMode=MANUAL&endDate=1431208800000&enrolmentPolicy=REQUEST_ENROLLMENT&requestEnrolmentStartDate=1420844400000&requestEnrolmentEndDateMode=MANUAL&requestEnrolmentEndDate=1431208800000&hasForum=true&hasMessage=false&idCategory=2&idCategory=3&idCategory=4&extendedField[Deportes]=true&extendedField[Actividades extraescolares]=Pintura
Parámetros
- external_id = Id externo (String, obligatorio) Recuerda que por motivos de seguridad, el external_id no puede contener los caracteres \ ni /
- name = Nombre (String, obligatorio)
- description = Descripción (String, opcional)
- objectives = Objetivos (String, opcional)
- comments = Observaciones (String, opcional)
- percentageToPass = Porcentaje de actividades obligatorias para pasar el curso (Integer, obligatorio)
- Valores permitidos:
- Número entre 0 y 100
- Valores permitidos:
- issueCertificate = Expedir certificado (String, opcional)
- Valor por defecto: NO
- Valores permitidos:
- 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
- startDateMode = Tipo fecha de inicio (String, obligatorio)
- Valores permitidos:
- PUBLICATION_DATE --> La fecha de inicio será la fecha de publicación del curso
- MANUAL --> La fecha de inicio se establecerá de forma manual
- Valores permitidos:
- startDate = Fecha de inicio en milisegundos (Long, opcional*)
*obligatoria si startDateMode = MANUAL - endDateMode = Tipo fecha de fin (String, obligatorio)
- Valores permitidos:
- NONE --> Ninguna, el administrador finalizará el curso manualmente
- MANUAL --> La fecha de fin se establecerá de forma manual
- Valores permitidos:
- endDate = Fecha de fin en milisegundos (Long, opcional*)
*obligatoria si endDateMode = MANUAL - enrolmentPolicy = Política de inscripción (String, obligatorio)
- Valores permitidos:
- AUTO_ENROLLMENT --> Auto inscripción
- ADMIN_ENROLLMENT --> Sólo los administradores pueden inscribir alumnos
- REQUEST_ENROLLMENT --> Solicitar inscripción
- Valores permitidos:
- requestEnrolmentStartDate = Fecha de inicio de solicitud de inscripción en milisegundos (Long, opcional*)
*obligatoria si enrolmentPolicy = REQUEST_ENROLLMENT - requestEnrolmentEndDateMode = Tipo de fecha de fin en solicitud de inscripción (String, opcional*)
*obligatoria si enrolmentPolicy = REQUEST_ENROLLMENT- Valores permitidos:
- INHERIT --> Heredada del curso
- MANUAL --> Se establecerá de forma manual
- Valores permitidos:
- requestEnrolmentEndDate = Fecha de fin de solicitud de inscripción en milisegundos (Long, opcional*)
*obligatoria si enrolmentPolicy = REQUEST_ENROLLMENT y requestEnrolmentEndDateMode = MANUAL - hasForum = Tiene sección para el foro (Boolean, opcional)
- Valores permitidos: TRUE / FALSE
- Valor por defecto: FALSE
- Cualquier valor que no sea TRUE, se transformará en FALSE
- hasMessage = Tiene sección para los mensajes (Boolean, opcional)
- Valores permitidos: TRUE / FALSE
- Valor por defecto: FALSE
- Cualquier valor que no sea TRUE, se transformará en FALSE
- idCategory (lista) = Listado de ids para añadir categorías (Long, opcional*) * La lista de categorías reemplaza a la existente.
- externalidCategory (lista) = Listado de ids externos para añadir categorías (String, opcional*) * La lista de categorías reemplaza a la existente.
- extendedField[nombre del campo extendido] (lista) = Nombre y valor de los campos extensibles (clave-valor de Strings, opcional*)
* solo son obligatorios aquellos campos extensibles que estén marcados como obligatorios y no tengan definido ningún valor por defecto. La lista de campos extendidos reemplazará al ya existente, esto puede ocasionar que se borren valores.- Valores permitidos:
- Si el campo extendido es de tipo texto --> cualquier texto
- Si el campo extendido es de tipo entero --> sólo números
- Si el campo extendido es de tipo si/no --> valores "true" o "false"
- Si el campo extendido es de tipo lista de valores --> el identificador correspondiente al valor en la lista
- Valores permitidos:
Validaciones
- Lista de parámetros vacía o algún campo obligatorio sin cubrir --> Error ERR001 / 400 (Bad Request)
- El valor del porcentaje no es válido --> Error CRS001 / 400 (Bad Request)
- El valor del modo de expedición del certificado no es válido --> Error CRS002 / 400 (Bad Request)
- El valor del modo de la fecha de inicio no es válido --> Error CRS003 / 400 (Bad Request)
- El curso está publicado y se cambia la fecha de inicio de manual a fecha de publicación --> Error CRS004 / 400 (Bad Request)
- El valor del modo de la fecha de fin no es válido --> Error CRS005 / 400 (Bad Request)
- El valor de la política de inscripción no es válido --> Error CRS007 / 400 (Bad Request)
- El valor del modo de la fecha de fin de inscripción al curso no es válido --> Error CRS008 / 400 (Bad Request)
- Error añadiendo categorías, alguna no existe --> Error CRS009 / 400 (Bad Request)
- Error añadiendo categorías, no se ha introducido el valor para algún id o id externo --> Error CRS010 / 400 (Bad Request)
- La fecha de inicio de curso es mayor o igual que la fecha de fin de curso --> Error CRS011 / 400 (Bad Request)
- La fecha de inicio de solicitud de inscripción es mayor que la fecha de fin de solicitud de inscripción --> Error CRS012 / 400 (Bad Request)
- La fecha de inicio de solicitud de inscripción es mayor que la fecha de fin de curso --> Error CRS013 / 400 (Bad Request)
- La fecha de fin de solicitud de inscripción es mayor que la fecha de fin de curso --> Error CRS014 / 400 (Bad Request)
- La fecha de inicio de curso es mayor que la fecha de inicio de alguna de sus actividades --> Error CRS015 / 400 (Bad Request)
- La fecha de inicio de curso es mayor que la fecha de fin de alguna de sus actividades --> Error CRS016 / 400 (Bad Request)
- La fecha de fin de curso es menor que la fecha de inicio de alguna de sus actividades --> Error CRS017 / 400 (Bad Request)
- La fecha de fin de curso es menor que la fecha de fin de alguna de sus actividades --> Error CRS018 / 400 (Bad Request)
- La fecha de inicio de curso es mayor que la fecha de inicio de alguna de las sesiones formativas --> Error CRS019 / 400 (Bad Request)
- La fecha de inicio de curso es mayor que la fecha de fin de alguna de las sesiones formativas --> Error CRS020 / 400 (Bad Request)
- La fecha de fin de curso es menor que la fecha de inicio de alguna de las sesiones formativas --> Error CRS021 / 400 (Bad Request)
- La fecha de fin de curso es menor que la fecha de fin de alguna de las sesiones formativas --> Error CRS022 / 400 (Bad Request)
- El curso no se puede modificar porque está en estado finalizado --> Error CRS023 / 400 (Bad Request)
- Error inesperado al editar el curso --> Error CRS024 / 400 (Bad Request)
- No se puede editar un curso con convocatorias --> Error CRS050 / 400 (Bad Request)
- El nombre de un campo extensible no existe --> Error DYN001 / 400 (Bad Request)
- El valor de un campo extensible tiene tipo incorrecto --> Error DYN002 / 400 (Bad Request)
- Falta algun campo extensible obligatorio --> Error DYN003 / 400 (Bad Request)
- No se ha incluido el campo obligatorio en la petición y no tiene asignado el valor por defecto
- Se ha incluido el campo en la petición pero se le ha asignado un valor vacío
- External id duplicado --> Error ERR006 / 400 (Bad Request)
- No existe un curso con ese id o id externo --> Error 404 (Not Found)
- Todo OK --> 200 (OK)
Modificar curso (v2)
Se consumirán dos tipos de recursos:
- Content-Type: application/json
- Content-Type: application/x-www-form-urlencoded
application/x-www-form-urlencoded y application/json. Se recomienda usar la versión de json.
Método: PUT
URL:
- Modificar por id:
- /admin/rest/administration/api/courses/id/{id}
- Modificar por external id:
- /admin/rest/administration/api/courses/externalid/{external_id}
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/courses/id/2030
external_id=excourse1&name=Curso de diseño gráfico&description=Conocimiento básicos sobre diseño gráfico y web&objectives=Aprender a hacer sencillas páginas web y worpress&comments=Opcional&evaluationType=MIN_SCORE&percentageToPass=50&issueCertificate=PASSED&startDateMode=MANUAL&startDate=1420844400000&endDateMode=MANUAL&endDate=1431208800000&enrolmentPolicy=REQUEST_ENROLLMENT&requestEnrolmentStartDate=1420844400000&requestEnrolmentEndDateMode=MANUAL&requestEnrolmentEndDate=1431208800000&hasForum=true&hasMessage=false&idCategory=2&idCategory=3&idCategory=4&extendedField[Deportes]=true&extendedField[Actividades extraescolares]=Pintura
{ "external_id": "excourse1", "name": "Curso de diseño gráfico", "description": "Conocimiento básicos sobre diseño gráfico y web", "objectives": "Aprender a hacer sencillas páginas web y worpress", "comments": "Opcional", "evaluationType": "MIN_SCORE", "percentageToPass": 50, "issueCertificate": "PASSED", "startDateMode": "MANUAL", "startDate": 1420844400000, "endDateMode": "MANUAL", "endDate": 1431208800000, "enrolmentPolicy": "REQUEST_ENROLLMENT", "requestEnrolmentStartDate": 1420844400000, "requestEnrolmentEndDateMode": "MANUAL", "requestEnrolmentEndDate": 1431208800000, "hasForum": "true", "hasMessage": "false", "categories": [ {"id": 2}, {"id": 3} ], "extendedFields": [ {"extendedFieldName": "Deportes", "extendedFieldValue": "true"}, {"extendedFieldName": "Actividades extraescolares", "extendedFieldValue": "Pintura"} ] }
Parámetros
- external_id = Id externo (String, obligatorio) Recuerda que por motivos de seguridad, el external_id no puede contener los caracteres \ ni /
- name = Nombre (String, obligatorio)
- description = Descripción (String, opcional)
- objectives = Objetivos (String, opcional)
- comments = Observaciones (String, opcional)
- evaluationType = Sistema de evaluación seleccionado (String, opcional)
- Valores permitidos:
- PASSED_MANDATORY_ACTIVITIES
- MIN_SCORE
- Valores permitidos:
- percentageToPass = Porcentaje de actividades obligatorias para pasar el curso (Integer, obligatorio)
- Valores permitidos:
- Número entre 0 y 100
- Valores permitidos:
- issueCertificate = Expedir certificado (String, opcional)
- Valor por defecto: NO
- Valores permitidos:
- 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
- startDateMode = Tipo fecha de inicio (String, obligatorio)
- Valores permitidos:
- PUBLICATION_DATE --> La fecha de inicio será la fecha de publicación del curso
- MANUAL --> La fecha de inicio se establecerá de forma manual
- Valores permitidos:
- startDate = Fecha de inicio en milisegundos (Long, opcional*)
*obligatoria si startDateMode = MANUAL - endDateMode = Tipo fecha de fin (String, obligatorio)
- Valores permitidos:
- NONE --> Ninguna, el administrador finalizará el curso manualmente
- MANUAL --> La fecha de fin se establecerá de forma manual
- Valores permitidos:
- endDate = Fecha de fin en milisegundos (Long, opcional*)
*obligatoria si endDateMode = MANUAL - enrolmentPolicy = Política de inscripción (String, obligatorio)
- Valores permitidos:
- AUTO_ENROLLMENT --> Auto inscripción
- ADMIN_ENROLLMENT --> Sólo los administradores pueden inscribir alumnos
- REQUEST_ENROLLMENT --> Solicitar inscripción
- Valores permitidos:
- requestEnrolmentStartDate = Fecha de inicio de solicitud de inscripción en milisegundos (Long, opcional*)
*obligatoria si enrolmentPolicy = REQUEST_ENROLLMENT - requestEnrolmentEndDateMode = Tipo de fecha de fin en solicitud de inscripción (String, opcional*)
*obligatoria si enrolmentPolicy = REQUEST_ENROLLMENT- Valores permitidos:
- INHERIT --> Heredada del curso
- MANUAL --> Se establecerá de forma manual
- Valores permitidos:
- requestEnrolmentEndDate = Fecha de fin de solicitud de inscripción en milisegundos (Long, opcional*)
*obligatoria si enrolmentPolicy = REQUEST_ENROLLMENT y requestEnrolmentEndDateMode = MANUAL - hasForum = Tiene sección para el foro (Boolean, opcional)
- Valores permitidos: TRUE / FALSE
- Valor por defecto: FALSE
- Cualquier valor que no sea TRUE, se transformará en FALSE
- hasMessage = Tiene sección para los mensajes (Boolean, opcional)
- Valores permitidos: TRUE / FALSE
- Valor por defecto: FALSE
- Cualquier valor que no sea TRUE, se transformará en FALSE
- idCategory (lista) = Listado de ids para añadir categorías (Long, opcional*) * La lista de categorías reemplaza a la existente.
- externalidCategory (lista) = Listado de ids externos para añadir categorías (String, opcional*) * La lista de categorías reemplaza a la existente.
- extendedField[nombre del campo extendido] (lista) = Nombre y valor de los campos extensibles (clave-valor de Strings, opcional*)
* solo son obligatorios aquellos campos extensibles que estén marcados como obligatorios y no tengan definido ningún valor por defecto. La lista de campos extendidos reemplazará al ya existente, esto puede ocasionar que se borren valores.- Valores permitidos:
- Si el campo extendido es de tipo texto --> cualquier texto
- Si el campo extendido es de tipo entero --> sólo números
- Si el campo extendido es de tipo si/no --> valores "true" o "false"
- Si el campo extendido es de tipo lista de valores --> el identificador correspondiente al valor en la lista
- Valores permitidos:
Validaciones
- Lista de parámetros vacía o algún campo obligatorio sin cubrir --> Error ERR001 / 400 (Bad Request)
- El valor del porcentaje no es válido --> Error CRS001 / 400 (Bad Request)
- El valor del modo de expedición del certificado no es válido --> Error CRS002 / 400 (Bad Request)
- El valor del modo de la fecha de inicio no es válido --> Error CRS003 / 400 (Bad Request)
- El curso está publicado y se cambia la fecha de inicio de manual a fecha de publicación --> Error CRS004 / 400 (Bad Request)
- El valor del modo de la fecha de fin no es válido --> Error CRS005 / 400 (Bad Request)
- El valor de la política de inscripción no es válido --> Error CRS007 / 400 (Bad Request)
- El valor del modo de la fecha de fin de inscripción al curso no es válido --> Error CRS008 / 400 (Bad Request)
- Error añadiendo categorías, alguna no existe --> Error CRS009 / 400 (Bad Request)
- Error añadiendo categorías, no se ha introducido el valor para algún id o id externo --> Error CRS010 / 400 (Bad Request)
- La fecha de inicio de curso es mayor o igual que la fecha de fin de curso --> Error CRS011 / 400 (Bad Request)
- La fecha de inicio de solicitud de inscripción es mayor que la fecha de fin de solicitud de inscripción --> Error CRS012 / 400 (Bad Request)
- La fecha de inicio de solicitud de inscripción es mayor que la fecha de fin de curso --> Error CRS013 / 400 (Bad Request)
- La fecha de fin de solicitud de inscripción es mayor que la fecha de fin de curso --> Error CRS014 / 400 (Bad Request)
- La fecha de inicio de curso es mayor que la fecha de inicio de alguna de sus actividades --> Error CRS015 / 400 (Bad Request)
- La fecha de inicio de curso es mayor que la fecha de fin de alguna de sus actividades --> Error CRS016 / 400 (Bad Request)
- La fecha de fin de curso es menor que la fecha de inicio de alguna de sus actividades --> Error CRS017 / 400 (Bad Request)
- La fecha de fin de curso es menor que la fecha de fin de alguna de sus actividades --> Error CRS018 / 400 (Bad Request)
- La fecha de inicio de curso es mayor que la fecha de inicio de alguna de las sesiones formativas --> Error CRS019 / 400 (Bad Request)
- La fecha de inicio de curso es mayor que la fecha de fin de alguna de las sesiones formativas --> Error CRS020 / 400 (Bad Request)
- La fecha de fin de curso es menor que la fecha de inicio de alguna de las sesiones formativas --> Error CRS021 / 400 (Bad Request)
- La fecha de fin de curso es menor que la fecha de fin de alguna de las sesiones formativas --> Error CRS022 / 400 (Bad Request)
- El valor del campo rateable es incorrecto –> Error CRS041 / 400 (Bad Request)
- El curso no se puede modificar porque está en estado finalizado --> Error CRS023 / 400 (Bad Request)
- Error inesperado al editar el curso --> Error CRS024 / 400 (Bad Request)
- El valor del tipo de sistema de evaluación no es válido --> Error CRS037 / 400 (Bad Request)
- El valor del tipo de sistema de evaluación no se puede cambiar debido a que no hay actividades obligatorias --> Error CRS038 / 400 (Bad Request)
- No se puede editar un curso con convocatorias --> Error CRS050 / 400 (Bad Request)
- El nombre de un campo extensible no existe --> Error DYN001 / 400 (Bad Request)
- El valor de un campo extensible tiene tipo incorrecto --> Error DYN002 / 400 (Bad Request)
- Falta algun campo extensible obligatorio --> Error DYN003 / 400 (Bad Request)
- No se ha incluido el campo obligatorio en la petición y no tiene asignado el valor por defecto
- Se ha incluido el campo en la petición pero se le ha asignado un valor vacío
- External id duplicado --> Error ERR006 / 400 (Bad Request)
- No existe un curso con ese id o id externo --> Error 404 (Not Found)
- Todo OK --> 200 (OK)
Modificar curso (v3)
Se consumirán dos tipos de recursos:
- Content-Type: application/json
- Content-Type: application/x-www-form-urlencoded
application/x-www-form-urlencoded y application/json. Se recomienda usar la versión de json.
Método: PUT
URL:
- Modificar por id:
- /admin/rest/administration/api/courses/id/{id}
- Modificar por external id:
- /admin/rest/administration/api/courses/externalid/{external_id}
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/courses/id/2030
external_id=excourse1&name=Curso de diseño gráfico&description=Conocimiento básicos sobre diseño gráfico y web&objectives=Aprender a hacer sencillas páginas web y worpress&comments=Opcional&evaluationType=MIN_SCORE&percentageToPass=50&issueCertificate=PASSED&startDateMode=MANUAL&startDate=1420844400000&endDateMode=MANUAL&endDate=1431208800000&enrolmentPolicy=REQUEST_ENROLLMENT&requestEnrolmentStartDate=1420844400000&requestEnrolmentEndDateMode=MANUAL&requestEnrolmentEndDate=1431208800000&hasForum=true&hasMessage=false&rateable=ONLY_ENROLMENTS&idCategory=2&idCategory=3&idCategory=4&extendedField[Deportes]=true&extendedField[Actividades extraescolares]=Pintura
{ "external_id": "excourse1", "name": "Curso de diseño gráfico", "description": "Conocimiento básicos sobre diseño gráfico y web", "objectives": "Aprender a hacer sencillas páginas web y worpress", "comments": "Opcional", "evaluationType": "MIN_SCORE", "percentageToPass": 50, "issueCertificate": "PASSED", "startDateMode": "MANUAL", "startDate": 1420844400000, "endDateMode": "MANUAL", "endDate": 1431208800000, "enrolmentPolicy": "REQUEST_ENROLLMENT", "requestEnrolmentStartDate": 1420844400000, "requestEnrolmentEndDateMode": "MANUAL", "requestEnrolmentEndDate": 1431208800000, "hasForum": "true", "hasMessage": "false", "rateable": "ONLY_ENROLMENTS", "categories": [ {"id": 2}, {"id": 3} ], "extendedFields": [ {"extendedFieldName": "Deportes", "extendedFieldValue": "true"}, {"extendedFieldName": "Actividades extraescolares", "extendedFieldValue": "Pintura"} ] }
Parámetros
- external_id = Id externo (String, obligatorio) Recuerda que por motivos de seguridad, el external_id no puede contener los caracteres \ ni /
- name = Nombre (String, obligatorio)
- description = Descripción (String, opcional)
- objectives = Objetivos (String, opcional)
- comments = Observaciones (String, opcional)
- evaluationType = Sistema de evaluación seleccionado (String, opcional)
- Valores permitidos:
- PASSED_MANDATORY_ACTIVITIES
- MIN_SCORE
- Valores permitidos:
- percentageToPass = Porcentaje de actividades obligatorias para pasar el curso (Integer, obligatorio)
- Valores permitidos:
- Número entre 0 y 100
- Valores permitidos:
- issueCertificate = Expedir certificado (String, opcional)
- Valor por defecto: NO
- Valores permitidos:
- 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
- startDateMode = Tipo fecha de inicio (String, obligatorio)
- Valores permitidos:
- PUBLICATION_DATE --> La fecha de inicio será la fecha de publicación del curso
- MANUAL --> La fecha de inicio se establecerá de forma manual
- Valores permitidos:
- startDate = Fecha de inicio en milisegundos (Long, opcional*)
*obligatoria si startDateMode = MANUAL - endDateMode = Tipo fecha de fin (String, obligatorio)
- Valores permitidos:
- NONE --> Ninguna, el administrador finalizará el curso manualmente
- MANUAL --> La fecha de fin se establecerá de forma manual
- Valores permitidos:
- endDate = Fecha de fin en milisegundos (Long, opcional*)
*obligatoria si endDateMode = MANUAL - enrolmentPolicy = Política de inscripción (String, obligatorio)
- Valores permitidos:
- AUTO_ENROLLMENT --> Auto inscripción
- ADMIN_ENROLLMENT --> Sólo los administradores pueden inscribir alumnos
- REQUEST_ENROLLMENT --> Solicitar inscripción
- Valores permitidos:
- requestEnrolmentStartDate = Fecha de inicio de solicitud de inscripción en milisegundos (Long, opcional*)
*obligatoria si enrolmentPolicy = REQUEST_ENROLLMENT - requestEnrolmentEndDateMode = Tipo de fecha de fin en solicitud de inscripción (String, opcional*)
*obligatoria si enrolmentPolicy = REQUEST_ENROLLMENT- Valores permitidos:
- INHERIT --> Heredada del curso
- MANUAL --> Se establecerá de forma manual
- Valores permitidos:
- requestEnrolmentEndDate = Fecha de fin de solicitud de inscripción en milisegundos (Long, opcional*)
*obligatoria si enrolmentPolicy = REQUEST_ENROLLMENT y requestEnrolmentEndDateMode = MANUAL - hasForum = Tiene sección para el foro (Boolean, opcional)
- Valores permitidos: TRUE / FALSE
- Valor por defecto: FALSE
- Cualquier valor que no sea TRUE, se transformará en FALSE
- hasMessage = Tiene sección para los mensajes (Boolean, opcional)
- Valores permitidos: TRUE / FALSE
- Valor por defecto: FALSE
- Cualquier valor que no sea TRUE, se transformará en FALSE
- rateable = Curso valorable por los alumnos o no valorable (String, opcional)
- Valores permitidos:
- NONE : no valorable
- ONLY_ENROLMENTS : los alumnos inscritos pueden valorar el curso
- Valor por defecto: NONE
- Valores permitidos:
- idCategory (lista) = Listado de ids para añadir categorías (Long, opcional*) * La lista de categorías reemplaza a la existente.
- externalidCategory (lista) = Listado de ids externos para añadir categorías (String, opcional*) * La lista de categorías reemplaza a la existente.
- extendedField[nombre del campo extendido] (lista) = Nombre y valor de los campos extensibles (clave-valor de Strings, opcional*)
* solo son obligatorios aquellos campos extensibles que estén marcados como obligatorios y no tengan definido ningún valor por defecto. La lista de campos extendidos reemplazará al ya existente, esto puede ocasionar que se borren valores.- Valores permitidos:
- Si el campo extendido es de tipo texto --> cualquier texto
- Si el campo extendido es de tipo entero --> sólo números
- Si el campo extendido es de tipo si/no --> valores "true" o "false"
- Si el campo extendido es de tipo lista de valores --> el identificador correspondiente al valor en la lista
- Valores permitidos:
Validaciones
- Lista de parámetros vacía o algún campo obligatorio sin cubrir --> Error ERR001 / 400 (Bad Request)
- El valor del porcentaje no es válido --> Error CRS001 / 400 (Bad Request)
- El valor del modo de expedición del certificado no es válido --> Error CRS002 / 400 (Bad Request)
- El valor del modo de la fecha de inicio no es válido --> Error CRS003 / 400 (Bad Request)
- El curso está publicado y se cambia la fecha de inicio de manual a fecha de publicación --> Error CRS004 / 400 (Bad Request)
- El valor del modo de la fecha de fin no es válido --> Error CRS005 / 400 (Bad Request)
- El valor de la política de inscripción no es válido --> Error CRS007 / 400 (Bad Request)
- El valor del modo de la fecha de fin de inscripción al curso no es válido --> Error CRS008 / 400 (Bad Request)
- Error añadiendo categorías, alguna no existe --> Error CRS009 / 400 (Bad Request)
- Error añadiendo categorías, no se ha introducido el valor para algún id o id externo --> Error CRS010 / 400 (Bad Request)
- La fecha de inicio de curso es mayor o igual que la fecha de fin de curso --> Error CRS011 / 400 (Bad Request)
- La fecha de inicio de solicitud de inscripción es mayor que la fecha de fin de solicitud de inscripción --> Error CRS012 / 400 (Bad Request)
- La fecha de inicio de solicitud de inscripción es mayor que la fecha de fin de curso --> Error CRS013 / 400 (Bad Request)
- La fecha de fin de solicitud de inscripción es mayor que la fecha de fin de curso --> Error CRS014 / 400 (Bad Request)
- La fecha de inicio de curso es mayor que la fecha de inicio de alguna de sus actividades --> Error CRS015 / 400 (Bad Request)
- La fecha de inicio de curso es mayor que la fecha de fin de alguna de sus actividades --> Error CRS016 / 400 (Bad Request)
- La fecha de fin de curso es menor que la fecha de inicio de alguna de sus actividades --> Error CRS017 / 400 (Bad Request)
- La fecha de fin de curso es menor que la fecha de fin de alguna de sus actividades --> Error CRS018 / 400 (Bad Request)
- La fecha de inicio de curso es mayor que la fecha de inicio de alguna de las sesiones formativas --> Error CRS019 / 400 (Bad Request)
- La fecha de inicio de curso es mayor que la fecha de fin de alguna de las sesiones formativas --> Error CRS020 / 400 (Bad Request)
- La fecha de fin de curso es menor que la fecha de inicio de alguna de las sesiones formativas --> Error CRS021 / 400 (Bad Request)
- La fecha de fin de curso es menor que la fecha de fin de alguna de las sesiones formativas --> Error CRS022 / 400 (Bad Request)
- El curso no se puede modificar porque está en estado finalizado --> Error CRS023 / 400 (Bad Request)
- Error inesperado al editar el curso --> Error CRS024 / 400 (Bad Request)
- El valor del tipo de sistema de evaluación no es válido --> Error CRS037 / 400 (Bad Request)
- El valor del tipo de sistema de evaluación no se puede cambiar debido a que no hay actividades obligatorias --> Error CRS038 / 400 (Bad Request)
- No se puede editar un curso con convocatorias --> Error CRS050 / 400 (Bad Request)
- El nombre de un campo extensible no existe --> Error DYN001 / 400 (Bad Request)
- El valor de un campo extensible tiene tipo incorrecto --> Error DYN002 / 400 (Bad Request)
- Falta algun campo extensible obligatorio --> Error DYN003 / 400 (Bad Request)
- No se ha incluido el campo obligatorio en la petición y no tiene asignado el valor por defecto
- Se ha incluido el campo en la petición pero se le ha asignado un valor vacío
- External id duplicado --> Error ERR006 / 400 (Bad Request)
- No existe un curso con ese id o id externo --> Error 404 (Not Found)
- Todo OK --> 200 (OK)
Modificar curso (v4)
Esta versión SOLAMENTE lleva la entrada con Content-Type: application/json
En las versiones anteriores application/x-www-form-urlencoded ya se había marcado como deprecated.
Método: PUT
URL:
- Modificar por id:
- /admin/rest/administration/api/courses/id/{id}
- Modificar por external id:
- /admin/rest/administration/api/courses/externalid/{external_id}
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/courses/id/2030
{ "parent": { "parentExternal_id": "ext_3537", "name": "Curso parent", "description": "", "comments": "", "objectives": "", "issueCertificate": "PASSED", "evaluationType": "PASSED_MANDATORY_ACTIVITIES", "percentageToPass": 100, "hasForum": false, "hasMessage": false, "hasReminder": false, "hasStartReminder": true, "hasEditions": true, "recogniseEditions": false }, "external_id": "ext3538", "editionName": "Curso convocatoria", "startDateMode": "MANUAL", "endDateMode": "MANUAL", "studentAvailableDays": null, "enrolmentPolicy": "AUTO_ENROLLMENT", "categories": [ {"id": 2}, {"id": 3} ], "extendedFields": [ {"extendedFieldName": "Deportes", "extendedFieldValue": "true"}, {"extendedFieldName": "Actividades extraescolares", "extendedFieldValue": "Pintura"} ], "capacity": 22, "startDate": 1536710400000, "endDate": 1538179199000, "requestEnrolmentEndDate": 1537488059000, "requestEnrolmentEndDateMode": "MANUAL", "rateable": "ONLY_ENROLMENTS" }
Cabeceras
NLC-limitAccessDate. Opcional, valores permitidos: recalculate
Si esta cabecera tiene el valor recalculate se recalculará la fecha límite de acceso para cada alumno del curso en función del campo studentAvailableDays y de la fecha de primer acceso. Mismo comportamiento que el check que hay en la interfaz de central.
Parámetros
Campos específicos del parent:
- parentExternal_id = Id externo del padre (String, obligatorio) Recuerda que por motivos de seguridad, el external_id no puede contener los caracteres \ ni /
- name = Nombre del parent (String, obligatorio)
- description = Descripción (String, opcional)
- objectives = Objetivos (String, opcional)
- comments = Observaciones (String, opcional)
- evaluationType = Sistema de evaluación seleccionado (String, opcional)
- Valores permitidos:
- PASSED_MANDATORY_ACTIVITIES
- MIN_SCORE
- Valores permitidos:
- issueCertificate = Expedir certificado (String, opcional)
- Valor por defecto: NO
- Valores permitidos:
- 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
- percentageToPass = Porcentaje de actividades obligatorias para pasar el curso (Integer, obligatorio)
- Valores permitidos:
- Número entre 0 y 100
- Valores permitidos:
- hasForum = Tiene sección para el foro (Boolean, opcional)
- Valores permitidos: TRUE / FALSE
- Valor por defecto: FALSE
- Cualquier valor que no sea TRUE, se transformará en FALSE
- hasMessage = Tiene sección para los mensajes (Boolean, opcional)
- Valores permitidos: TRUE / FALSE
- Valor por defecto: FALSE
- hasReminder = Activar recordatorio a usuarios que llevan un tiempo sin acceder (Boolean, opcional)
- Valores permitidos: TRUE / FALSE
- Valor por defecto: FALSE
- Cualquier valor que no sea TRUE, se transformará en FALSE
- hasStartReminder = Activar recordatorios de la fecha de inicio del curso (Boolean, opcional)
- Valores permitidos: TRUE / FALSE
- Valor por defecto: FALSE
- Cualquier valor que no sea TRUE, se transformará en 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
Campos específicos de una convocatoria:
- external_id = Id externo (String, obligatorio) Recuerda que por motivos de seguridad, el external_id no puede contener los caracteres \ ni /
- editionName = Nombre (String, obligatorio)
- startDateMode = Tipo fecha de inicio (String, obligatorio)
- Valores permitidos:
- PUBLICATION_DATE --> La fecha de inicio será la fecha de publicación del curso
- MANUAL --> La fecha de inicio se establecerá de forma manual
- Valores permitidos:
- startDate = Fecha de inicio en milisegundos (Long, opcional*)
- *obligatoria si startDateMode = MANUAL
- endDateMode = Tipo fecha de fin (String, obligatorio)
- Valores permitidos:
- 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
- Valores permitidos:
- 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 de fin en milisegundos (Long, opcional*)
- *obligatoria si endDateMode = MANUAL
- enrolmentPolicy = Política de inscripción (String, obligatorio)
- Valores permitidos:
- AUTO_ENROLLMENT --> Auto inscripción
- ADMIN_ENROLLMENT --> Sólo los administradores pueden inscribir alumnos
- REQUEST_ENROLLMENT --> Solicitar inscripción
- Valores permitidos:
- requestEnrolmentStartDate = Fecha de inicio de solicitud de inscripción en milisegundos (Long, opcional*)
- *obligatoria si enrolmentPolicy = REQUEST_ENROLLMENT
- requestEnrolmentEndDateMode = Tipo de fecha de fin en solicitud de inscripción (String, opcional*)
- *obligatoria si enrolmentPolicy = REQUEST_ENROLLMENT
- Valores permitidos:
- INHERIT --> Heredada del curso
- MANUAL --> Se establecerá de forma manual
- requestEnrolmentEndDate = Fecha de fin de solicitud de inscripción en milisegundos (Long, opcional*)
- *obligatoria si enrolmentPolicy = REQUEST_ENROLLMENT y requestEnrolmentEndDateMode = MANUAL
- rateable = Curso valorable por los alumnos o no valorable (String, opcional)
- Valores permitidos:
- NONE : no valorable
- ONLY_ENROLMENTS : los alumnos inscritos pueden valorar el curso
- Valor por defecto: NONE
- Valores permitidos:
- categories(lista) = Listado de ids para añadir categorías (Long, opcional*) * La lista de categorías reemplaza a la existente.
- externalidCategory (lista) = Listado de ids externos para añadir categorías (String, opcional*) * La lista de categorías reemplaza a la existente.
- capacity = Máximo aforo para una convocatoria (Integer, opcional)
extendedFields[nombre del campo extendido] (lista) = Nombre y valor de los campos extensibles (clave-valor de Strings, opcional*)
* solo son obligatorios aquellos campos extensibles que estén marcados como obligatorios y no tengan definido ningún valor por defecto. La lista de campos extendidos reemplazará al ya existente, esto puede ocasionar que se borren valores.
- Valores permitidos:
- Si el campo extendido es de tipo texto --> cualquier texto
- Si el campo extendido es de tipo entero --> sólo números
- Si el campo extendido es de tipo si/no --> valores "true" o "false"
- Si el campo extendido es de tipo lista de valores --> el identificador correspondiente al valor en la lista
Validaciones
- Lista de parámetros vacía o algún campo obligatorio sin cubrir --> Error ERR001 / 400 (Bad Request)
- El valor del porcentaje no es válido --> Error CRS001 / 400 (Bad Request)
- El valor del modo de expedición del certificado no es válido --> Error CRS002 / 400 (Bad Request)
- El valor del modo de la fecha de inicio no es válido --> Error CRS003 / 400 (Bad Request)
- El curso está publicado y se cambia la fecha de inicio de manual a fecha de publicación --> Error CRS004 / 400 (Bad Request)
- El valor del modo de la fecha de fin no es válido --> Error CRS005 / 400 (Bad Request)
- El valor de la política de inscripción no es válido --> Error CRS007 / 400 (Bad Request)
- El valor del modo de la fecha de fin de inscripción al curso no es válido --> Error CRS008 / 400 (Bad Request)
- Error añadiendo categorías, alguna no existe --> Error CRS009 / 400 (Bad Request)
- Error añadiendo categorías, no se ha introducido el valor para algún id o id externo --> Error CRS010 / 400 (Bad Request)
- La fecha de inicio de curso es mayor o igual que la fecha de fin de curso --> Error CRS011 / 400 (Bad Request)
- La fecha de inicio de solicitud de inscripción es mayor que la fecha de fin de solicitud de inscripción --> Error CRS012 / 400 (Bad Request)
- La fecha de inicio de solicitud de inscripción es mayor que la fecha de fin de curso --> Error CRS013 / 400 (Bad Request)
- La fecha de fin de solicitud de inscripción es mayor que la fecha de fin de curso --> Error CRS014 / 400 (Bad Request)
- La fecha de inicio de curso es mayor que la fecha de inicio de alguna de sus actividades --> Error CRS015 / 400 (Bad Request)
- La fecha de inicio de curso es mayor que la fecha de fin de alguna de sus actividades --> Error CRS016 / 400 (Bad Request)
- La fecha de fin de curso es menor que la fecha de inicio de alguna de sus actividades --> Error CRS017 / 400 (Bad Request)
- La fecha de fin de curso es menor que la fecha de fin de alguna de sus actividades --> Error CRS018 / 400 (Bad Request)
- La fecha de inicio de curso es mayor que la fecha de inicio de alguna de las sesiones formativas --> Error CRS019 / 400 (Bad Request)
- La fecha de inicio de curso es mayor que la fecha de fin de alguna de las sesiones formativas --> Error CRS020 / 400 (Bad Request)
- La fecha de fin de curso es menor que la fecha de inicio de alguna de las sesiones formativas --> Error CRS021 / 400 (Bad Request)
- La fecha de fin de curso es menor que la fecha de fin de alguna de las sesiones formativas --> Error CRS022 / 400 (Bad Request)
- El curso no se puede modificar porque está en estado finalizado --> Error CRS023 / 400 (Bad Request)
- Error inesperado al editar el curso --> Error CRS024 / 400 (Bad Request)
- El valor del tipo de sistema de evaluación no es válido --> Error CRS037 / 400 (Bad Request)
- El valor del tipo de sistema de evaluación no se puede cambiar debido a que no hay actividades obligatorias --> Error CRS038 / 400 (Bad Request)
- El valor de convalidación de convocatorias no se puede poner a true si el curso no tiene convocatorias --> Error ERROR_CRS045 / 400 (Bad Request)
- El valor de capacidad debe de ser mayor que cero --> Error ERROR_CRS048 / 400 (Bad Request)
- No se puede desactivar las convocatorias en un curso que ya estaba configurado para tener convocatorias --> Error ERROR_CRS049 / 400 (Bad Request)
- El valor de los días de disponibilidad del alumno no son válidos -> Error CRS52 (Bad Request)
- El nombre de un campo extensible no existe --> Error DYN001 / 400 (Bad Request)
- El valor de un campo extensible tiene tipo incorrecto --> Error DYN002 / 400 (Bad Request)
- Falta algun campo extensible obligatorio --> Error DYN003 / 400 (Bad Request)
- No se ha incluido el campo obligatorio en la petición y no tiene asignado el valor por defecto
- Se ha incluido el campo en la petición pero se le ha asignado un valor vacío
- External id duplicado --> Error ERR006 / 400 (Bad Request)
- No existe un curso con ese id o id externo --> Error 404 (Not Found)
- Todo OK --> 200 (OK)
Modificar curso (v6)
Esta versión SOLAMENTE lleva la entrada con Content-Type: application/json En las versiones anteriores application/x-www-form-urlencoded ya se había marcado como deprecated. Para un curso de plan, se permitirá, al igual que a través del método PATCH de curso, únicamente actualizar los campos extendidos. |
Método: PUT
URL:
- Modificar por id:
- /admin/rest/administration/api/courses/id/{id}
- Modificar por external id:
- /admin/rest/administration/api/courses/externalid/{external_id}
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/courses/id/2030
BODY - application/json
{ "parent" : { "parentExternal_id" : "ext_3537" , "name" : "Curso parent" , "description" : "" , "comments" : "" , "objectives" : "" , "issueCertificate" : "PASSED" , "evaluationType" : "PASSED_MANDATORY_ACTIVITIES" , "percentageToPass" : 100, "hasForum" : false , "hasMessage" : false , "hasReminder" : false , "hasStartReminder" : true , "hasEditions" : true , "recogniseEditions" : false }, "external_id" : "ext3538" , "editionName" : "Curso convocatoria" , "startDateMode" : "MANUAL" , "endDateMode" : "MANUAL" , "studentAvailableDays" : null , "enrolmentPolicy" : "AUTO_ENROLLMENT" , "categories" : [ { "id" : 2}, { "id" : 3} ], "extendedFields" : [ { "extendedFieldName" : "Deportes" , "extendedFieldValue" : "true" }, { "extendedFieldName" : "Actividades extraescolares" , "extendedFieldValue" : "Pintura" } ], "capacity" : 22, "startDate" : 1536710400000, "endDate" : 1538179199000, "requestEnrolmentEndDate" : 1537488059000, "requestEnrolmentEndDateMode" : "MANUAL" , "rateable" : "ONLY_ENROLMENTS" , "hasLink" : false } |
Cabeceras
NLC-limitAccessDate. Opcional, valores permitidos: recalculate
Si esta cabecera tiene el valor recalculate se recalculará la fecha límite de acceso para cada alumno del curso en función del campo studentAvailableDays y de la fecha de primer acceso. Mismo comportamiento que el check que hay en la interfaz de central.
Parámetros
Campos específicos del parent:
- parentExternal_id = Id externo del padre (String, opcional) Recuerda que por motivos de seguridad, el external_id no puede contener los caracteres \ ni /
- name = Nombre del parent (String, obligatorio)
- description = Descripción (String, opcional)
- objectives = Objetivos (String, opcional)
- comments = Observaciones (String, opcional)
- evaluationType = Sistema de evaluación seleccionado (String, obligatorio)
- Valores permitidos:
- PASSED_MANDATORY_ACTIVITIES
- MIN_SCORE
- Valores permitidos:
- issueCertificate = Expedir certificado (String, opcional)
- Valor por defecto: NO
- Valores permitidos:
- 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
- percentageToPass = Porcentaje de actividades obligatorias para pasar el curso (Integer, obligatorio)
- Valores permitidos:
- Número entre 0 y 100
- Valores permitidos:
- hasForum = Tiene sección para el foro (Boolean, opcional)
- Valores permitidos: TRUE / FALSE
- Valor por defecto: FALSE
- Cualquier valor que no sea TRUE, se transformará en FALSE
- hasMessage = Tiene sección para los mensajes (Boolean, opcional)
- Valores permitidos: TRUE / FALSE
- Valor por defecto: FALSE
- hasReminder = Activar recordatorio a usuarios que llevan un tiempo sin acceder (Boolean, opcional)
- Valores permitidos: TRUE / FALSE
- Valor por defecto: FALSE
- Cualquier valor que no sea TRUE, se transformará en FALSE
- hasStartReminder = Activar recordatorios de la fecha de inicio del curso (Boolean, opcional)
- Valores permitidos: TRUE / FALSE
- Valor por defecto: FALSE
- Cualquier valor que no sea TRUE, se transformará en 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
Campos específicos de una convocatoria:
- external_id = Id externo (String, opcional) Recuerda que por motivos de seguridad, el external_id no puede contener los caracteres \ ni /
- editionName = Nombre (String, obligatorio/sólo si es una convocatoria)
- startDateMode = Tipo fecha de inicio (String, obligatorio)
- Valores permitidos:
- PUBLICATION_DATE --> La fecha de inicio será la fecha de publicación del curso
- MANUAL --> La fecha de inicio se establecerá de forma manual
- Valores permitidos:
- startDate = Fecha de inicio en milisegundos (Long, opcional*)
- *obligatoria si startDateMode = MANUAL
- endDateMode = Tipo fecha de fin (String, obligatorio)
- Valores permitidos:
- 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
- Valores permitidos:
- 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 de fin en milisegundos (Long, opcional*)
- *obligatoria si endDateMode = MANUAL
- enrolmentPolicy = Política de inscripción (String, obligatorio)
- Valores permitidos:
- AUTO_ENROLLMENT --> Auto inscripción
- ADMIN_ENROLLMENT --> Sólo los administradores pueden inscribir alumnos
- REQUEST_ENROLLMENT --> Solicitar inscripción
- Valores permitidos:
- requestEnrolmentStartDate = Fecha de inicio de solicitud de inscripción en milisegundos (Long, opcional*)
- *obligatoria si enrolmentPolicy = REQUEST_ENROLLMENT
- requestEnrolmentEndDateMode = Tipo de fecha de fin en solicitud de inscripción (String, opcional*)
- *obligatoria si enrolmentPolicy = REQUEST_ENROLLMENT
- Valores permitidos:
- INHERIT --> Heredada del curso
- MANUAL --> Se establecerá de forma manual
- requestEnrolmentEndDate = Fecha de fin de solicitud de inscripción en milisegundos (Long, opcional*)
- *obligatoria si enrolmentPolicy = REQUEST_ENROLLMENT y requestEnrolmentEndDateMode = MANUAL
- rateable = Curso valorable por los alumnos o no valorable (String, opcional)
- Valores permitidos:
- NONE : no valorable
- ONLY_ENROLMENTS : los alumnos inscritos pueden valorar el curso
- Valor por defecto: NONE
- Valores permitidos:
- categories(lista) = Listado de ids para añadir categorías (Long, opcional*) * La lista de categorías reemplaza a la existente.
- externalidCategory (lista) = Listado de ids externos para añadir categorías (String, opcional*) * La lista de categorías reemplaza a la existente.
- capacity = Máximo aforo para una convocatoria (Integer, opcional)
- hasLink = Tiene sección para los enlaces externos (Boolean, opcional)
- Valores permitidos: TRUE / FALSE
- Valor por defecto: FALSE
- Cualquier valor que no sea TRUE, se transformará en FALSE
extendedFields[nombre del campo extendido] (lista) = Nombre y valor de los campos extensibles (clave-valor de Strings, opcional*)
* solo son obligatorios aquellos campos extensibles que estén marcados como obligatorios y no tengan definido ningún valor por defecto. La lista de campos extendidos reemplazará al ya existente, esto puede ocasionar que se borren valores.
- Valores permitidos:
- Si el campo extendido es de tipo texto --> cualquier texto
- Si el campo extendido es de tipo entero --> sólo números
- Si el campo extendido es de tipo si/no --> valores "true" o "false"
- Si el campo extendido es de tipo lista de valores --> el identificador correspondiente al valor en la lista
Validaciones
Lista de parámetros vacía o algún campo obligatorio sin cubrir --> Error ERR001 / 400 (Bad Request)
El valor del porcentaje no es válido --> Error CRS001 / 400 (Bad Request)
El valor del modo de expedición del certificado no es válido --> Error CRS002 / 400 (Bad Request)
El valor del modo de la fecha de inicio no es válido --> Error CRS003 / 400 (Bad Request)
El curso está publicado y se cambia la fecha de inicio de manual a fecha de publicación --> Error CRS004 / 400 (Bad Request)
El valor del modo de la fecha de fin no es válido --> Error CRS005 / 400 (Bad Request)
El valor de la política de inscripción no es válido --> Error CRS007 / 400 (Bad Request)
El valor del modo de la fecha de fin de inscripción al curso no es válido --> Error CRS008 / 400 (Bad Request)
Error añadiendo categorías, alguna no existe --> Error CRS009 / 400 (Bad Request)
Error añadiendo categorías, no se ha introducido el valor para algún id o id externo --> Error CRS010 / 400 (Bad Request)
La fecha de inicio de curso es mayor o igual que la fecha de fin de curso --> Error CRS011 / 400 (Bad Request)
La fecha de inicio de solicitud de inscripción es mayor que la fecha de fin de solicitud de inscripción --> Error CRS012 / 400 (Bad Request)
La fecha de inicio de solicitud de inscripción es mayor que la fecha de fin de curso --> Error CRS013 / 400 (Bad Request)
La fecha de fin de solicitud de inscripción es mayor que la fecha de fin de curso --> Error CRS014 / 400 (Bad Request)
La fecha de inicio de curso es mayor que la fecha de inicio de alguna de sus actividades --> Error CRS015 / 400 (Bad Request)
La fecha de inicio de curso es mayor que la fecha de fin de alguna de sus actividades --> Error CRS016 / 400 (Bad Request)
La fecha de fin de curso es menor que la fecha de inicio de alguna de sus actividades --> Error CRS017 / 400 (Bad Request)
La fecha de fin de curso es menor que la fecha de fin de alguna de sus actividades --> Error CRS018 / 400 (Bad Request)
La fecha de inicio de curso es mayor que la fecha de inicio de alguna de las sesiones formativas --> Error CRS019 / 400 (Bad Request)
La fecha de inicio de curso es mayor que la fecha de fin de alguna de las sesiones formativas --> Error CRS020 / 400 (Bad Request)
La fecha de fin de curso es menor que la fecha de inicio de alguna de las sesiones formativas --> Error CRS021 / 400 (Bad Request)
La fecha de fin de curso es menor que la fecha de fin de alguna de las sesiones formativas --> Error CRS022 / 400 (Bad Request)
El curso no se puede modificar porque está en estado finalizado --> Error CRS023 / 400 (Bad Request)
Error inesperado al editar el curso --> Error CRS024 / 400 (Bad Request)
El valor del tipo de sistema de evaluación no es válido --> Error CRS037 / 400 (Bad Request)
El valor del tipo de sistema de evaluación no se puede cambiar debido a que no hay actividades obligatorias --> Error CRS038 / 400 (Bad Request)
El valor de convalidación de convocatorias no se puede poner a true si el curso no tiene convocatorias --> Error ERROR_CRS045 / 400 (Bad Request)
El valor de capacidad debe de ser mayor que cero --> Error ERROR_CRS048 / 400 (Bad Request)
No se puede desactivar las convocatorias en un curso que ya estaba configurado para tener convocatorias --> Error ERROR_CRS049 / 400 (Bad Request)
El valor de los días de disponibilidad del alumno no son válidos -> Error CRS52 (Bad Request)
El nombre de un campo extensible no existe --> Error DYN001 / 400 (Bad Request)
El valor de un campo extensible tiene tipo incorrecto --> Error DYN002 / 400 (Bad Request)
Falta algun campo extensible obligatorio --> Error DYN003 / 400 (Bad Request)
- No se ha incluido el campo obligatorio en la petición y no tiene asignado el valor por defecto
- Se ha incluido el campo en la petición pero se le ha asignado un valor vacío
External id duplicado --> Error ERR006 / 400 (Bad Request)
Únicamente se pueden actualizar campos extendidos para cursos de plan --> Error CRS058 / 400 (Bad Request)
No existe un curso con ese id o id externo --> Error 404 (Not Found)
Todo OK --> 200 (OK)
Aplicar diff curso (v2)
Se consumirán recursos tipo json:
Content-Type: application/json
Este método será parecido al de modificar un curso, sólo que aplicando diferencias sobre lo que se quiere cambiar y no enviando todos los datos del curso. Además con este método también se puede modificar el estado de un curso, pero en ese caso sólo se puede modificar el estado y no se permite la modificación de más atributos en la misma petición.
Método: PATCH
Se podría usar un POST incluyendo la cabecera "X-HTTP-Method-Override: PATCH"
URL:
Modificar por id:
- /admin/rest/administration/api/courses/id/{id}
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/courses/id/2030
[ { "op": "replace", "path": "/categories", "value": [{"id":18}] }, { "op": "add", "path": "/external_id", "value": "extId3994" }, { "op": "replace", "path": "/extendedFields", "value": [{"extendedFieldName": "GRUPO_ID", "extendedFieldValue": "111"}] }, { "op": "replace", "path": "/description", "value": "Conocimiento básicos sobre diseño gráfico y web" } ]
[ { "op": "replace", "path": "/status", "value": "PUBLISHED" } ]
Operaciones permitidas
Se permiten las operaciones del RFC-6902. En path se pondría el parámetro a operar.
[{ "op": "test", "path": "/a/b/c", "value": "foo" },
{ "op": "remove", "path": "/a/b/c" },
{ "op": "add", "path": "/a/b/c", "value": [ "foo", "bar" ] },
{ "op": "replace", "path": "/a/b/c", "value": 42 },
{ "op": "move", "from": "/a/b/c", "path": "/a/b/d" },
{ "op": "copy", "from": "/a/b/d", "path": "/a/b/e" }]
Parámetros modificables ("path" y "value" posibles)
status = Nuevo estado del curso (String, opcional**)
- Valores permitidos:
- PUBLISHED = Publicar
- CLOSED = Finalizar
** Si se cambia el estado, no se permite cambiar ningún otro campo del curso
external_id = Id externo (si no lo tenía hay que incluírlo en una operación add)
name = Nombre (String, opcional)
description = Descripción (String, opcional)
objectives = Objetivos (String, opcional)
comments = Observaciones (String, opcional)
evaluationType = Sistema de evaluación seleccionado (String, opcional)
- Valores permitidos:
- PASSED_MANDATORY_ACTIVITIES
- MIN_SCORE
percentageToPass = Porcentaje de actividades obligatorias para pasar el curso (Integer, opcional)
- Valores permitidos:
- Número entre 0 y 100
issueCertificate = Expedir certificado (String, opcional)
- Valor por defecto: NO
- Valores permitidos:
- 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
startDateMode = Tipo fecha de inicio (String, opcional)
- Valores permitidos:
- 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 de inicio en milisegundos (Long, opcional*)
*obligatoria si startDateMode = MANUAL
endDateMode = Tipo fecha de fin (String, opcional)
- Valores permitidos:
- NONE --> Ninguna, el administrador finalizará el curso manualmente
- MANUAL --> La fecha de fin se establecerá de forma manual
endDate = Fecha de fin en milisegundos (Long, opcional*)
*obligatoria si endDateMode = MANUAL
enrolmentPolicy = Política de inscripción (String, opcional)
- Valores permitidos:
- AUTO_ENROLLMENT --> Auto inscripción
- ADMIN_ENROLLMENT --> Sólo los administradores pueden inscribir alumnos
- REQUEST_ENROLLMENT --> Solicitar inscripción
requestEnrolmentStartDate = Fecha de inicio de solicitud de inscripción en milisegundos (Long, opcional*)
*obligatoria si enrolmentPolicy = REQUEST_ENROLLMENT
requestEnrolmentEndDateMode = Tipo de fecha de fin en solicitud de inscripción (String, opcional*)
*obligatoria si enrolmentPolicy = REQUEST_ENROLLMENT
- Valores permitidos:
- INHERIT --> Heredada del curso
- MANUAL --> Se establecerá de forma manual
requestEnrolmentEndDate = Fecha de fin de solicitud de inscripción en milisegundos (Long, opcional*)
*obligatoria si enrolmentPolicy = REQUEST_ENROLLMENT y requestEnrolmentEndDateMode = MANUAL
hasForum = Tiene sección para el foro (Boolean, opcional)
- Valores permitidos: TRUE / FALSE
- Valor por defecto: FALSE
- Cualquier valor que no sea TRUE, se transformará en FALSE
hasMessage = Tiene sección para los mensajes (Boolean, opcional)
- Valores permitidos: TRUE / FALSE
- Valor por defecto: FALSE
- Cualquier valor que no sea TRUE, se transformará en FALSE
hasReminder = Activar recordatorio a usuarios que llevan un tiempo sin acceder (Boolean, opcional)
- Valores permitidos: TRUE / FALSE
- Valor por defecto: FALSE
- Cualquier valor que no sea TRUE, se transformará en FALSE
hasStartReminder = Activar recordatorios de la fecha de inicio del curso (Boolean, opcional)
- Valores permitidos: TRUE / FALSE
- Valor por defecto: FALSE
- Cualquier valor que no sea TRUE, se transformará en FALSE
categories (lista) = Listado de categorías para añadir (opcional*) * La lista de categorías reemplaza a la existente(da igual las operaciones de add o replace, sólo tiene en cuenta la nueva lista que se le pasa). Se pueden añadir categorías con "id" o con "external_id" [{"id":valorNumérico},{"external_id": "idExterno"}]
extendedFields (lista) = Nombre y valor de los campos extensibles ({"extendedFieldName": "NombreDelCampoExteindido", "extendedFieldValue": "ValorDelCampoExtendido"}, obligatorio*)
* solo son obligatorios aquellos campos extensibles que estén marcados como obligatorios y no tengan definido ningún valor por defecto. La lista de campos extendidos reemplazará al ya existente (da igual las operaciones de add o replace, sólo tiene en cuenta la nueva lista que se le pasa), esto puede ocasionar que se borren valores.
- Valores permitidos:
- Si el campo extendido es de tipo texto --> cualquier texto
- Si el campo extendido es de tipo entero --> sólo números
- Si el campo extendido es de tipo si/no --> valores "true" o "false"
- Si el campo extendido es de tipo lista de valores --> el identificador correspondiente al valor en la lista
Opciones
Ésto no es estándar y la detectamos específicamente en este caso, si se incluyen para cualquier otro caso simplemente sarán ignoradas.
Cuando añadimos una operación que cambie el estado del curso a CLOSED, podemos agregarle a mayores una opción con el valor "keepEndDate" si deseamos que mantenga la fecha fin configurada y no la sobreescriba con la actual (Para cursos con fecha fin manual).
Ejemplo:
[ { "op": "replace", "path": "/status", "value": "CLOSED", "option": "keepEndDate" } ]
Validaciones
- Las mismas que en "Modificar curso (v2)" si se cambian valores del curso (salvo status).
- Las mismas que en "Cambiar el estado de un curso" si se cambia el valor de status.
- Se ha modificado el campo status y otros valores de curso --> Error CSR039 / 400 (Bad Request).
- Json de operaciones de diferencias incorrecto (verbos no permitidos, path incorrecto, valores no permitidos) --> Error CSR040 / 400 (Bad Request).
Aplicar diff curso (v3)
Se consumirán recursos tipo json:
Content-Type: application/json
Este método será parecido al de modificar un curso, sólo que aplicando diferencias sobre lo que se quiere cambiar y no enviando todos los datos del curso. Además con este método también se puede modificar el estado de un curso, pero en ese caso sólo se puede modificar el estado y no se permite la modificación de más atributos en la misma petición.
Método: PATCH
Se podría usar un POST incluyendo la cabecera "X-HTTP-Method-Override: PATCH"
URL:
Modificar por id:
- /admin/rest/administration/api/courses/id/{id}
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/courses/id/2030
[ { "op": "replace", "path": "/categories", "value": [{"id":18}] }, { "op": "add", "path": "/external_id", "value": "extId3994" }, { "op": "replace", "path": "/extendedFields", "value": [{"extendedFieldName": "GRUPO_ID", "extendedFieldValue": "111"}] }, { "op": "replace", "path": "/description", "value": "Conocimiento básicos sobre diseño gráfico y web" } ]
[ { "op": "replace", "path": "/status", "value": "PUBLISHED" } ]
Operaciones permitidas
Se permiten las operaciones del RFC-6902. En path se pondría el parámetro a operar.
[{ "op": "test", "path": "/a/b/c", "value": "foo" },
{ "op": "remove", "path": "/a/b/c" },
{ "op": "add", "path": "/a/b/c", "value": [ "foo", "bar" ] },
{ "op": "replace", "path": "/a/b/c", "value": 42 },
{ "op": "move", "from": "/a/b/c", "path": "/a/b/d" },
{ "op": "copy", "from": "/a/b/d", "path": "/a/b/e" }]
Parámetros modificables ("path" y "value" posibles)
status = Nuevo estado del curso (String, opcional**)
- Valores permitidos:
- PUBLISHED = Publicar
- CLOSED = Finalizar
** Si se cambia el estado, no se permite cambiar ningún otro campo del curso
external_id = Id externo (si no lo tenía hay que incluírlo en una operación add)
name = Nombre (String, opcional)
description = Descripción (String, opcional)
objectives = Objetivos (String, opcional)
comments = Observaciones (String, opcional)
evaluationType = Sistema de evaluación seleccionado (String, opcional)
- Valores permitidos:
- PASSED_MANDATORY_ACTIVITIES
- MIN_SCORE
percentageToPass = Porcentaje de actividades obligatorias para pasar el curso (Integer, opcional)
- Valores permitidos:
- Número entre 0 y 100
issueCertificate = Expedir certificado (String, opcional)
- Valor por defecto: NO
- Valores permitidos:
- 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
startDateMode = Tipo fecha de inicio (String, opcional)
- Valores permitidos:
- 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 de inicio en milisegundos (Long, opcional*)
*obligatoria si startDateMode = MANUAL
endDateMode = Tipo fecha de fin (String, opcional)
- Valores permitidos:
- NONE --> Ninguna, el administrador finalizará el curso manualmente
- MANUAL --> La fecha de fin se establecerá de forma manual
endDate = Fecha de fin en milisegundos (Long, opcional*)
*obligatoria si endDateMode = MANUAL
enrolmentPolicy = Política de inscripción (String, opcional)
- Valores permitidos:
- AUTO_ENROLLMENT --> Auto inscripción
- ADMIN_ENROLLMENT --> Sólo los administradores pueden inscribir alumnos
- REQUEST_ENROLLMENT --> Solicitar inscripción
requestEnrolmentStartDate = Fecha de inicio de solicitud de inscripción en milisegundos (Long, opcional*)
*obligatoria si enrolmentPolicy = REQUEST_ENROLLMENT
requestEnrolmentEndDateMode = Tipo de fecha de fin en solicitud de inscripción (String, opcional*)
*obligatoria si enrolmentPolicy = REQUEST_ENROLLMENT
- Valores permitidos:
- INHERIT --> Heredada del curso
- MANUAL --> Se establecerá de forma manual
requestEnrolmentEndDate = Fecha de fin de solicitud de inscripción en milisegundos (Long, opcional*)
*obligatoria si enrolmentPolicy = REQUEST_ENROLLMENT y requestEnrolmentEndDateMode = MANUAL
hasForum = Tiene sección para el foro (Boolean, opcional)
- Valores permitidos: TRUE / FALSE
- Valor por defecto: FALSE
- Cualquier valor que no sea TRUE, se transformará en FALSE
hasMessage = Tiene sección para los mensajes (Boolean, opcional)
- Valores permitidos: TRUE / FALSE
- Valor por defecto: FALSE
- Cualquier valor que no sea TRUE, se transformará en FALSE
hasReminder = Activar recordatorio a usuarios que llevan un tiempo sin acceder (Boolean, opcional)
- Valores permitidos: TRUE / FALSE
- Valor por defecto: FALSE
- Cualquier valor que no sea TRUE, se transformará en FALSE
hasStartReminder = Activar recordatorios de la fecha de inicio del curso (Boolean, opcional)
- Valores permitidos: TRUE / FALSE
- Valor por defecto: FALSE
- Cualquier valor que no sea TRUE, se transformará en FALSE
rateable = Curso valorable por los alumnos o no valorable (String, opcional)
- Valores permitidos:
- NONE : no valorable
- ONLY_ENROLMENTS : los alumnos inscritos pueden valorar el curso
- Valor por defecto: NONE
categories (lista) = Listado de categorías para añadir (opcional*) * La lista de categorías reemplaza a la existente(da igual las operaciones de add o replace, sólo tiene en cuenta la nueva lista que se le pasa). Se pueden añadir categorías con "id" o con "external_id" [{"id":valorNumérico},{"external_id": "idExterno"}]
extendedFields (lista) = Nombre y valor de los campos extensibles ({"extendedFieldName": "NombreDelCampoExteindido", "extendedFieldValue": "ValorDelCampoExtendido"}, obligatorio*)
* solo son obligatorios aquellos campos extensibles que estén marcados como obligatorios y no tengan definido ningún valor por defecto. La lista de campos extendidos reemplazará al ya existente (da igual las operaciones de add o replace, sólo tiene en cuenta la nueva lista que se le pasa), esto puede ocasionar que se borren valores.
- Valores permitidos:
- Si el campo extendido es de tipo texto --> cualquier texto
- Si el campo extendido es de tipo entero --> sólo números
- Si el campo extendido es de tipo si/no --> valores "true" o "false"
- Si el campo extendido es de tipo lista de valores --> el identificador correspondiente al valor en la lista
Opciones
Ésto no es estándar y la detectamos específicamente en este caso, si se incluyen para cualquier otro caso simplemente sarán ignoradas.
Cuando añadimos una operación que cambie el estado del curso a CLOSED, podemos agregarle a mayores una opción con el valor "keepEndDate" si deseamos que mantenga la fecha fin configurada y no la sobreescriba con la actual (Para cursos con fecha fin manual).
Ejemplo:
[ { "op": "replace", "path": "/status", "value": "CLOSED", "option": "keepEndDate" } ]
Validaciones
- Las mismas que en "Modificar curso (v3)" si se cambian valores del curso (salvo status).
- Las mismas que en "Cambiar el estado de un curso" si se cambia el valor de status.
- Se ha modificado el campo status y otros valores de curso --> Error CSR039 / 400 (Bad Request).
- Json de operaciones de diferencias incorrecto (verbos no permitidos, path incorrecto, valores no permitidos) --> Error CSR040 / 400 (Bad Request).
Aplicar diff curso (v4)
Se consumirán recursos tipo json:
Content-Type: application/json
Este método será parecido al de modificar un curso, sólo que aplicando diferencias sobre lo que se quiere cambiar y no enviando todos los datos del curso. Además con este método también se puede modificar el estado de un curso, pero en ese caso sólo se puede modificar el estado y no se permite la modificación de más atributos en la misma petición.
Método: PATCH
Se podría usar un POST incluyendo la cabecera "X-HTTP-Method-Override: PATCH"
URL:
Modificar por id:
- /admin/rest/administration/api/courses/id/{id}
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/courses/id/2030
[ { "op": "replace", "path": "/categories", "value": [{"id":18}] }, { "op": "add", "path": "/external_id", "value": "extId3994" }, { "op": "replace", "path": "/extendedFields", "value": [{"extendedFieldName": "GRUPO_ID", "extendedFieldValue": "111"}] }, { "op": "replace", "path": "/parent/description", "value": "Conocimiento básicos sobre diseño gráfico y web" } ]
[ { "op": "replace", "path": "/status", "value": "PUBLISHED" } ]
Cabeceras
NLC-limitAccessDate. Opcional, valores permitidos: recalculate
Si esta cabecera tiene el valor recalculate se recalculará la fecha límite de acceso para cada alumno del curso en función del campo studentAvailableDays y de la fecha de primer acceso. Mismo comportamiento que el check que hay en la interfaz de central.
Operaciones permitidas
Se permiten las operaciones del RFC-6902. En path se pondría el parámetro a operar.
[{ "op": "test", "path": "/a/b/c", "value": "foo" },
{ "op": "remove", "path": "/a/b/c" },
{ "op": "add", "path": "/a/b/c", "value": [ "foo", "bar" ] },
{ "op": "replace", "path": "/a/b/c", "value": 42 },
{ "op": "move", "from": "/a/b/c", "path": "/a/b/d" },
{ "op": "copy", "from": "/a/b/d", "path": "/a/b/e" }]
Parámetros modificables ("path" y "value" posibles)
Parámetros específicos del parent, para todos ellos se debe de especificar el path parent/nombre del parámetro:
parentExternal_id = Id externo del padre (si no lo tenía hay que incluirlo en una operación add)
name = Nombre del padre (String, opcional)
description = Descripción (String, opcional)
objectives = Objetivos (String, opcional)
comments = Observaciones (String, opcional)
evaluationType = Sistema de evaluación seleccionado (String, opcional)
- Valores permitidos:
- PASSED_MANDATORY_ACTIVITIES
- MIN_SCORE
- Valores permitidos:
percentageToPass = Porcentaje de actividades obligatorias para pasar el curso (Integer, opcional)
- Valores permitidos:
- Número entre 0 y 100
- Valores permitidos:
issueCertificate = Expedir certificado (String, opcional)
- Valor por defecto: NO
- Valores permitidos:
- 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
hasForum = Tiene sección para el foro (Boolean, opcional)
- Valores permitidos: TRUE / FALSE
- Valor por defecto: FALSE
- Cualquier valor que no sea TRUE, se transformará en FALSE
hasMessage = Tiene sección para los mensajes (Boolean, opcional)
- Valores permitidos: TRUE / FALSE
- Valor por defecto: FALSE
- Cualquier valor que no sea TRUE, se transformará en FALSE
hasReminder = Activar recordatorio a usuarios que llevan un tiempo sin acceder (Boolean, opcional)
- Valores permitidos: TRUE / FALSE
- Valor por defecto: FALSE
- Cualquier valor que no sea TRUE, se transformará en FALSE
hasStartReminder = Activar recordatorios de la fecha de inicio del curso (Boolean, opcional)
- Valores permitidos: TRUE / FALSE
- Valor por defecto: FALSE
- Cualquier valor que no sea TRUE, se transformará en 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
Parámetros específicos de la convocatoria:
external_id = Id externo (si no lo tenía hay que incluírlo en una operación add)
status = Nuevo estado del curso (String, opcional**)
- Valores permitidos:
- PUBLISHED = Publicar
- CLOSED = Finalizar
- Valores permitidos:
** Si se cambia el estado, no se permite cambiar ningún otro campo del curso
editionName = Nombre de la convocatoria (String, opcional)
startDateMode = Tipo fecha de inicio (String, opcional)
- Valores permitidos:
- PUBLICATION_DATE --> La fecha de inicio será la fecha de publicación del curso
- MANUAL --> La fecha de inicio se establecerá de forma manual
- Valores permitidos:
startDate = Fecha de inicio en milisegundos (Long, opcional*)
*obligatoria si startDateMode = MANUAL
endDateMode = Tipo fecha de fin (String, opcional)
- Valores permitidos:
- NONE --> Ninguna, el administrador finalizará el curso manualmente
- MANUAL --> La fecha de fin se establecerá de forma manual
- FIRST_ACCESS --> Fecha fin a partir del primer acceso del alumno
- Valores permitidos:
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 de fin en milisegundos (Long, opcional*)
*obligatoria si endDateMode = MANUAL
enrolmentPolicy = Política de inscripción (String, opcional)
- Valores permitidos:
- AUTO_ENROLLMENT --> Auto inscripción
- ADMIN_ENROLLMENT --> Sólo los administradores pueden inscribir alumnos
- REQUEST_ENROLLMENT --> Solicitar inscripción
- Valores permitidos:
requestEnrolmentStartDate = Fecha de inicio de solicitud de inscripción en milisegundos (Long, opcional*)
*obligatoria si enrolmentPolicy = REQUEST_ENROLLMENT
requestEnrolmentEndDateMode = Tipo de fecha de fin en solicitud de inscripción (String, opcional*)
*obligatoria si enrolmentPolicy = REQUEST_ENROLLMENT
- Valores permitidos:
- INHERIT --> Heredada del curso
- MANUAL --> Se establecerá de forma manual
- Valores permitidos:
requestEnrolmentEndDate = Fecha de fin de solicitud de inscripción en milisegundos (Long, opcional*)
*obligatoria si enrolmentPolicy = REQUEST_ENROLLMENT y requestEnrolmentEndDateMode = MANUAL
rateable = Curso valorable por los alumnos o no valorable (String, opcional)
- Valores permitidos:
- NONE : no valorable
- ONLY_ENROLMENTS : los alumnos inscritos pueden valorar el curso
- Valor por defecto: NONE
- Valores permitidos:
categories (lista) = Listado de categorías para añadir (opcional*) * La lista de categorías reemplaza a la existente(da igual las operaciones de add o replace, sólo tiene en cuenta la nueva lista que se le pasa). Se pueden añadir categorías con "id" o con "external_id" [{"id":valorNumérico},{"external_id": "idExterno"}]
extendedFields (lista) = Nombre y valor de los campos extensibles ({"extendedFieldName": "NombreDelCampoExteindido", "extendedFieldValue": "ValorDelCampoExtendido"}, obligatorio*)
* solo son obligatorios aquellos campos extensibles que estén marcados como obligatorios y no tengan definido ningún valor por defecto. La lista de campos extendidos reemplazará al ya existente (da igual las operaciones de add o replace, sólo tiene en cuenta la nueva lista que se le pasa), esto puede ocasionar que se borren valores.
- Valores permitidos:
- Si el campo extendido es de tipo texto --> cualquier texto
- Si el campo extendido es de tipo entero --> sólo números
- Si el campo extendido es de tipo si/no --> valores "true" o "false"
- Si el campo extendido es de tipo lista de valores --> el identificador correspondiente al valor en la lista
- Valores permitidos:
capacity = Máximo aforo de una convocatoria (Integer, opcional)
Opciones
Ésto no es estándar y la detectamos específicamente en este caso, si se incluyen para cualquier otro caso simplemente sarán ignoradas.
Cuando añadimos una operación que cambie el estado del curso a CLOSED, podemos agregarle a mayores una opción con el valor "keepEndDate" si deseamos que mantenga la fecha fin configurada y no la sobreescriba con la actual (Para cursos con fecha fin manual).
Ejemplo:
[ { "op": "replace", "path": "/status", "value": "CLOSED", "option": "keepEndDate" } ]
Validaciones
- Las mismas que en "Modificar curso (v4)" si se cambian valores del curso (salvo status).
- Las mismas que en "Cambiar el estado de un curso" si se cambia el valor de status.
- Se ha modificado el campo status y otros valores de curso --> Error CSR039 / 400 (Bad Request).
- Json de operaciones de diferencias incorrecto (verbos no permitidos, path incorrecto, valores no permitidos) --> Error CSR040 / 400 (Bad Request).
Cambiar estado de un curso
Método: PUT
URL:
Cambiar estado por id:
- /admin/rest/administration/api/courses/id/{id}/status
Cambiar estado por external id:
- /admin/rest/administration/api/courses/externalid/{external_id}/status
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/courses/id/203/status
value=PUBLISHED
Parámetros
value = Nuevo estado del curso (String, obligatorio)
- Valores permitidos:
- PUBLISHED = Publicar
- CLOSED = Finalizar
Validaciones
- Parámetro value sin cubrir --> Error ERR001 / 400 (Bad Request)
- El estado proporcionado no es válido --> Error CRS029 / 400 (Bad Request)
- El cambio de estado que se intenta hacer no está permitido --> Error CRS030 / 400 (Bad Request)
- No se puede cambiar el estado del curso ya que no tiene ninguna actividad obligatoria --> Error CRS031 / 400 (Bad Request)
- No se puede cambiar el estado del curso ya que se modificaría la fecha de inicio del mismo provocando que supere a la fecha de inicio de alguna de sus actividades --> Error CRS032 / 400 (Bad Request)
- No se puede cambiar el estado del curso ya que se modificaría alguna fecha de inicio de alguna actividad provocando rangos incorrectos entre las fechas de inicio y fin de la propia actividad o en relación a sus acciones formativas --> Error CRS034 / 400 (Bad Request)
- Error inesperado al cambiar el estado del curso --> Error CRS035 / 400 (Bad Request)
- No existe un curso con ese id o id externo --> Error 404 (Not Found)
- Todo OK --> 200 (OK)
Obtener todos los cursos (v1,v2)
Método: GET
URL:
Obtener todos los cursos sin paginación:
- /admin/rest/administration/api/courses
Obtener todos los cursos con paginación:
- /admin/rest/administration/api/courses?startIndex={startIndex}&count={count}
Ejemplo: https://demo.central-lms.com/admin/rest/administration/api/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)
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:
id = Identificador
external_id = Id externo
name = Nombre del curso
description = Descripción del curso
comments = Comentarios del curso
objectives = Objetivos del curso
moduleType = Tipo de módulo
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
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)
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.
hasReminder = Activar recordatorio a usuarios que llevan un tiempo sin acceder (Boolean, opcional)
- Valores permitidos: TRUE / FALSE
- Valor por defecto: FALSE
- Cualquier valor que no sea TRUE, se transformará en FALSE
hasStartReminder = Activar recordatorios de la fecha de inicio del curso (Boolean, opcional)
- Valores permitidos: TRUE / FALSE
- Valor por defecto: FALSE
- Cualquier valor que no sea TRUE, se transformará en FALSE
status = Estado del curso
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)
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
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)
- 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
Obtener todos los cursos (v3)
Método: GET
URL:
Obtener todos los cursos sin paginación:
- /admin/rest/administration/api/courses
Obtener todas los cursos con paginación:
- /admin/rest/administration/api/courses?startIndex={startIndex}&count={count}
Ejemplo: https://demo.central-lms.com/admin/rest/administration/api/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)
planId = Filtrar por cursos dentro del plan (Long, 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.
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:
id = Identificador
external_id = Id externo
name = Nombre del curso
description = Descripción del curso
comments = Comentarios del curso
objectives = Objetivos del curso
moduleType = Tipo de módulo
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
evaluationType = Sistema de evaluación seleccionado
- Valores permitidos:
- PASSED_MANDATORY_ACTIVITIES
- MIN_SCORE
- Valores permitidos:
- 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)
- sessionOrganization = Organización de acciones formativas
- MANUAL --> Manual
- AUTOMATIC --> Automática para actividades de auto-aprendizaje y manual para el resto
- 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.
- hasReminder = Activar recordatorio a usuarios que llevan un tiempo sin acceder (Boolean, opcional)
- Valores permitidos: TRUE / FALSE
- Valor por defecto: FALSE
- Cualquier valor que no sea TRUE, se transformará en FALSE
- hasStartReminder = Activar recordatorios de la fecha de inicio del curso (Boolean, opcional)
- Valores permitidos: TRUE / FALSE
- Valor por defecto: FALSE
- Cualquier valor que no sea TRUE, se transformará en FALSE
- status = Estado del curso
- 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)
- 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
- Valores permitidos:
- 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
- id = Identificador 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
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)
Todo OK
- Si no hay paginación --> 200 (OK) + JSON
- Si hay paginación --> 206 (Partial Content) + JSON
Obtener todos los cursos (v4)
Método: GET
URL:
- Obtener todos los cursos sin paginación:
- /admin/rest/administration/api/courses
- Obtener todos los cursos con paginación:
- /admin/rest/administration/api/courses?startIndex={startIndex}&count={count}
- Obtener todas las convocatorias de un curso:
- /admin/rest/administration/api/courses?parentId={parentId}
- /admin/rest/administration/api/courses?parenExternaltId={parentExternalId}
Ejemplo: https://demo.central-lms.com/admin/rest/administration/api/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)
- planId = Filtrar por cursos dentro del plan (Long, 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.
- parentId = Filtrar por todos los cursos cuyo parentId es el proporcionado (Long, opcional)
- parentExternalId = Filtrar por todos los cursos cuyo curso padre tiene el external id proporcionado (String, 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 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
- Valores permitidos:
- 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
- Valores permitidos:
- 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
- id = Identificador 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
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)
Todo OK
- Si no hay paginación --> 200 (OK) + JSON
- Si hay paginación --> 206 (Partial Content) + JSON
Obtener todos los cursos (v5)
Método: GET
URL:
- Obtener todos los cursos sin paginación:
- /admin/rest/administration/api/courses
- Obtener todos los cursos con paginación:
- /admin/rest/administration/api/courses?startIndex={startIndex}&count={count}
- Obtener todas las convocatorias de un curso:
- /admin/rest/administration/api/courses?parentId={parentId}
- /admin/rest/administration/api/courses?parenExternaltId={parentExternalId}
Ejemplo: https://demo.central-lms.com/admin/rest/administration/api/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)
- planId = Filtrar por cursos dentro del plan (Long, 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.
- parentId = Filtrar por todos los cursos cuyo parentId es el proporcionado (Long, opcional)
- parentExternalId = Filtrar por todos los cursos cuyo curso padre tiene el external id proporcionado (String, 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 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
- Valores permitidos:
- 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
- Valores permitidos:
- 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
- id = Identificador 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)
Todo OK
- Si no hay paginación --> 200 (OK) + JSON
- Si hay paginación --> 206 (Partial Content) + JSON
Obtener todos los cursos (v6)
Método: GET
URL:
- Obtener todos los cursos sin paginación:
- /admin/rest/administration/api/courses
- Obtener todos los cursos con paginación:
- /admin/rest/administration/api/courses?startIndex={startIndex}&count={count}
- Obtener todas las convocatorias de un curso:
- /admin/rest/administration/api/courses?parentId={parentId}
- /admin/rest/administration/api/courses?parenExternaltId={parentExternalId}
Ejemplo: https://demo.central-lms.com/admin/rest/administration/api/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)
- planId = Filtrar por cursos dentro del plan (Long, 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.
- parentId = Filtrar por todos los cursos cuyo parentId es el proporcionado (Long, opcional)
- parentExternalId = Filtrar por todos los cursos cuyo curso padre tiene el external id proporcionado (String, 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 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
- Valores permitidos:
- 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
- Valores permitidos:
- 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
- id = Identificador 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.
- hasLink = Valor true/false. Indica si tiene enlaces externos
- externalLinks= Lista de enlaces externos. Devuelve null si el curso no los tiene.
- name = Nombre del enlace
- urlLink = El propio enlace
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)
Todo OK
- Si no hay paginación --> 200 (OK) + JSON
- Si hay paginación --> 206 (Partial Content) + JSON
Obtener todos los cursos (v7)
Método: GET
URL:
- Obtener todos los cursos sin paginación:
- /admin/rest/administration/api/courses
- Obtener todos los cursos con paginación:
- /admin/rest/administration/api/courses?startIndex={startIndex}&count={count}
- Obtener todas las convocatorias de un curso:
- /admin/rest/administration/api/courses?parentId={parentId}
- /admin/rest/administration/api/courses?parenExternaltId={parentExternalId}
Ejemplo: https://demo.central-lms.com/admin/rest/administration/api/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)
- planId = Filtrar por cursos dentro del plan (Long, 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.
- parentId = Filtrar por todos los cursos cuyo parentId es el proporcionado (Long, opcional)
- parentExternalId = Filtrar por todos los cursos cuyo curso padre tiene el external id proporcionado (String, 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 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
- Valores permitidos:
- 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
- Valores permitidos:
- 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
- id = Identificador 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.
- hasLink = Valor true/false. Indica si tiene enlaces externos
- externalLinks= Lista de enlaces externos. Devuelve null si el curso no los tiene.
- name = Nombre del enlace
- urlLink = El propio enlace
- estimatedDuration = Duración estimada del curso (sumatorio de las duraciones de todas las actividades)
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)
Todo OK
- Si no hay paginación --> 200 (OK) + JSON
- Si hay paginación --> 206 (Partial Content) + JSON
Obtener curso (v1,v2)
Método: GET
URL:
Obtener por id:
- /admin/rest/administration/api/courses/id/{id}
Obtener por external id:
- /admin/rest/administration/api/courses/externalid/{externalid}
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/courses/id/2514
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
Curso, cada curso consta de los siguientes campos:
- id = Identificador
- external_id = Id externo
- name = Nombre del curso
- description = Descripción del curso
- comments = Comentarios del curso
- objectives = Objetivos del curso
- moduleType = Tipo de módulo
- 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
- 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)
- 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
- Valores permitidos:
- 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.
- status = Estado del curso
- 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)
- 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
- id = Identificador 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
Validaciones
- No existe el curso Error 404 (Not Found)
- Error en la generación del Json --> Error 503 (Service Unavailable)
- Todo OK --> 200 (OK) + JSON
Obtener curso (v3)
Método: GET
URL:
Obtener por id:
- /admin/rest/administration/api/courses/id/{id}
Obtener por external id:
- /admin/rest/administration/api/courses/externalid/{externalid}
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/courses/id/2514
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
Curso, cada curso consta de los siguientes campos:
- id = Identificador
- external_id = Id externo
- name = Nombre del curso
- description = Descripción del curso
- comments = Comentarios del curso
- objectives = Objetivos del curso
- moduleType = Tipo de módulo
- 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
- 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)
- 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
- Valores permitidos:
- 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.
- status = Estado del curso
- 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)
- 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
- Valores permitidos:
- 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
- id = Identificador 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
Validaciones
- No existe el curso Error 404 (Not Found)
- Error en la generación del Json --> Error 503 (Service Unavailable)
- Todo OK --> 200 (OK) + JSON
Obtener curso (v4)
Método: GET
URL:
Obtener por id:
- /admin/rest/administration/api/courses/id/{id}
Obtener por external id:
- /admin/rest/administration/api/courses/externalid/{externalid}
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/courses/id/2514
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
Curso, 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
- Valores permitidos:
- 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 edición
- 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
- Valores permitidos:
- 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
- id = Identificador 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
Validaciones
- No existe el curso Error 404 (Not Found)
- Error en la generación del Json --> Error 503 (Service Unavailable)
- Todo OK --> 200 (OK) + JSON
Obtener curso (v5)
Método: GET
URL:
Obtener por id:
- /admin/rest/administration/api/courses/id/{id}
Obtener por external id:
- /admin/rest/administration/api/courses/externalid/{externalid}
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/courses/id/2514
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
Curso, 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
- Valores permitidos:
- 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 edición
- 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
- Valores permitidos:
- 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
- id = Identificador 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 existe el curso Error 404 (Not Found)
- Error en la generación del Json --> Error 503 (Service Unavailable)
- Todo OK --> 200 (OK) + JSON
Obtener curso (v6)
Método: GET
URL:
Obtener por id:
- /admin/rest/administration/api/courses/id/{id}
Obtener por external id:
- /admin/rest/administration/api/courses/externalid/{externalid}
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/courses/id/2514
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
Curso, 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
- Valores permitidos:
- 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 edición
- 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
- Valores permitidos:
- 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
- id = Identificador 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.
- hasLink = Valor true/false. Indica si tiene enlaces externos
- externalLinks= Lista de enlaces externos. Devuelve null si el curso no los tiene.
- name = Nombre del enlace
- urlLink = El propio enlace
Validaciones
- No existe el curso Error 404 (Not Found)
- Error en la generación del Json --> Error 503 (Service Unavailable)
- Todo OK --> 200 (OK) + JSON
Obtener curso (v7)
Método: GET
URL:
Obtener por id:
- /admin/rest/administration/api/courses/id/{id}
Obtener por external id:
- /admin/rest/administration/api/courses/externalid/{externalid}
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/courses/id/2514
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
Curso, 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
- Valores permitidos:
- 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 edición
- 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
- Valores permitidos:
- 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
- id = Identificador 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.
- hasLink = Valor true/false. Indica si tiene enlaces externos
- externalLinks= Lista de enlaces externos. Devuelve null si el curso no los tiene.
- name = Nombre del enlace
- urlLink = El propio enlace
- estimatedDuration = Duración estimada del curso (sumatorio de las duraciones de todas las actividades)
Validaciones
- No existe el curso Error 404 (Not Found)
- Error en la generación del Json --> Error 503 (Service Unavailable)
- Todo OK --> 200 (OK) + JSON
Eliminar curso
Método: DELETE
URL:
Eliminar por id:
- /admin/rest/administration/api/courses/id/{id}
Eliminar por external id:
- /admin/rest/administration/api/courses/externalid/{external_id}
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/courses/id/2514
Validaciones
- Error inesperado al eliminar el curso --> Error CRS036 / 400 (Bad Request)
- No existe un curso con ese id o id externo --> Error 404 (Not Found)
- Todo OK --> 200 (OK)
Añadir grupos de administración a un curso
Método: POST
URL:
- Añadir por id:
- /admin/rest/administration/api/courses/id/{id}/groups?action={action}
- Añadir por id externo:
- /admin/rest/administration/api/courses/externalid/{externalid}/groups?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/courses/id/5487/groups?action=addByIds
- https://demo.central-lms.com/admin/rest/administration/api/courses/id/5487/groups?action=addByExternalids
id=51476&id=654165&id=6566
Parámetros
- action = acción que se quiere realizar (añadir usando ids de grupos 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 grupo 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 existe el curso --> Error 400 (Not Found)
- Ejecución OK y todos los grupos han sido añadidos--> 200 (OK)
- Ejecución OK y algún grupo no ha podido ser añadido --> 200 (OK) + JSON
Obtener grupos de administración de un curso sin paginar
Método: GET
URL:
- Obtener por id:
- /admin/rest/administration/api/courses/id/{id}/groups
- Obtener por external id:
- /admin/rest/administration/api/courses/externalid/{external_id}/groups
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/courses/id/345/groups
Campos devueltos en el Json
Listado de grupos, cada grupo consta de los siguientes campos:
- id = Identificador
- external_id = Id externo
- parentId = Identificador de grupo padre
- name = Nombre de grupo
- description = Descripción de grupo
- extendedFields = Campos extensibles en lista con clave extendedFieldName y valor extendedFieldValuee
- extendedFieldName = Nombre del campo extendido
- extendedFieldValue = Valor del campo extendido
Validaciones
- Si el curso no existe --> Error 404 (Not Found)
- No hay grupos --> Error 204 (No Content)
- Error en la generación del Json --> Error 503 (Service Unavailable)
- Todo OK --> 200 (OK) + JSON
Eliminar grupos de administración de un curso
Método: DELETE
URL:
- Eliminar por id:
- /admin/rest/administration/api/courses/id/{id}/groups?action={action}
- Eliminar por id externo:
- /admin/rest/administration/api/courses/externalid/{external_id}/groups?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/courses/id/5487/groups?action=removeByIds
id=51476&id=654165&id=6566
Parámetros
- action = acción que se quiere realizar (eliminar usando ids de grupos o ids externos) (String, obligatorio)
- Valores permitidos
- removeByIds
- removeByExternalids
- 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 grupo 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 existe el curso --> Error 400 (Not Found)
- Ejecución OK y todos los grupos han sido eliminados -> 200 (OK)
- Ejecución OK y algún grupo no ha podido ser eliminado --> 200 (OK) + JSON
Añadir tutores a un curso
Método: POST
URL:
- Añadir por id:
- /admin/rest/administration/api/courses/id/{id}/tutors?action={action}
- Añadir por id externo:
- /admin/rest/administration/api/courses/externalid/{external_id}/tutors?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/courses/id/5487/tutors?action=addByIds
- https://demo.central-lms.com/admin/rest/administration/api/courses/id/5487/tutors?action=addByExternalids
id=51476&id=654165&id=6566
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 grupo 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 existe el curso --> 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 tutores de un curso sin paginar
Método: GET
URL:
- Obtener por id:
- /admin/rest/administration/api/courses/id/{id}/tutors
- Obtener por external id:
- /admin/rest/administration/api/courses/externalid/{external_id}/tutors
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/courses/id/345/tutors
Campos devueltos en el Json
Listado de usuarios tutores, cada tutor consta de los siguientes campos:
- id = Identificador
- external_id = Id externo
- username = Nombre de usuario
- firstName = Nombre
- lastName = Apellidos
- preferredLanguage = Idioma predeterminado
- personTimezoneId = Zona horaria
- roles = Roles del usuario
- email = Correo electrónico del usuario
- officePhoneNumber = Teléfono de oficina
- mobilePhoneNumber = Teléfono móvil
- address = Dirección
- jobTitle = Puesto
- location = Departamento
- organization = Compañía
- aboutMe = Sobre mí
- interests = Intereses
- status = Estado
- extendedFields = Campos extensibles en lista con clave extendedFieldName y valor extendedFieldValue
- extendedFieldName = Nombre del campo extendido
- extendedFieldValue = Valor del campo extendido
Validaciones
- Si el curso 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 --> 200 (OK) + JSON
Eliminar tutores de un curso
Método: DELETE
URL:
- Eliminar por id:
- /admin/rest/administration/api/courses/id/{id}/tutors?action={action}
- Eliminar por id externo:
- /admin/rest/administration/api/courses/externalid/{external_id}/tutors?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/courses/id/5487/tutors?action=removeByIds
id=51476&id=654165&id=6566
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
- id (lista)= cada uno de los identificadores o identificadores externos (String,obligatorio)
Campos devueltos en el Json (en caso de que algún grupo 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 existe el curso --> Error 400 (Not Found)
- Ejecución OK y todos los tutores han sido eliminados -> 200 (OK)
- Ejecución OK y algún tutor no ha podido ser eliminado --> 200 (OK) + JSON
Añadir estudiantes a un curso
Método: POST
URL:
- Añadir por id:
- /admin/rest/administration/api/courses/id/{id}/students?action={action}
- Añadir por id externo:
- /admin/rest/administration/api/courses/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/courses/id/5487/students?action=addByIds
id=51476&id=654165&id=6566
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 usuario 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 curso --> Error CRS025 / 400 (Bad Request)
- Se ha superado el aforo máximo permitido en la convocatoria --> Error CRS043 / 400 (Bad Request)
- No existe el curso --> 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 curso (v2)
Método: POST
URL:
- Añadir por id:
- /admin/rest/administration/api/courses/id/{id}/students?action={action}
- Añadir por id externo:
- /admin/rest/administration/api/courses/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/courses/id/5487/students?action=addByIds
id=51476&id=654165&id=6566
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 usuario haya dado error)
- status: KO
- ids / external ids: mapa de ids o external ids que han dado error con su código correspondiente:
- CRS053: Alumno no encontrado.
- CRS054: Alumno con estado inválido(debe estar activo).
- CRS055: Alumno eliminado.
- CRS056: Alumno ya inscrito.
- Ejemplo de json devuelto: {"ids":{"1":"CRS056","2":"CRS056","3":"CRS053","8060":"CRS054"},"status":"KO"}
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 curso --> Error CRS025 / 400 (Bad Request)
- Se ha superado el aforo máximo permitido en la convocatoria --> Error CRS043 / 400 (Bad Request)
- No existe el curso --> 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
Aceptar solicitudes de inscripción a un curso
Método: POST
URL:
- Aceptar por id:
- /admin/rest/administration/api/courses/id/{id}/requests?action={action}
- Aceptar por id externo:
- /admin/rest/administration/api/courses/externalid/{external_id}/requests?action={action}
Recuerda que por motivos de seguridad, el external_id no puede contener los caracteres \ ni /
id=51476&id=654165&id=6566
Parámetros
- action= acción que se quiere realizar (aceptar usando ids de usuario o ids externos) (String,obligatorio)
- Valores permitidos
- acceptByIds
- acceptByExternalids
- 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 usuario haya dado error)
- status: KO
- ids / external ids: mapa de ids o external ids que han dado error con su código correspondiente:
- CRS053: Alumno no encontrado.
- CRS054: Alumno con estado inválido(debe estar activo).
- CRS055: Alumno eliminado.
- CRS056: Alumno ya inscrito.
- CRS057: Solicitud de inscripción no encontrada.
- Ejemplo de json devuelto: {"ids":{"1":"CRS056","2":"CRS056","3":"CRS053","8060":"CRS054"},"status":"KO"}
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 "acceptByIds" y algún id no es numérico --> Error ERR003 / 400 (Bad Request)
- No se puede añadir estudiantes al curso --> Error CRS025 / 400 (Bad Request)
- Se ha superado el aforo máximo permitido en la convocatoria --> Error CRS043 / 400 (Bad Request)
- No existe el curso --> Error 404 (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
Rechazar solicitudes de inscripción a un curso
Método: POST
URL:
- Rechazar por id:
- /admin/rest/administration/api/courses/id/{id}/requests?action={action}
- Rechazar por id externo:
- /admin/rest/administration/api/courses/externalid/{external_id}/requests?action={action}
Recuerda que por motivos de seguridad, el external_id no puede contener los caracteres \ ni /
id=51476&id=654165&id=6566
Parámetros
- action= acción que se quiere realizar (rechazar usando ids de usuario o ids externos) (String,obligatorio)
- Valores permitidos
- rejectByIds
- rejectByExternalids
- 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 usuario haya dado error)
- status: KO
- ids / external ids: mapa de ids o external ids que han dado error con su código correspondiente:
- CRS053: Alumno no encontrado.
- CRS054: Alumno con estado inválido(debe estar activo).
- CRS055: Alumno eliminado.
- CRS056: Alumno ya inscrito.
- CRS057: Solicitud de inscripción no encontrada.
- Ejemplo de json devuelto: {"ids":{"1":"CRS056","2":"CRS056","3":"CRS053","8060":"CRS054"},"status":"KO"}
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 "rejectByIds" y algún id no es numérico --> Error ERR003 / 400 (Bad Request)
- No existe el curso --> Error 404 (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 curso con paginado
Método: GET
URL:
- Obtener por id:
- /admin/rest/administration/api/courses/id/{id}/students
- Obtener por external id:
- /admin/rest/administration/api/courses/externalid/{external_id}/students
- Obtener estudiantes con paginación:
- /admin/rest/administration/api/courses/id/{id}/students?startIndex={startIndex}&count={count}
- /admin/rest/administration/api/courses/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 curso 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
Obtener histórico de inscripciones
Método: GET
URL:
- Obtener por id:
- /admin/rest/administration/api/courses/id/{id}/enrolmenthistory
- Obtener por external id:
- /admin/rest/administration/api/courses/externalid/{external_id}/enrolmenthistory
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/courses/id/345/enrolmenthistory
date=12456897000
Parámetros
- date= Fecha en milisegundos a partir de la cual se busca en el histórico (String, opcional)
Campos devueltos en el Json
Listado de inscripciones, cada inscripción consta de los siguientes campos:
- id= Identificador del histórico
- learningContainerId= Identificador del curso
- learningContainerExternalId= Identificador externo del curso
- learningContainerName= Nombre del curso
- operationType= Tipo de operación
- studentId= Identificador del estudiante
- studentExternalId= Identificador externo del estudiante
- studentUsername= Nombre de usuario del estudiante
- creationInMillis= Fecha y hora en milisegundos en la que se realizó la operación
Validaciones
- No hay inscripciones --> Error 204 (No Content)
- Error en la generación del Json --> Error 503 (Service Unavailable)
- Todo OK --> 200 (OK) + JSON
Obtener evaluación de estudiante (v1)
Método: GETURL:
- Obtener por id:
- /admin/rest/administration/api/courses/id/{id}/evaluations
- Obtener por external id:
- /admin/rest/administration/api/courses/externalid/{external_id}/evaluations
- Obtener estudiantes con paginación:
- /admin/rest/administration/api/courses/id/{id}/evaluations?startIndex={startIndex}&count{count}
- /admin/rest/administration/api/courses/externalid/{external_id}/evaluations?startIndex={startIndex}&count{count}
- Obtener estudiantes por fecha de última actuación:
- /admin/rest/administration/api/courses/id/{id}/evaluations?date={timeInMillis}
- /admin/rest/administration/api/courses/externalid/{exetrnal_id}/evaluations?date={timeInMillis}
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/courses/id/2004/evaluations
- https://demo.central-lms.com/admin/rest/administration/api/courses/id/2004/evaluations?date=1416323549220
- https://demo.central-lms.com/admin/rest/administration/api/courses/id/2004/evaluations?date=1416323549220&startIndex=1&count=10
Parámetros
- date= Fecha en milisegundos a partir de la cual se busca la última fecha de actualización de la evaluación de cada alumno (String, opcional)
- startindex= índice inicial para la paginación (Integer, opcional)
- count= total de elementos a recuperar para la paginación (Integer, opcional)
- status= Estado de la evaluación. Valores posibles: IN_PROGRESS, PASSED, NOT_PASSED, NOT_STARTED, VALIDATED (String opcional)
- studentId= Id del alumno (Integer opcional)
- studentExternalId= External id del alumno (String opcional)
- studentUsername= Nombre de usuario del alumno (String opcional)
Campos devueltos en el Json
Listado de evaluaciones de los alumnos del curso, cada evaluación consta de los siguientes campos:
- student_id= Identificador del alumno.
- external_id= Identificador externo del alumno.
- username= nombre de usuario.
- progress= porcentaje del progreso del alumno en el curso.
- score= nota del alumno en el curso.
- totaltime= tiempo dedicado al curso por el alumno en horas, minutos y segundos.
- firstAccess= fecha del primer acceso del alumno al curso.
- lastAccess= fecha del último acceso del alumno al curso.
- status =Estado del alumno en el curso (IN_PROGRESS, PASSED, NOT_PASSED, NOT_STARTED, VALIDATED).
Validaciones
- No hay evaluaciones --> Error 204 (No Content)
- Error en la generación del Json --> Error 503 (Service Unavailable)
- Todo OK --> 200 (OK) + JSON
Obtener evaluación de estudiante (v2)
Método: GET
URL:
- Obtener por id:
- /admin/rest/administration/api/courses/id/{id}/evaluations
- Obtener por external id:
- /admin/rest/administration/api/courses/externalid/{external_id}/evaluations
- Obtener estudiantes con paginación:
- /admin/rest/administration/api/courses/id/{id}/evaluations?startIndex={startIndex}&count{count}
- /admin/rest/administration/api/courses/externalid/{external_id}/evaluations?startIndex={startIndex}&count{count}
- Obtener estudiantes por fecha de última actuación:
- /admin/rest/administration/api/courses/id/{id}/evaluations?date={timeInMillis}
- /admin/rest/administration/api/courses/externalid/{exetrnal_id}/evaluations?date={timeInMillis}
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/courses/id/2004/evaluations
- https://demo.central-lms.com/admin/rest/administration/api/courses/id/2004/evaluations?date=1416323549220
- https://demo.central-lms.com/admin/rest/administration/api/courses/id/2004/evaluations?date=1416323549220&startIndex=1&count=10
Parámetros
- date= Fecha en milisegundos a partir de la cual se busca la última fecha de actualización de la evaluación de cada alumno (String, opcional)
- startindex= índice inicial para la paginación (Integer, opcional)
- count= total de elementos a recuperar para la paginación (Integer, opcional)
- status= Estado de la evaluación. Valores posibles: IN_PROGRESS, PASSED, NOT_PASSED, NOT_STARTED, VALIDATED (String opcional)
- studentId= Id del alumno (Integer opcional)
- studentExternalId= External id del alumno (String opcional)
- studentUsername= Nombre de usuario del alumno (String opcional)
Campos devueltos en el Json
Listado de evaluaciones de los alumnos del curso, cada evaluación consta de los siguientes campos:
- evaluation_id= Identificador de la evaluación.
- student_id= Identificador del alumno.
- external_id= Identificador externo del alumno.
- username= nombre de usuario.
- score= nota del alumno en el curso.
- totaltime= tiempo dedicado al curso por el alumno en horas, minutos y segundos.
- firstAccess= fecha del primer acceso del alumno al curso.
- lastAccess= fecha del último acceso del alumno al curso.
- status =Estado del alumno en el curso (IN_PROGRESS, PASSED, NOT_PASSED, NOT_STARTED, VALIDATED).
passedItems:Número de actividades aprobadas.
passedMandatoryItems:Número de actividades obligatorias aprobadas.
- totalItems:Número total de actividades.
- totalMandatoryItems:Número de actividades obligatorias.
- enrolmentMotive= Motivo de inscripción
- limitAccessDate= Fecha límite de acceso
Validaciones
- No hay evaluaciones --> Error 204 (No Content)
- Error en la generación del Json --> Error 503 (Service Unavailable)
- Todo OK --> 200 (OK) + JSON
Obtener evaluación de estudiante (v3)
Método: GET
URL:
- Obtener por id:
- /admin/rest/administration/api/courses/id/{id}/evaluations
- Obtener por external id:
- /admin/rest/administration/api/courses/externalid/{external_id}/evaluations
- Obtener estudiantes con paginación:
- /admin/rest/administration/api/courses/id/{id}/evaluations?startIndex={startIndex}&count{count}
- /admin/rest/administration/api/courses/externalid/{external_id}/evaluations?startIndex={startIndex}&count{count}
- Obtener estudiantes por fecha de última actuación:
- /admin/rest/administration/api/courses/id/{id}/evaluations?date={timeInMillis}
- /admin/rest/administration/api/courses/externalid/{exetrnal_id}/evaluations?date={timeInMillis}
Recuerda que por motivos de seguridad, elexternal_idno puede contener los caracteres\ni/
Ejemplo:
- https://demo.central-lms.com/admin/rest/administration/api/courses/id/2004/evaluations
- https://demo.central-lms.com/admin/rest/administration/api/courses/id/2004/evaluations?date=1416323549220
- https://demo.central-lms.com/admin/rest/administration/api/courses/id/2004/evaluations?date=1416323549220&startIndex=1&count=10
Parámetros
- date = Fecha en milisegundos a partir de la cual se busca la última fecha de actualización de la evaluación de cada alumno (String, opcional)
- startindex = índice inicial para la paginación (Integer, opcional)
- count = total de elementos a recuperar para la paginación (Integer, opcional)
- status = Estado de la evaluación. Valores posibles: IN_PROGRESS, PASSED, NOT_PASSED, NOT_STARTED, VALIDATED (String opcional)
- studentId = Id del alumno (Integer opcional)
- studentExternalId = External id del alumno (String opcional)
- studentUsername = Nombre de usuario del alumno (String opcional)
Campos devueltos en el Json
Listado de evaluaciones de los alumnos del curso, cada evaluación consta de los siguientes campos:
- evaluation_id = Identificador de la evaluación.
- student_id = Identificador del alumno.
- external_id = Identificador externo del alumno.
- username = nombre de usuario.
- score = nota del alumno en el curso.
- totaltime = tiempo dedicado al curso por el alumno en horas, minutos y segundos.
- firstAccess = fecha del primer acceso del alumno al curso.
- lastAccess = fecha del último acceso del alumno al curso.
- status = Estado del alumno en el curso (IN_PROGRESS, PASSED, NOT_PASSED, NOT_STARTED, VALIDATED).
- passedDate = Fecha de superación del curso.
passedItems: Número de actividades aprobadas.
passedMandatoryItems: Número de actividades obligatorias aprobadas.
- totalItems: Número total de actividades.
- totalMandatoryItems: Número de actividades obligatorias.
- enrolmentMotive = Motivo de inscripción
- limitAccessDate = Fecha límite de acceso
Validaciones
- No hay evaluaciones --> Error 204 (No Content)
- Error en la generación del Json --> Error 503 (Service Unavailable)
- Todo OK --> 200 (OK) + JSON
Modificar evaluación de curso (v2)
Se consumirá sólo un tipo de recurso:
- Content-Type: application/json
Método: PUT
URL:
- Modificar por id:
- /admin/rest/administration/api/courses/id/{id}/evaluations/{evaluation_id}
- Modificar por external id:
- /admin/rest/administration/api/courses/externalid/{external_id}/evaluations/{evaluation_id}
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/courses/id/2030/evaluations/4543
{ "evaluation_id":4543, "student_id":2221, "external_id":"ff80818166be7eac0166cbc684d802ce", "username":"login279", "score":15, "totaltime":"00:20:00", "firstAccess":"2019-12-19 23:59:59", "lastAccess":"2019-12-19 23:59:59", "status":"IN_PROGRESS", "passedItems":1, "passedMandatoryItems":0, "totalItems":1, "totalMandatoryItems":1, "enrolmentMotive":"aaaaaa", "limitAccessDate":"2019-12-19 23:59:59" }
Parámetros
Se le pueden pasar todos estos parámetros, aunque los indicados no se podrán modificar (simplemente se ignorarán). Por comodidad se mantienen, ya que son todos los campos que devuelve la petición GET.
evaluation_id =Id de la evaluación (NO EDITABLE)
student_id= Id del alumno (NO EDITABLE)
external_id= Id externo del alumno (NO EDITABLE)
username= Nombre de usuario (NO EDITABLE)
score= Puntuación (Número, opcional) Valores permitidos: Número entre 0 y 100
totaltime= tiempo total (String, opcional) Formato permitido HH:mm:ss
firstAccess= Fecha de primer acceso (String, opcional) Formato permitido YYYY-MM-DD HH:mm:ss
- lastAccess= Fecha de último acceso (String, opcional) Formato permitido YYYY-MM-DD HH:mm:ss
- status= Estado de la evaluación (String, opcional)
- IN_PROGRESS
- PASSED
- NOT_PASSED
- NOT_STARTED
- VALIDATED
- passedItems= Número de actividades superadas (Integer,opcional)
passedMandatoryItems= Número de actividades obligatorias superadas (Integer, opcional)
- totalItems= Número de actividades (NO EDITABLE)
- totalMandatoryItems= Número de actividades obligatorias (NO EDITABLE)
- enrolmentMotive= Motivo de inscripción (String, opcional)
limitAccessDate= Fecha límite de acceso del alumno (String, opcional) Formato permitido YYYY-MM-DD HH:mm:ss
Validaciones
- El formato de las fechas es incorrecto --> Error ERR008 / 400 (Bad Request)
- El formato de la hora es incorrecto --> Error ERR009 / 400 (Bad Request)
- El estado del alumno es incorrecto --> Error CEV001 / 400 (Bad Request)
- La puntuación es incorrecta --> Error CEV002 / 400 (Bad Request)
- La fecha límite de acceso no está permitida --> Error CEV003 / 400 (Bad Request)
- No se permite modificar la evaluación porque el curso está finalizado --> Error CEV004 / 400 (Bad Request)
- No existe una evaluación con ese id --> Error 404 (Not Found)
- Todo OK --> 200 (OK)
Modificar evaluación de curso (v3)
Se consumirá sólo un tipo de recurso:
- Content-Type: application/json
Método: PUT
URL:
- Modificar por id:
- /admin/rest/administration/api/courses/id/{id}/evaluations/{evaluation_id}
- Modificar por external id:
- /admin/rest/administration/api/courses/externalid/{external_id}/evaluations/{evaluation_id}
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/courses/id/2030/evaluations/4543
BODY - application/json
{ "evaluation_id":4543, "student_id":2221, "external_id":"ff80818166be7eac0166cbc684d802ce", "username":"login279", "score":15, "totaltime":"00:20:00", "firstAccess":"2019-12-19 23:59:59", "lastAccess":"2019-12-19 23:59:59", "status":"IN_PROGRESS", "passedDate": "2019-12-19 23:59:59", "passedItems":1, "passedMandatoryItems":0, "totalItems":1, "totalMandatoryItems":1, "enrolmentMotive":"aaaaaa", "limitAccessDate":"2019-12-19 23:59:59" }
Parámetros
Se le pueden pasar todos estos parámetros, aunque los indicados no se podrán modificar (simplemente se ignorarán). Por comodidad se mantienen, ya que son todos los campos que devuelve la petición GET.
evaluation_id = Id de la evaluación (NO EDITABLE)
student_id = Id del alumno (NO EDITABLE)
external_id = Id externo del alumno (NO EDITABLE)
username = Nombre de usuario (NO EDITABLE)
score = Puntuación (Número, opcional) Valores permitidos: Número entre 0 y 100
totaltime = tiempo total (String, opcional) Formato permitido HH:mm:ss
firstAccess = Fecha de primer acceso (String, opcional) Formato permitido YYYY-MM-DD HH:mm:ss
- lastAccess = Fecha de último acceso (String, opcional) Formato permitido YYYY-MM-DD HH:mm:ss
- status = Estado de la evaluación (String, opcional)
- IN_PROGRESS
- PASSED
- NOT_PASSED
- NOT_STARTED
- VALIDATED
- passedDate = Fecha de superación del curso (String, opcional) Formato permitido YYYY-MM-DD HH:mm:ss Si no se especifica y el nuevo estado es VALIDATED o PASSED, se establecerá el instante en que se actualiza
- passedItems = Número de actividades superadas (Integer, opcional)
passedMandatoryItems = Número de actividades obligatorias superadas (Integer, opcional)
- totalItems = Número de actividades (NO EDITABLE)
- totalMandatoryItems = Número de actividades obligatorias (NO EDITABLE)
- enrolmentMotive = Motivo de inscripción (String, opcional)
limitAccessDate = Fecha límite de acceso del alumno (String, opcional) Formato permitido YYYY-MM-DD HH:mm:ss
Validaciones
- El formato de las fechas es incorrecto --> Error ERR008 / 400 (Bad Request)
- El formato de la hora es incorrecto --> Error ERR009 / 400 (Bad Request)
- El estado del alumno es incorrecto --> Error CEV001 / 400 (Bad Request)
- La puntuación es incorrecta --> Error CEV002 / 400 (Bad Request)
- La fecha límite de acceso no está permitida --> Error CEV003 / 400 (Bad Request)
- No se permite modificar la evaluación porque el curso está finalizado --> Error CEV004 / 400 (Bad Request)
- No existe una evaluación con ese id --> Error 404 (Not Found)
- Todo OK --> 200 (OK)
Aplicar diff de evaluaciones (v2)
Se consumirán el tipo de recurso:
Content-Type: application/json
Método: PATCH
Se podría usar un POST incluyendo la cabecera "X-HTTP-Method-Override: PATCH"
URL:
Modificar por id:
- /admin/rest/administration/api/courses/id/{id}/evaluations/{evaluation_id}
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/courses/id/2030/evaluations/4543
[ { "op": "add", "path": "/limitAccessDate", "value": "2019-12-19 23:59:59" } ]
Operaciones permitidas
Se permiten las operaciones delRFC-6902. En path se pondría el parámetro a operar.
[{"op":"test","path":"/a/b/c","value":"foo"},
{"op":"remove","path":"/a/b/c"},
{"op":"add","path":"/a/b/c","value":["foo","bar"]},
{"op":"replace","path":"/a/b/c","value":42},
{"op":"move","from":"/a/b/c","path":"/a/b/d"},
{"op":"copy","from":"/a/b/d","path":"/a/b/e"}]
Parámetros modificables ("path" y "value" posibles)
score= Puntuación (Número, opcional) Valores permitidos: Número entre 0 y 100
totaltime= tiempo total (String, opcional) Formato permitido HH:mm:ss
firstAccess= Fecha de primer acceso (String, opcional) Formato permitido YYYY-MM-DD HH:mm:ss
- lastAccess= Fecha de último acceso (String, opcional) Formato permitido YYYY-MM-DD HH:mm:ss
- status= Estado de la evaluación (String, opcional)
- IN_PROGRESS
- PASSED
- NOT_PASSED
- NOT_STARTED
- VALIDATED
- passedItems= Número de actividades superadas (Integer,opcional)
passedMandatoryItems= Número de actividades obligatorias superadas (Integer, opcional)
- enrolmentMotive= Motivo de inscripción (String, opcional)
limitAccessDate= Fecha límite de acceso del alumno (String, opcional) Formato permitido YYYY-MM-DD HH:mm:ss
Validaciones
- El formato de las fechas es incorrecto --> Error ERR008 / 400 (Bad Request)
- El formato de la hora es incorrecto --> Error ERR009 / 400 (Bad Request)
- El estado del alumno es incorrecto --> Error CEV001 / 400 (Bad Request)
- La puntuación es incorrecta --> Error CEV002 / 400 (Bad Request)
- La fecha límite de acceso no está permitida --> Error CEV003 / 400 (Bad Request)
- No se permite modificar la evaluación porque el curso está finalizado --> Error CEV004 / 400 (Bad Request)
- No existe una evaluación con ese id --> Error 404 (Not Found)
- Todo OK --> 200 (OK)
Aplicar diff de evaluaciones (v3)
Se consumirán el tipo de recurso:
Content-Type: application/json
Método: PATCH
Se podría usar un POST incluyendo la cabecera "X-HTTP-Method-Override: PATCH"
URL:
Modificar por id:
- /admin/rest/administration/api/courses/id/{id}/evaluations/{evaluation_id}
Recuerda que por motivos de seguridad, elexternal_idno puede contener los caracteres\ni/
Ejemplo: https://demo.central-lms.com/admin/rest/administration/api/courses/id/2030/ evaluations/4543
BODY - application/json
[ { "op": "add", "path": "/limitAccessDate", "value": "2019-12-19 23:59:59" } ]
Operaciones permitidas
Se permiten las operaciones del RFC-6902. En path se pondría el parámetro a operar.
[{ "op": "test", "path": "/a/b/c", "value": "foo" },
{ "op": "remove", "path": "/a/b/c" },
{ "op": "add", "path": "/a/b/c", "value": [ "foo", "bar" ] },
{ "op": "replace", "path": "/a/b/c", "value": 42 },
{ "op": "move", "from": "/a/b/c", "path": "/a/b/d" },
{ "op": "copy", "from": "/a/b/d", "path": "/a/b/e" }]
Parámetros modificables ("path" y "value" posibles)
score = Puntuación (Número, opcional) Valores permitidos: Número entre 0 y 100
totaltime = tiempo total (String, opcional) Formato permitido HH:mm:ss
firstAccess = Fecha de primer acceso (String, opcional) Formato permitido YYYY-MM-DD HH:mm:ss
- lastAccess = Fecha de último acceso (String, opcional) Formato permitido YYYY-MM-DD HH:mm:ss
- status = Estado de la evaluación (String, opcional)
- IN_PROGRESS
- PASSED
- NOT_PASSED
- NOT_STARTED
- VALIDATED
- passedDate = Fecha de superación del curso (String, opcional) Formato permitido YYYY-MM-DD HH:mm:ss Si no se especifica y el nuevo estado es VALIDATED o PASSED, se establecerá el instante en que se actualiza
- passedItems = Número de actividades superadas (Integer, opcional)
passedMandatoryItems = Número de actividades obligatorias superadas (Integer, opcional)
- enrolmentMotive = Motivo de inscripción (String, opcional)
limitAccessDate = Fecha límite de acceso del alumno (String, opcional) Formato permitido YYYY-MM-DD HH:mm:ss
Validaciones
- El formato de las fechas es incorrecto --> Error ERR008 / 400 (Bad Request)
- El formato de la hora es incorrecto --> Error ERR009 / 400 (Bad Request)
- El estado del alumno es incorrecto --> Error CEV001 / 400 (Bad Request)
- La puntuación es incorrecta --> Error CEV002 / 400 (Bad Request)
- La fecha límite de acceso no está permitida --> Error CEV003 / 400 (Bad Request)
- No se permite modificar la evaluación porque el curso está finalizado --> Error CEV004 / 400 (Bad Request)
- No existe una evaluación con ese id --> Error 404 (Not Found)
- Todo OK --> 200 (OK)
Eliminar estudiantes de un curso
Método: DELETE
URL:
- Eliminar por id:
- /admin/rest/administration/api/courses/id/{id}/students?action={action}
- Eliminar por id externo:
- /admin/rest/administration/api/courses/externalid/{external_id}/students?action{action}
Recuerda que por motivos de seguridad, el external_id no puede contener los caracteres \ ni /
id=51476&id=654165&id=6566
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
- id (lista)= cada uno de los identificadores o identificadores externos (String,obligatorio)
Campos devueltos en el Json (en caso de que algún grupo 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 curso --> Error CRS026 / 400 (Bad Request)
- El curso está bloqueado --> Error CRS027 / 400 (Bad Request)
- No existe el curso --> 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
Añadir destinatarios a un curso
Método: POST
URL:
- Añadir por id:
- /admin/rest/administration/api/courses/id/{id}/recipients?action={action}
- Añadir por id externo:
- /admin/rest/administration/api/courses/externalid/{external_id}/recipients?action={action}
Recuerda que por motivos de seguridad, el external_id no puede contener los caracteres \ ni /
collective[0]=2171&collective[1]=2022&collective[4]=2103
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
- collective[0] (lista)= Identificador de colectivo destinatarios con los valores de los identificadores o identificadores externos de cada grupo a añadir (String,obligatorio)
Campos devueltos en el Json (en caso de que algún grupo 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)
- El identificador colectivo debe tener un valor numérico entre 0 y 4 --> Error CRS028 / 400 (Bad Request)
- 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 destinatarios de un curso sin paginar
Método: GET
URL:
- Obtener por id:
- /admin/rest/administration/api/courses/id/{id}/recipients
- Obtener por external id:
- /admin/rest/administration/api/courses/externalid/{external_id}/recipients
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/courses/id/345/recipients
Campos devueltos en el Json
Listado de colectivo de grupos, cada colectivo consta de los siguientes campos:
- collective= Número del colectivo
- groups= Lista de grupos
- id= Identificador
- external_id= Id externo
- parentId= Id del grupo padre
- name =Nombre de grupo
- description =Descripción del grupo
- extendedFields= Campos extensibles en lista con clave extendedFieldName y valor extendedFieldValue
- extendedFieldName= Nombre del campo extendido
- extendedFieldValue= Valor del campo extendido
Validaciones
- Si el curso no existe --> Error 404 (Not Found)
- No hay grupos --> Error 204 (No Content)
- Error en la generación del Json --> Error 503 (Service Unavailable)
- Todo OK --> 200 (OK) + JSON
Eliminar destinatarios de un curso
Método: DELETE
URL:
- Eliminar por id:
- /admin/rest/administration/api/courses/id/{id}/recipients?action={action}
- Eliminar por id externo:
- /admin/rest/administration/api/courses/externalid/{external_id}/recipients?action={action}
Recuerda que por motivos de seguridad, el external_id no puede contener los caracteres \ ni /
collective[0]=2171&collective[1]=2022&collective[4]=2103
Parámetros
- action= acción que se quiere realizar (eliminar usando ids de grupos o ids externos) (String,obligatorio)
- Valores permitidos
- removeByIds
- removeByExternalids
- Valores permitidos
- collective[0] (lista)= Identificador de colectivo de destinatarios con los los identificadores o identificadores externos de cada grupo a eliminar (String,obligatorio)
Campos devueltos en el Json (en caso de que algún grupo 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 "removeByIds" y algún id no es numérico --> Error ERR003 / 400 (Bad Request)
- No existe el curso --> Error 400 (Not Found)
- Ejecución OK y todos los destinatarios han sido eliminados -> 200 (OK)
- Ejecución OK y algún destinatario no ha podido ser eliminado --> 200 (OK) + JSON
Clonar curso (v1)
Esta versión lleva la entrada con Content-Type: application/x-www-form-urlencoded, se recomienda el uso de la nueva versión, que consume json.
Método: POST
URL: /admin/rest/administration/api/courses
Ejemplo: https://demo.central-lms.com/admin/rest/administration/api/courses
external_id=excourse1&name=Curso de diseño gráfico&clonedFromId=1
external_id=excourse1&name=Curso de diseño gráfico&clonedFromExternalId=excourseToClone
Parámetros
- external_id= Id externo (String) Recuerda que por motivos de seguridad, el external_id no puede contener los caracteres\ni/
- name= Nombre (String)
- clonedFromId= Identificador de curso que se clona (Long)
- clonedFromExternalId= Id. externo de curso que se clona (String) (se deja de usar en la versión JSON)
Debe venir informado el parámetro de clonedFromId o el parámetro clonedFromExternalId
Validaciones
- Lista de parámetros vacía o algún campo obligatorio sin cubrir --> Error ERR001 / 400 (Bad Request)
- External id duplicado --> Error ERR006 / 400 (Bad Request)
- Id. de curso inexistente --> Error ERR004 / 404 (Not Found)
- Id. externo de curso inexistente --> Error ERR005 / 404 (Not Found)
Respuesta OK
- 201 (Created) + cabecera 'Location' con el link al recurso creado
Clonar curso (v2)
Se consumirán dos tipos de recursos application/x-www-form-urlencoded y application/json. Se recomienda usar la versión de json.
En la versión json no se puede clonar por externalId. Hay que realizar una búsqueda por externalId de un curso y con el id frealizar una clonación por id.
Método: POST
URL: /admin/rest/administration/api/courses
Ejemplo: https://demo.central-lms.com/admin/rest/administration/api/courses
external_id=excourse1&name=Curso de diseño gráfico&clonedFromId=1
external_id=excourse1&name=Curso de diseño gráfico&clonedFromExternalId=excourseToClone
{ "external_id": "excourse1", "name": "Curso de diseño gráfico", "clonedFromId": 1 }
Parámetros
- external_id= Id externo (String) Recuerda que por motivos de seguridad, el external_id no puede contener los caracteres\ni/
- name= Nombre (String)
- clonedFromId= Identificador de curso que se clona (Long)
- clonedFromExternalId= Id. externo de curso que se clona (String) (se deja de usar en la versión JSON)
Debe venir informado el parámetro de clonedFromId o el parámetro clonedFromExternalId
Validaciones
- Lista de parámetros vacía o algún campo obligatorio sin cubrir --> Error ERR001 / 400 (Bad Request)
- External id duplicado --> Error ERR006 / 400 (Bad Request)
- Id. de curso inexistente --> Error ERR004 / 404 (Not Found)
- Id. externo de curso inexistente --> Error ERR005 / 404 (Not Found)
Respuesta OK
- 201 (Created) + cabecera 'Location' con el link al recurso creado
Crear mensaje de bienvenida a curso
Método: POST
URL: /admin/rest/administration/api/courses/welcomeMessage
Ejemplo: https://demo.central-lms.com/admin/rest/administration/api/courses/welcomeMessage
{ "id": 72307, "studentId": 1, "showMessage": "true", "message": "Mi mensaje de bienvenida" }
Parámetros
- id = Identificador de curso (Long, obligatorio)
- studentId= Identificador del estudiante (Long, obligatorio)
- showMessage= Indica si se le debe de mostrar el mensaje al usuario (boolean)
- message= Mensaje que se le va a mostrar al usuario (String, obligatorio)
Validaciones
- Lista de parámetros vacía o algún campo obligatorio sin cubrir --> Error ERR001 / 400 (Bad Request)
- Id. de curso inexistente --> Error MWM002/ 404 (Not Found)
- Id. de persona inexistente --> Error MWM003/ 404 (Not Found)
- Mensaje de bienvenida duplicado --> Error MWM001/ 400 (Bad Request)
Respuesta OK
- 200 (Created)
Actualizar mensaje de bienvenida a curso
Método: PUT
URL: /admin/rest/administration/api/courses/id/{id}/welcomeMessage/studentId/{studentId}
Ejemplo: https://demo.central-lms.com/admin/rest/administration/api/courses/id/1/welcomeMessage/studentId/1
{ "showMessage": "true", "message": "Mi mensaje de bienvenida" }
Parámetros
- showMessage= Indica si se le debe de mostrar el mensaje al usuario (boolean)
- message= Mensaje que se le va a mostrar al usuario (String, obligatorio)
Validaciones
- Lista de parámetros vacía o algún campo obligatorio sin cubrir --> Error ERR001 / 400 (Bad Request)
- Id. de curso inexistente --> Error MWM002/ 404 (Not Found)
- Id. de persona inexistente --> Error MWM003/ 404 (Not Found)
- No existe un mensaje de bienvenida para actualizar --> Error MWM004/ 404 (Not Found)
Respuesta OK
- 200 (OK)
Obtener acciones formativas (v1, v2, v3)
Método: GET
URL:
- Obtener por id:
- /admin/rest/administration/api/courses/id/{id}/sessions
- Obtener por external id:
- /admin/rest/administration/api/courses/externalid/{externalid}/sessions
Recuerda que por motivos de seguridad, el external_id no puede contener los caracteres \ ni /
Ejemplo:
Campos devueltos en el Json
Listado de acciones formativas, cada acción formativa consta de los siguientes campos:
- id = Identificador
- external_id = Id externo
- sessionType= Tipo de actividad asociado a la acción formativa. Valores posibles: classroom, externalLink, externalwebconference, file, practicalCase, performanceReview, scorm, video, webconference.
- name= Nombre de la acción formativa
startDate= Fecha de inicio de acción formativa (UTC)
endDate= Fecha de fin de acción formativa (UTC)
capacity= Capacidad de alumnos
estimateDuration= Duración estimada
confirmed= Valor true/false. Indica si la acción está confirmada
description= Descripción de la acción formativa
objectives= Objetivos de la acción formativa
comments= Comentarios de la acción formativa
status= Estado de la acción formativa.
- moduleActivity= Objeto de relación de actividad y módulo
- id= Identificador
- moduleId = Identificador de módulo
activityId = Identificador de actividad
- extendedFields=Campos extensibles en lista con clave extendedFieldName y valor extendedFieldValues
Parámetros
- startindex= índice inicial para la paginación (Integer, opcional)
- count= total de elementos a recuperar para la paginación (Integer, opcional)
- personId= filtra por el id de un alumno (Long, opcional)
- personExternalId=filtra por el id externo de un alumno (String, opcional)
- username= filtra por el nombre de usuario de un alumno (String, opcional)
- activityId= filtra por el id de una actividad (Long, opcional)
- moduleActivityId= filtra por el id de una actividad de curso (Long, opcional)
Validaciones
- Id. de curso inexistente --> Error ERR004 / 404 (Not Found)
- Id. externo de curso inexistente --> Error ERR005 / 404 (Not Found)
- Error en la generación del Json --> Error 503 (Service Unavailable)
- Todo OK --> 200 (OK) + JSON
- Todo OK sin contenido --> 204 (No content)
- Si hay paginación --> 206 (Partial Content) + JSON
Obtener acciones formativas (v4)
Método: GET
URL:
- Obtener por id:
- /admin/rest/administration/api/courses/id/{id}/sessions
- Obtener por external id:
- /admin/rest/administration/api/courses/externalid/{externalid}/sessions
Note
Recuerda que por motivos de seguridad, el external_id no puede contener los caracteres \ ni /
Ejemplo:
Campos devueltos en el Json
Listado de acciones formativas, cada acción formativa consta de los siguientes campos:
- id = Identificador
- external_id = Id externo
- sessionType = Tipo de actividad asociado a la acción formativa. Valores posibles: classroom, externalLink, externalwebconference, file, practicalCase, performanceReview, scorm, video, webconference.
- name = Nombre de la acción formativa
startDate = Fecha de inicio de acción formativa (UTC)
endDate = Fecha de fin de acción formativa (UTC)
capacity = Capacidad de alumnos
estimateDuration = Duración estimada
confirmed = Valor true/false. Indica si la acción está confirmada
description = Descripción de la acción formativa
objectives = Objetivos de la acción formativa
comments = Comentarios de la acción formativa
status = Estado de la acción formativa.
- moduleActivity = Objeto de relación de actividad y módulo
- id = Identificador
- moduleId = Identificador de módulo
activityId = Identificador de actividad
- extendedFields = Campos extensibles en lista con clave extendedFieldName y valor extendedFieldValues
- moderatorUrl = Url de acceso para el formador (* Solo para el caso de sessionType = externalwebconference)
- studentUrl = Url de acceso para el estudiante (* Solo para el caso de sessionType = externalwebconference)
- trainers = Formadores de la acción formativa (* Solo pasa el caso de sessionType = classroom o externalwebconference o practicalCase o webconference)
- id = Identificador del formador
- firstName = Nombre del formador
- lastName = Apellidos del formador
- username = Nombre de usuario del formador
- email = Email del formador
- rooms rooms = Salas vinculadas a la acción formativa (* Solo para el caso de sessionType = classroom)
- id = Identificador de la sala
- name = Nombre de la sala
- scorable = Acción formativa evaluable
- minScore = Nota mínima para superar
- maxScore = Nota máxima que se puede obtener
- scoreToPass = Nota de superación
- weightInModule = Peso dentro del curso (* Solo tendrá valor para el caso de evaluación por puntuación mínima)
- percentageWeightInModule = Porcentaje del peso dentro del curso (* Solo tendrá valor para el caso de evaluación por puntuación mínima)
Parámetros
- startindex = índice inicial para la paginación (Integer, opcional)
- count = total de elementos a recuperar para la paginación (Integer, opcional)
- personId= filtra por el id de un alumno (Long, opcional)
- personExternalId=filtra por el id externo de un alumno (String, opcional)
- username= filtra por el nombre de usuario de un alumno (String, opcional)
- activityId= filtra por el id de una actividad (Long, opcional)
- moduleActivityId= filtra por el id de una actividad de curso (Long, opcional)
Validaciones
- Id. de curso inexistente --> Error ERR004 / 404 (Not Found)
- Id. externo de curso inexistente --> Error ERR005 / 404 (Not Found)
- Error en la generación del Json --> Error 503 (Service Unavailable)
- Todo OK --> 200 (OK) + JSON
- Todo OK sin contenido --> 204 (No content)
- Si hay paginación --> 206 (Partial Content) + JSON
Añadir enlaces externos a curso
Método: PUT
URL:
- Añadir por id de curso:
- /admin/rest/administration/api/courses/id/{id}/externallinks
Ejemplo: https://demo.central-lms.com/admin/rest/administration/api/courses/2514/externallinks
BODY - application/json
[ { "name" : "Hola" , }, .... { "name" : "Adios" , } ] |
Lista de elementos con los siguientes parámetros:
- name = Nombre del enlace (String, obligatorio)
- urlLink = El propio enlace (String, obligatorio)
Validaciones
- Lista de parámetros vacía o algún campo obligatorio sin cubrir --> Error ERR001 / 400 (Bad Request)
- No permite enlaces (hasLink es falso) --> Error CSR061 / 400 (Bad Request)
- URL mal formada --> Error CSR062 / 400 (Bad Request)
- Nombres no introdicidos --> Error CSR063 / 400 (Bad Request)
Respuesta OK
- 200 (OK)
Eliminar enlaces externos de curso
Método: DELETE
URL:
- Eliminar todos los enlaces por id de curso:
- /admin/rest/administration/api/courses/id/{id}/externallinks
Ejemplo: https://demo.central-lms.com/admin/rest/administration/api/courses/2514/externallinks
- Eliminar enlaces por id de curso y nombre de enlace
- /admin/rest/administration/api/courses/id/{id}/externallinks?name={name}
Parámetros
- name = Nombre del enlace (String, opcional)
Validaciones
- Lista de parámetros vacía o algún campo obligatorio sin cubrir --> Error ERR001 / 400 (Bad Request)
Respuesta OK
- 200 (OK)
Obtener plan de curso
Método: GET
URL:
- Obtiene el id y el nombre de plan a través del id o el external id de un curso:
- /admin/rest/administration/api/courses/id/{id}/plan
- /admin/rest/administration/api/courses/externalid/{external_id}/plan
Ejemplo: https://demo.central-lms.com/admin/rest/administration/api/courses/id/25/plan
Validaciones
- No hay plan correspondiente al curso --> Error CRS064 / 400 (Bad Request)
- El curso no existe por el id proporcionado -> Error ERR004 / 400 (Bad Request)
- El curso no existe por el external id proporcionado -> Error ERR005 / 400 (Bad Request)
Respuesta OK
- 200 (OK)
BODY - application/json
{ "id" : 24, "name" : "Plan" } |