Panel | ||||||
---|---|---|---|---|---|---|
|
...
- external_id = Id externo (String, obligatorio) Recuerda que por motivos de seguridad, el external_id no puede contener los caracteres \ ni /
- username = Nombre de usuario (String, obligatorio)
- password = Contraseña de usuario (String, opcional)
- Valor por defecto = vacía
- firstName = Nombre (String, obligatorio)
- lastName = Apellidos (String, obligatorio)
- preferredLanguage = Idioma predeterminado (String, obligatorio)
- Valores permitidos = los idiomas de la plataforma:
- en = Inglés, es = Español, pt = Portugués, it = Italiano, gl = Gallego,...
- Valores permitidos = los idiomas de la plataforma:
- personTimezoneId = Zona horaria (String, obligatorio)
- Valor por defecto:
- El correspondiente al campo "PlatformTimezone" en la tabla "configurationSettings", el valor actual es "Europe/Paris"
- Si este no existe, se usa el valor definido en la variable de configuración "configuration.settings.default.timezone", el valor actual es "Etc/GMT"
- Valores permitidos:
- Etc/GMT+12, Etc/GMT+11, Pacific/Honolulu, America/Anchorage, America/Tijuana, America/Los_Angeles, America/Phoenix, America/Chihuahua, America/Denver, America/Guatemala, America/Chicago, America/Mexico_City, America/Regina, America/Bogota, America/New_York, America/Indianapolis, America/Caracas, America/Asuncion, America/Halifax, America/Cuiaba, America/La_Paz, America/Santiago, America/St_Johns, America/Sao_Paulo, America/Buenos_Aires, America/Cayenne, America/Godthab, America/Montevideo, Etc/GMT+2, Etc/GMT+2, Atlantic/Azores, Atlantic/Cape_Verde, Africa/Casablanca, Etc/GMT, Europe/London, Atlantic/Reykjavik, Europe/Berlin, Europe/Budapest, Europe/Paris, Europe/Warsaw, Africa/Lagos, Africa/Windhoek, Asia/Amman, Europe/Istanbul, Asia/Beirut, Africa/Cairo, Asia/Damascus, Africa/Johannesburg, Europe/Kiev, Asia/Jerusalem, Europe/Minsk, Asia/Baghdad, Asia/Riyadh, Africa/Nairobi, Asia/Tehran, Europe/Moscow, Asia/Dubai, Asia/Baku, Indian/Mauritius, Asia/Tbilisi, Asia/Yerevan, Asia/Kabul, Asia/Karachi, Asia/Tashkent, Asia/Calcutta, Asia/Colombo, Asia/Katmandu, Asia/Yekaterinburg, Asia/Almaty, Asia/Dhaka, Asia/Rangoon, Asia/Novosibirsk, Asia/Bangkok, Asia/Krasnoyarsk, Asia/Shanghai, Asia/Singapore, Australia/Perth, Asia/Taipei, Asia/Ulaanbaatar, Asia/Irkutsk, Asia/Tokyo, Asia/Seoul, Australia/Adelaide, Australia/Darwin, Asia/Yakutsk, Australia/Brisbane, Australia/Sydney, Pacific/Port_Moresby, Australia/Hobart, Asia/Vladivostok, Pacific/Guadalcanal, Asia/Magadan, Pacific/Auckland, Etc/GMT-12, Pacific/Fiji, Asia/Kamchatka, Pacific/Tongatapu, Pacific/Apia
- Valor por defecto:
- roles = Roles del usuario (Lista de Strings, obligatorio)
- Valores permitidos:
- SYSTEM_TRAINER
- SYSTEM_ADMINISTRATOR
- SYSTEM_ADMINISTRATOR_TRAINING
- SYSTEM_TEAM_MANAGER
- SYSTEM_STUDENT
- SYSTEM_SUPPORT
- SYSTEM_AUDITOR (prevalece sobre el rol SYSTEM_ADMINISTRATOR)
- Valores permitidos:
- status = Estado (String, obligatorio)
- Valores permitidos:
- ACTIVE
- INACTIVE
- Valores permitidos:
- email = Correo electrónico del usuario (String, obligatorio)
- officePhoneNumber = Teléfono de oficina (String, opcional)
- mobilePhoneNumber = Teléfono móvil (String, opcional)
- address = Dirección (String, opcional)
- jobTitle = Puesto (String, opcional)
- location = Departamento (String, opcional)
- organization = Compañía (String, opcional)
- aboutMe = Sobre mí (String, opcional)
- interests = Intereses (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 --> un valor de la lista
- Valores permitidos:
- teamManagerUsername = Nombre de usuario de un jefe de equipo (String, opcional)
...
- external_id = Id externo (String, obligatorio) Recuerda que por motivos de seguridad, el external_id no puede contener los caracteres \ ni /
- username = Nombre de usuario (String, obligatorio)
- firstName = Nombre (String, obligatorio)
- lastName = Apellidos (String, obligatorio)
- preferredLanguage = Idioma predeterminado (String, obligatorio)
- Valores permitidos = los idiomas de la plataforma:
- en = Inglés, es = Español, pt = Portugués, it = Italiano, gl = Gallego,...
- Valores permitidos = los idiomas de la plataforma:
- personTimezoneId = Zona horaria (String, obligatorio)
- Valor por defecto :
- El correspondiente al campo "PlatformTimezone" en la tabla "configurationSettings", el valor actual es "Europe/Paris"
- Si este no existe, se usa el valor definido en la variable de configuración "configuration.settings.default.timezone", el valor actual es "Etc/GMT"
- Valores permitidos:
- Etc/GMT+12, Etc/GMT+11, Pacific/Honolulu, America/Anchorage, America/Tijuana, America/Los_Angeles, America/Phoenix, America/Chihuahua, America/Denver, America/Guatemala, America/Chicago, America/Mexico_City, America/Regina, America/Bogota, America/New_York, America/Indianapolis, America/Caracas, America/Asuncion, America/Halifax, America/Cuiaba, America/La_Paz, America/Santiago, America/St_Johns, America/Sao_Paulo, America/Buenos_Aires, America/Cayenne, America/Godthab, America/Montevideo, Etc/GMT+2, Etc/GMT+2, Atlantic/Azores, Atlantic/Cape_Verde, Africa/Casablanca, Etc/GMT, Europe/London, Atlantic/Reykjavik, Europe/Berlin, Europe/Budapest, Europe/Paris, Europe/Warsaw, Africa/Lagos, Africa/Windhoek, Asia/Amman, Europe/Istanbul, Asia/Beirut, Africa/Cairo, Asia/Damascus, Africa/Johannesburg, Europe/Kiev, Asia/Jerusalem, Europe/Minsk, Asia/Baghdad, Asia/Riyadh, Africa/Nairobi, Asia/Tehran, Europe/Moscow, Asia/Dubai, Asia/Baku, Indian/Mauritius, Asia/Tbilisi, Asia/Yerevan, Asia/Kabul, Asia/Karachi, Asia/Tashkent, Asia/Calcutta, Asia/Colombo, Asia/Katmandu, Asia/Yekaterinburg, Asia/Almaty, Asia/Dhaka, Asia/Rangoon, Asia/Novosibirsk, Asia/Bangkok, Asia/Krasnoyarsk, Asia/Shanghai, Asia/Singapore, Australia/Perth, Asia/Taipei, Asia/Ulaanbaatar, Asia/Irkutsk, Asia/Tokyo, Asia/Seoul, Australia/Adelaide, Australia/Darwin, Asia/Yakutsk, Australia/Brisbane, Australia/Sydney, Pacific/Port_Moresby, Australia/Hobart, Asia/Vladivostok, Pacific/Guadalcanal, Asia/Magadan, Pacific/Auckland, Etc/GMT-12, Pacific/Fiji, Asia/Kamchatka, Pacific/Tongatapu, Pacific/Apia
- Valor por defecto :
- roles = Roles del usuario (Lista de Strings, obligatorio)
- Valores permitidos:
- SYSTEM_TRAINER
- SYSTEM_ADMINISTRATOR
- SYSTEM_ADMINISTRATOR_TRAINING
- SYSTEM_TEAM_MANAGER
- SYSTEM_STUDENT
- SYSTEM_SUPPORT
- SYSTEM_AUDITOR (prevalece sobre el rol SYSTEM_ADMINISTRATOR)
- Valores permitidos:
- status = Estado (String, obligatorio)
- Valores permitidos:
- ACTIVE
- INACTIVE
- Valores permitidos:
- email = Correo electrónico del usuario (String, obligatorio)
- officePhoneNumber = Teléfono de oficina (String, opcional)
- mobilePhoneNumber = Teléfono móvil (String, opcional)
- address = Dirección (String, opcional)
- jobTitle = Puesto (String, opcional)
- location = Departamento (String, opcional)
- organization = Compañía (String, opcional)
- aboutMe = Sobre mí (String, opcional)
- interests = Intereses (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 --> un valor de la lista
- Valores permitidos:
- teamManagerUsername = Nombre de usuario de un jefe de equipo (String, opcional)
...
- SYSTEM_SUPPORT = True/False. Indica si el usuario tiene rol soporte.
- SYSTEM_ADMINISTRATOR = True/False. Indica si el usuario tiene rol administrador.
- SYSTEM_TRAINER = True/False. Indica si el usuario tiene rol formador o jefe de equipo.
- SYSTEM_STUDENT = True/False.Indica si el usuario tiene rol alumno.
- SYSTEM_ADMINISTRATOR_TRAINING = True/False. Indica si el usuario tiene rol administrador de la formación.
- SYSTEM_AUDITOR = True/False. Indica si el usuario tiene rol auditor.
Validaciones
- No existe el usuario --> Error 404 (Not Found)
- No se le pasó el parámetro obligatorio /id/externalid/username --> Error 400
- Error inesperado --> Error 500 (Internal Server Error)
- Todo OK --> 200 (OK) + JSON
...
- https://demo.central-lms.com/admin/rest/administration/api/users/id/1/roles
- https://demo.central-lms.com/admin/rest/administration/api/users/externalid/extuser1/roles
- https://demo.central-lms.com/admin/rest/administration/api/users/username/admin/roles
- Form(json):
- {"SYSTEM_ADMINISTRATOR":false,"SYSTEM_SUPPORT":true,"SYSTEM_STUDENT":true,"SYSTEM_TRAINER":false,"SYSTEM_ADMINISTRATOR_TRAINING":false, "SYSTEM_AUDITOR": false}
Cabeceras
- X-origin: Opcional, valores permitidos:
- lCloud: peticiones con origen Learning Cloud
- lCentral: peticiones con origen Learning Central
...
- SYSTEM_SUPPORT = Booleano que indica si el usuario tiene el rol soporte. (True/False, obligatorio )
- SYSTEM_ADMINISTRATOR = Booleano que indica si el usuario tiene el rol administrador. (True/False, obligatorio )
- SYSTEM_TRAINER = Booleano que indica si el usuario tiene el rol formador (Si el usuario tiene activado el rol jefe de equipo, este flag no activará el rol formador. Si se desactiva este rol, ambos serán eliminados (formador+jefe de equipo). (True/False, obligatorio )
- SYSTEM_STUDENT = Booleano que indica si el usuario tiene el rol alumno. (True/False, obligatorio )
- SYSTEM_ADMINISTRATOR_TRAINING =Booleano que indica si el usuario tiene el rol administrador de la formación. (True/False, obligatorio )
- SYSTEM_AUDITOR = Booleano que indica si el usuario tiene el rol auditor. (True/False, obligatorio )
Validations
- No existe el usuario --> Error 404 (Not Found)
- No se le pasó el parámetro obligatorio /id/externalid/username --> Error 400
- No se le pasó el parámetro obligatorio (json con todos los roles) --> Error 400
- Roles incompatibles (soporte sin rol admin || admin y training admin simultáneos) --> Error 400 => Código de error USR004
- No todos los portales y/o el identificador de usuario especificados como parámetro --> Error 400 (Bad Request)
- Error inesperado --> Error 500 (Internal Server Error)
- Todo OK --> 200 (OK).
...
- No hay cursos --> Error 204 (No Content)
- Error en la generación del Json --> Error 503 (Service Unavailable)
- Filtro por usuario incorrecto --> Error 400 (Bad request)
Todo OK
- 200 (OK) + JSON
Dar acceso a usuarios
Método: POST
URL:
- Dar acceso por id:
- /admin/rest/administration/api/sessions/id/{id}/students
- Dar acceso por external id:
- /admin/rest/administration/api/sessions/externalid/{external_id}/students
Ejemplo:
https://clowd-central.learningcloud.me/admin/rest/administration/api/collections/id/2004/students
BODY - application/json
{ "ids" :[ 1 , 2 , 3 ], "externalIds" :[ "ext1" , "ext2" , "ext4" ] } |
Parámetros
Objeto json con dos listados:
- ids = Listado de identificadores de alumnos.
- externalIds = Listado de identificadores externos de alumnos.
Validaciones
- No existe una colección con ese id/externalid --> Error 404 (Not Found) código de error ERR004/ERR005 dependiendo de si es id o externalid.
- La colección tiene política de acceso libre --> Error CLL005/ 400 (Bad Request)
- Errores que provocan un estado 200, se devuelve un listado de json con códigos de errores y se inscriben el resto de alumnos que no dieron error (si no queda ninguno también devuelve un 200).
- Id de alumno no encontrado --> Error CLL006/ 200
- Id externo de alumno no encontrado --> Error CLL007/ 200
- El alumno ya tiene acceso a la colección --> Error CLL004/ 200
- Error inesperado –> Error 500
- Todo OK --> 200 (OK)
Excluir usuarios de colección
Método: DELETE
URL:
- Excluir usuarios por id:
- /admin/rest/administration/api/sessions/id/{id}/removeStudents
- Excluir usuarios por external id:
- /admin/rest/administration/api/sessions/externalid/{external_id}/removeStudents
Ejemplo:
BODY - application/json
{ "ids" :[ 1 , 2 , 3 ], "externalIds" :[ "ext1" , "ext2" , "ext4" ] } |
Parámetros
Objeto json con dos listados:
- ids = Listado de identificadores de alumnos.
- externalIds = Listado de identificadores externos de alumnos.
Validaciones
- No existe una colección con ese id/externalid --> Error 404 (Not Found) código de error ERR004/ERR005 dependiendo de si es id o externalid.
- Errores que provocan un estado 200, se devuelve un listado de json con códigos de errores y se excluyen el resto de alumnos que no dieron error (si no queda ninguno también devuelve un 200).
- Id de alumno no encontrado --> Error CLL006/ 200
- Id externo de alumno no encontrado --> Error CLL007/ 200
- Error inesperado –> Error 500
- Todo OK --> 200 (OK)