/
API Grupos

API Grupos

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 grupo/subgrupo

Método: POST

URL: /admin/rest/administration/api/groups

Ejemplo:


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

Parámetros

  • external_id = Id externo (String, obligatorio). (warning) Recuerda que por motivos de seguridad, el external_id no puede contener los caracteres \ ni /
  • name = Nombre del grupo (sin comas) (String, obligatorio)
  • description = Descripción del grupo (String, opcional)
  • parentId = Id del grupo padre si se está creando un subgrupo (Long, 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 válido de la lista

Validaciones

  • Lista de parámetros vacía o algún campo obligatorio sin cubrir--> Error ERR001 / 400 (Bad Request) 
  • El external id nuevo ya existe en un grupo --> Error ERR006 / 400 (Bad Request)
  • El parent id es incorrecto --> Error GRP001 / 400 (Bad Request)
  • El nombre no es válido, las comas no están permitidas --> Error GRP004 / 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

Respuesta OK

  • 201 (Created) + cabecera 'Location' con el link al recurso creado


Modificar grupo/subgrupo

Método: PUT

URL:

  • Modificar por id: 
    • /admin/rest/administration/api/groups/id/{id}
  • Modificar por id externo:
    • /admin/rest/administration/api/groups/externalid/{external_id}


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

Ejemplo:

Parámetros

  • external_id = Id externo nuevo (String, obligatorio)   (warning) Recuerda que por motivos de seguridad, el external_id no puede contener los caracteres \ ni /  
  • name = Nombre del grupo (sin comas) (String, obligatorio)
  • description = Descripción del grupo (String, opcional)
  • parentId = Id del grupo padre si se está creando un subgrupo (Long, 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 válido de la lista

NOTA: Los campos no obligatorios que vayan vacíos se borrarán.

Validaciones

  • Lista de parámetros vacía o algún campo obligatorio sin cubrir --> Error ERR001 / 400 (Bad Request)
  • No existe el grupo --> Error 404 (Not Found)
  • El external id nuevo ya existe en un grupo --> Error ERR006 / 400 (Bad Request)
  • El parent id es incorrecto --> Error GRP001 / 400 (Bad Request)
  • El nombre no es válido, las comas no están permitidas --> Error GRP004 / 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
  • Todo OK --> 200 (OK)


Obtener grupo

Método: GET

URL:

  • Obtener por id: 
    • /admin/rest/administration/api/groups/id/{id}
  • Obtener por external id: 
    • /admin/rest/administration/api/groups/externalid/{external_id}


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

Ejemplo:

Campos devueltos en el Json

Grupo, 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 extendedFieldValue

Validaciones

  • No existe el grupo Error 404 (Not Found)
  • Error en la generación del Json --> Error 503 (Service Unavailable)
  • Todo OK --> 200 (OK) + JSON

Obtener grupos raíz sin paginar

Método: GET

URL: /admin/rest/administration/api/groups

Ejemplo:

Campos devueltos en el Json

Listado de grupos raíz, cada grupo consta de los siguientes campos:

  • id = Identificador
  • external_id = Id externo
  • parentId = Id del grupo al que pertenece en caso de que sea un grupo
  • name = Nombre
  • description = Descripción
  • extendedFields = Campos extensibles

Validaciones

  • El grupo no existe --> Error 404 (Not Found)
  • El grupo no tiene subgrupos --> Error 204 (No Content)
  • Error en la generación del Json --> Error 503 (Service Unavailable)
  • Todo OK --> 200 (OK) + JSON

Obtener subgrupos de un grupo

Método: GET

URL:

  • Obtener por id: 
    • /admin/rest/administration/api/groups/id/{id}/subgroups
  • Obtener por external id:
    • /admin/rest/administration/api/groups/externalid/{external_id}/subgroups


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

Ejemplo:

Campos devueltos en el Json

Listado de subgrupos, cada subgrupo consta de los siguientes campos:

  • id = Identificador
  • external_id = Id externo
  • parentId = Id del grupo al que pertenece en caso de que sea un subgrupo
  • name = Nombre
  • description = Descripción
  • e xtendedFields   = Campos extensibles

Validaciones

  • El grupo no existe --> Error 404 (Not Found)
  • El grupo no tiene subgrupos --> Error 204 (No Content)
  • Error en la generación del Json --> Error 503 (Service Unavailable)
  • Todo OK --> 200 (OK) + JSON


Eliminar grupo/subgrupo

Método: DELETE

URL:

  • Eliminar por id: 
    • /admin/rest/administration/api/groups/id/{id}
  • Eliminar por id externo:
    • /admin/rest/administration/api/groups/externalid/{external_id}


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

Ejemplo:

Cabeceras

  • NLC-includeSubgroups: Opcional, valores permitidos:
    • true: se borrarán también todos los subgrupos que cuelguen del grupo borrado
    • false: no se borrarán subgrupos. Si el grupo tiene subgrupos dará un error de validación.
    • El valor por defecto es false.

Validaciones

  • No existe el grupo --> Error 404 (Not Found)
  • El grupo tiene subgrupos --> Error 400 (Bad Request)
  • Todo OK --> 200 (OK)


Añadir usuarios a un grupo/subgrupo (v1)

Método: POST

URL:

  • Añadir por id: 
    • /admin/rest/administration/api/groups/id/{id}/users?action={action}
  • Añadir por id externo:
    • /admin/rest/administration/api/groups/externalid/{external_id}/users?action={action}


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

Ejemplo:

Parámetros

  • action = acción que se quiere realizar (añadir usando ids de usuarios o ids externos) (String, obligatorio)
    • Valores permitidos 
      • addByUserIds
      • addByUserExternalids
  • id (lista) = cada uno de los identificadores o identificadores externos (String, obligatorio)


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

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 "addByUserIds" y algún id no es numérico --> Error ERR003 / 400 (Bad Request)
  • No existe el grupo --> 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 usuarios a un grupo/subgrupo (v2)

Método: POST

URL:

  • Añadir por id: 
    • /admin/rest/administration/api/groups/id/{id}/users?action={action}
  • Añadir por id externo:
    • /admin/rest/administration/api/groups/externalid/{external_id}/users?action={action}


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

Ejemplo:

Parámetros

  • action = acción que se quiere realizar (añadir usando ids de usuarios o ids externos) (String, obligatorio)
    • Valores permitidos 
      • addByUserIds
      • addByUserExternalids
  • id (lista) = cada uno de los identificadores o identificadores externos (String, obligatorio)


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

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 y los códigos de error
    • GRP002: El usuario no existe
    • GRP003: El usuario ya existe en el grupo

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 "addByUserIds" y algún id no es numérico --> Error ERR003 / 400 (Bad Request)
  • No existe el grupo --> 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 los usuarios de un grupo/subgrupo

Método: GET

URL:

  • Obtener por id: 
    • Sin paginación: /admin/rest/administration/api/groups/id/{id}/users
    • Sin paginación versión reducida: /admin/rest/administration/api/groups/id/{id}/users&reduced=true
    • Con paginación: /admin/rest/administration/api/groups/id/{id}/users?startIndex={startIndex}&count={count}
    • Con paginación versión reducida: /admin/rest/administration/api/groups/id/{id}/users?startIndex={startIndex}&count={count}&reduced=true
  • Obtener por external id: 
    • Sin paginación: /admin/rest/administration/api/groups/externalid/{external_id}/users
    • Sin paginación versión reducida: /admin/rest/administration/api/groups/externalid/{external_id}/users&reduced=true
    • Con paginación: /admin/rest/administration/api/groups/externalid/{external_id}/users ?startIndex={startIndex}&count={count}
    • Con paginación versión reducida: /admin/rest/administration/api/groups/externalid/{external_id}/users ?startIndex={startIndex}&count={count}&reduced=true


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

Ejemplo:

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, cada usuario 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

Cuando se pasa el parámetro reduced=true los campos devueltos serán los siguientes:

  • id = Identificador
  • external_id = Id externo
  • username = Nombre de usuario
  • email = Correo electrónico del usuario
  • status = Estado

Validaciones

  • Índices erróneos --> Error 416 (Requested Range Not Satisfiable)
    • Usando paginación, ambos índices deben tener un valor
  • Si el grupo no existe --> Error 404 (Not Found)
  • No hay usuarios --> Error 204 (No Content)
  • Error en la generación del Json --> Error 503 (Service Unavailable)
  • Todo OK 
    • Si no hay paginación --> 200 (OK) + JSON
    • Si hay paginación --> 206 (Partial Content) + JSON


Eliminar usuarios de un grupo/subgrupo

Método: DELETE

URL:

  • Eliminar por id: 
    • /admin/rest/administration/api/groups/id/{id}/users?action={action}
  • Eliminar por id externo:
    • /admin/rest/administration/api/groups/externalid/{external_id}/users?action={action}


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

Ejemplo:

Parámetros

  • action = acción que se quiere realizar (borrar usando ids de usuarios o ids externos) (String, obligatorio)
    • Valores permitidos 
      • removeByUserIds
      • removeByUserExternalids
  • id (lista) = cada uno de los identificadores o identificadores externos (String, obligatorio)   (warning) Recuerda que por motivos de seguridad, el external_id no puede contener los caracteres \ ni /

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 "removedByUserIds" y algún id no es numérico --> Error ERR003 / 400 (Bad Request)
  • No existe el grupo --> Error 400 (Not Found)
  • Ejecución OK y todos los usuarios han sido eliminados --> 200 (OK)
  • Ejecución OK y algún usuario no ha podido ser eliminado --> 200 (OK) + JSON

Obtener administradores de grupo

Método: GET

URL:

  • Obtener por id: 
    • /admin/rest/administration/api/groups/id/{id}/admins
  • Obtener por external id: 
    • /admin/rest/administration/api/groups/externalid/{external_id}/admins


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

Ejemplo:

Campos devueltos en el Json

Administrador, cada administrador 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 extendedFieldValues
  • teamManagerUsername = Nombre de usuario del jefe de equipo

Validaciones

  • No existe el grupo Error 404 (Not Found)
  • Error en la generación del Json --> Error 503 (Service Unavailable)
  • Todo OK --> 200 (OK) + JSON

Añadir administradores a un grupo/subgrupo

Método: POST

URL:

  • Añadir por id: 
    • /admin/rest/administration/api/groups/id/{id}/admins?action={action}
  • Añadir por id externo:
    • /admin/rest/administration/api/groups/externalid/{external_id}/admins?action={action}


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

Ejemplo:

Parámetros

  • action = acción que se quiere realizar (añadir usando ids de usuarios o ids externos) (String, obligatorio)
    • Valores permitidos 
      • addByUserIds
      • addByUserExternalids
  • id (lista) = cada uno de los identificadores o identificadores externos (String, obligatorio)


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

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 y los códigos de error
    • GRP002: El usuario no existe
    • GRP003: El usuario ya es administrador de grupo
    • GRP005: El usuario no tiene rol de administrador de la formación.

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 "addByUserIds" y algún id no es numérico --> Error ERR003 / 400 (Bad Request)
  • No existe el grupo --> 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

Eliminar administradores de un grupo/subgrupo

Método: DELETE

URL:

  • Añadir por id: 
    • /admin/rest/administration/api/groups/id/{id}/admins?action={action}
  • Añadir por id externo:
    • /admin/rest/administration/api/groups/externalid/{external_id}/admins?action={action}


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

Ejemplo:

Parámetros

  • action = acción que se quiere realizar (añadir usando ids de usuarios o ids externos) (String, obligatorio)
    • Valores permitidos 
      • deleteByUserIds
      • deleteByUserExternalids
  • id (lista) = cada uno de los identificadores o identificadores externos (String, obligatorio)


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

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 y los códigos de error
    • GRP002: El usuario no existe
    • GRP006: El usuario no es administrador del grupo.

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 "deleteByUserIds" y algún id no es numérico --> Error ERR003 / 400 (Bad Request)
  • No existe el grupo --> 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



Related content

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