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

Validaciones

Respuesta OK

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

Validaciones

Respuesta OK


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

Validaciones

Respuesta OK

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

Validaciones

Respuesta OK

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:

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

Validaciones

Respuesta OK

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:

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

Validaciones

Respuesta OK

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:


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

Validaciones

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:


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

Validaciones

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:


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

Validaciones

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:


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:

Campos específicos de una convocatoria:

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.

Validaciones

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:


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:

Campos específicos de una convocatoria:

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.

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)

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:


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**)

** 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)

percentageToPass = Porcentaje de actividades obligatorias para pasar el curso (Integer, opcional)

issueCertificate = Expedir certificado (String, opcional)

startDateMode = Tipo fecha de inicio (String, opcional)

startDate = Fecha de inicio en milisegundos (Long, opcional*) 
*obligatoria si startDateMode = MANUAL

endDateMode = Tipo fecha de fin (String, opcional)

endDate = Fecha de fin en milisegundos (Long, opcional*) 
*obligatoria si endDateMode = MANUAL

enrolmentPolicy = Política de inscripción (String, opcional)

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

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)

hasMessage = Tiene sección para los mensajes (Boolean, opcional)

hasReminder = Activar recordatorio a usuarios que llevan un tiempo sin acceder (Boolean, opcional) 

hasStartReminder = Activar recordatorios de la fecha de inicio del curso (Boolean, opcional) 

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.

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

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:


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**)

** 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)

percentageToPass = Porcentaje de actividades obligatorias para pasar el curso (Integer, opcional)

issueCertificate = Expedir certificado (String, opcional)

startDateMode = Tipo fecha de inicio (String, opcional)

startDate = Fecha de inicio en milisegundos (Long, opcional*) 
*obligatoria si startDateMode = MANUAL

endDateMode = Tipo fecha de fin (String, opcional)

endDate = Fecha de fin en milisegundos (Long, opcional*) 
*obligatoria si endDateMode = MANUAL

enrolmentPolicy = Política de inscripción (String, opcional)

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

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)

hasMessage = Tiene sección para los mensajes (Boolean, opcional)

hasReminder = Activar recordatorio a usuarios que llevan un tiempo sin acceder (Boolean, opcional) 

hasStartReminder = Activar recordatorios de la fecha de inicio del curso (Boolean, opcional) 

rateable = Curso valorable por los alumnos o no valorable (String, opcional) 

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.

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

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:

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)

percentageToPass = Porcentaje de actividades obligatorias para pasar el curso (Integer, opcional)

issueCertificate = Expedir certificado (String, opcional)

hasForum = Tiene sección para el foro (Boolean, opcional)

hasMessage = Tiene sección para los mensajes (Boolean, opcional)

hasReminder = Activar recordatorio a usuarios que llevan un tiempo sin acceder (Boolean, opcional) 

hasStartReminder = Activar recordatorios de la fecha de inicio del curso (Boolean, opcional) 

hasEditions = El curso tiene habilitadas las convocatorias

recogniseEditions = Validación automática entre convocatorias


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**)

** 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)

startDate = Fecha de inicio en milisegundos (Long, opcional*) 
*obligatoria si startDateMode = MANUAL

endDateMode = Tipo fecha de fin (String, opcional)

       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)

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

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) 

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.

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

Cambiar estado de un curso

Método: PUT

URL:

Cambiar estado por id:

Cambiar estado por 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/203/status

value=PUBLISHED

Parámetros

value = Nuevo estado del curso (String, obligatorio)

Validaciones

Obtener todos los cursos (v1,v2)

Método: GET

URL:

Obtener todos los cursos sin paginación:

Obtener todos los cursos con paginación:

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:

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

startDateMode = Tipo de fecha de inicio

startDate = Fecha estimada de inicio (UTC)

endDateMode = Tipo fecha de fin

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

evaluationType = Sistema de evaluación seleccionado

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) 

hasStartReminder = Activar recordatorios de la fecha de inicio del curso (Boolean, opcional) 

status = Estado del curso

enrolmentPolicy = Política de inscripción

requestEnrolmentEndDateMode = Tipo de fecha de fin en solicitud de inscripción

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

extendedFields = Campos extensibles en lista con clave extendedFieldName y valor extendedFieldValue

Validaciones

Obtener todos los cursos (v3)

Método: GET

URL:

Obtener todos los cursos sin paginación:

Obtener todas los cursos con paginación:

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:

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

evaluationType = Sistema de evaluación seleccionado

Validaciones

Todo OK

Obtener todos los cursos (v4)

Método: GET

URL:

Ejemplo: https://demo.central-lms.com/admin/rest/administration/api/courses?startIndex=0&count=100

Parámetros

Cabeceras

Campos devueltos en el Json

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

Validaciones

Todo OK

Obtener todos los cursos (v5)

Método: GET

URL:

Ejemplo: https://demo.central-lms.com/admin/rest/administration/api/courses?startIndex=0&count=100

Parámetros

Cabeceras

Campos devueltos en el Json

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

Validaciones

Todo OK

Obtener todos los cursos (v6)

Método: GET

URL:

Ejemplo: https://demo.central-lms.com/admin/rest/administration/api/courses?startIndex=0&count=100

Parámetros

Cabeceras

Campos devueltos en el Json

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

Validaciones

Todo OK

Obtener todos los cursos (v7)

Método: GET

URL:

Ejemplo: https://demo.central-lms.com/admin/rest/administration/api/courses?startIndex=0&count=100

Parámetros

Cabeceras

Campos devueltos en el Json

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

Validaciones

Todo OK

Obtener curso (v1,v2)

Método: GET

URL:

Obtener por id:

Obtener por 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

Cabeceras

Campos devueltos en el Json

Curso, cada curso consta de los siguientes campos:

Validaciones

Obtener curso (v3)

Método: GET

URL:

Obtener por id:

Obtener por 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

Cabeceras

Campos devueltos en el Json

Curso, cada curso consta de los siguientes campos:

Validaciones

Obtener curso (v4)

Método: GET

URL:

Obtener por id:

Obtener por external id:


Tanto el id como el externalid nunca se referirán a los identificadores del curso padre.

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

Campos devueltos en el Json

Curso, cada curso consta de los siguientes campos:

Validaciones

Obtener curso (v5)

Método: GET

URL:

Obtener por id:

Obtener por external id:

Tanto el id como el externalid nunca se referirán a los identificadores del curso padre.


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

Campos devueltos en el Json

Curso, cada curso consta de los siguientes campos:

Validaciones

Obtener curso (v6)

Método: GET

URL:

Obtener por id:

Obtener por external id:

Tanto el id como el externalid nunca se referirán a los identificadores del curso padre.


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

Campos devueltos en el Json

Curso, cada curso consta de los siguientes campos:

Validaciones

Obtener curso (v7)

Método: GET

URL:

Obtener por id:

Obtener por external id:

Tanto el id como el externalid nunca se referirán a los identificadores del curso padre.


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

Campos devueltos en el Json

Curso, cada curso consta de los siguientes campos:

Validaciones

Eliminar curso

Método: DELETE

URL:

Eliminar por id:

Eliminar por 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

Añadir grupos de administración a un curso

Método: POST

URL:


Recuerda que por motivos de seguridad, el external_id no puede contener los caracteres \ ni /

Ejemplo:

id=51476&id=654165&id=6566

Parámetros

Campos devueltos en el Json (en caso de que algún grupo haya dado error)

Validaciones

Obtener grupos de administración de un curso sin paginar

Método: GET

URL:


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:


Validaciones

Eliminar grupos de administración de un curso

Método: DELETE

URL:


Recuerda que por motivos de seguridad, el external_id no puede contener los caracteres \ ni /

Ejemplo:

id=51476&id=654165&id=6566

Parámetros

Campos devueltos en el Json (en caso de que algún grupo haya dado error)

Validaciones

Añadir tutores a un curso

Método: POST

URL:


Recuerda que por motivos de seguridad, el external_id no puede contener los caracteres \ ni /

Ejemplo:

id=51476&id=654165&id=6566

Parámetros

Campos devueltos en el Json (en caso de que algún grupo haya dado error)

Validaciones

Obtener tutores de un curso sin paginar

Método: GET

URL:


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:

Validaciones


Eliminar tutores de un curso

Método: DELETE

URL:


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

Campos devueltos en el Json (en caso de que algún grupo haya dado error)

Validaciones

Añadir estudiantes a un curso

Método: POST

URL:


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

Campos devueltos en el Json (en caso de que algún usuario haya dado error)

Validaciones

Añadir estudiantes a un curso (v2)

Método: POST

URL:


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

Campos devueltos en el Json (en caso de que algún usuario haya dado error)

Validaciones

Aceptar solicitudes de inscripción a un curso

Método: POST

URL:


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/requests?action=acceptByIds

id=51476&id=654165&id=6566

Parámetros

Campos devueltos en el Json (en caso de que algún usuario haya dado error)

Validaciones

Rechazar solicitudes de inscripción a un curso

Método: POST

URL:


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/requests?action=rejectByIds

id=51476&id=654165&id=6566

Parámetros

Campos devueltos en el Json (en caso de que algún usuario haya dado error)

Validaciones

Obtener estudiantes de un curso con paginado

Método: GET

URL:


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/students?startIndex=0&count=100

Parámetros

Campos devueltos en el Json

Listado de usuarios estudiantes, cada usuario consta de los siguientes campos:

Validaciones


Obtener histórico de inscripciones

Método: GET

URL:


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

Campos devueltos en el Json

Listado de inscripciones, cada inscripción consta de los siguientes campos:

Validaciones

Obtener evaluación de estudiante (v1)

Método: GET

URL:


Recuerda que por motivos de seguridad, el external_id no puede contener los caracteres \ ni /

Ejemplo:

Parámetros

Campos devueltos en el Json

Listado de evaluaciones de los alumnos del curso, cada evaluación consta de los siguientes campos:

Validaciones

Obtener evaluación de estudiante (v2)

Método: GET

URL:


Recuerda que por motivos de seguridad, el external_id no puede contener los caracteres \ ni /

Ejemplo:

Parámetros

Campos devueltos en el Json

Listado de evaluaciones de los alumnos del curso, cada evaluación consta de los siguientes campos:

Validaciones

Obtener evaluación de estudiante (v3)

Método: GET

URL:


Recuerda que por motivos de seguridad, elexternal_idno puede contener los caracteres\ni/


Ejemplo:

Parámetros

Campos devueltos en el Json

Listado de evaluaciones de los alumnos del curso, cada evaluación consta de los siguientes campos:

Validaciones

Modificar evaluación de curso (v2)


Se consumirá sólo un tipo de recurso:

  • Content-Type: application/json

Método: PUT

URL:


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.

Validaciones

Modificar evaluación de curso (v3)


Se consumirá sólo un tipo de recurso:

  • Content-Type: application/json


Método: PUT

URL:


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.

Validaciones

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:


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)


Validaciones

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:

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)

Validaciones

Eliminar estudiantes de un curso

Método: DELETE

URL:


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=removeByIds

id=51476&id=654165&id=6566

Parámetros

Campos devueltos en el Json (en caso de que algún grupo haya dado error)

Validaciones

Añadir destinatarios a un curso

Método: POST

URL:


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/recipients?action=addByIds

collective[0]=2171&collective[1]=2022&collective[4]=2103

Parámetros

Campos devueltos en el Json (en caso de que algún grupo haya dado error)

Validaciones

Obtener destinatarios de un curso sin paginar

Método: GET

URL:


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:

Validaciones

Eliminar destinatarios de un curso

Método: DELETE

URL:


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/recipients?action=removeByIds

collective[0]=2171&collective[1]=2022&collective[4]=2103

Parámetros

Campos devueltos en el Json (en caso de que algún grupo haya dado error)

Validaciones

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


Debe venir informado el parámetro de clonedFromId o el parámetro clonedFromExternalId

Validaciones

Respuesta OK

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


Debe venir informado el parámetro de clonedFromId o el parámetro clonedFromExternalId

Validaciones

Respuesta OK

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

Validaciones

Respuesta OK

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

Validaciones

Respuesta OK

Obtener acciones formativas (v1, v2, v3)

Método: GET

URL: 


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:

Parámetros

Validaciones


Obtener acciones formativas (v4)

Método: GET

URL: 

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:

Parámetros

Validaciones


Añadir enlaces externos a curso

Método: PUT

URL:

Ejemplo: https://demo.central-lms.com/admin/rest/administration/api/courses/2514/externallinks

BODY - application/json


[
    {
      "name": "Hola",
      "urlLink": "https://hola.me"
    },
    ....
    {
       "name": "Adios",
       "urlLink": "https://adios.me"
    }
]


Parámetros

Lista de elementos con los siguientes parámetros:

Validaciones

Respuesta OK


Eliminar enlaces externos de curso

Método: DELETE

URL:

Ejemplo: https://demo.central-lms.com/admin/rest/administration/api/courses/2514/externallinks

Parámetros

Validaciones

Respuesta OK


Obtener plan de curso

Método: GET

URL:

Ejemplo: https://demo.central-lms.com/admin/rest/administration/api/courses/id/25/plan

Validaciones

Respuesta OK

BODY - application/json


{
   "id": 24,
   "name": "Plan"   
    
}