Users
1. Obtener lista de usuarios
- local_contentdata_get_users
Descripción: Servicio para obtener una lista de usuarios filtrada por curso, grupo, rol o texto de búsqueda.
Endpoint: local_contentdata_get_users
Método: GET
Argumentos:
- wstoken: string | token de Manager
- moodlewsrestformat: json | formato de la respuesta
- wsfunction: string | local_contentdata_get_users
- usertoken: string | token del usuario
- text: string | Texto a buscar (nombre, apellido, email) (Opcional)
- courseid: int | ID del curso (Opcional)
- groupid: int | ID del grupo (Opcional)
- roleid: int | ID del rol a listar
- pagination: int | Número de paginación (Opcional, por defecto 0)
Respuestas:
Se obtiene la lista de usuarios
{ "status": 200, "code": 0, "message": "", "body": [ { "id": ID de usuario "fullname": Nombre de usuario "email": Email de usuario "roleid": ID de rol "groupid": ID de promocion "active": Estado activo/inactivo } ]}Error producido si el usuario no tiene permisos
{ "status": 403, "code": 1, "message": "Permission denied", "body": []}Error producido si falta el ID del curso
{ "status": 400, "code": 2, "message": "Courseid parameter missing", "body": []}Error producido si no se encuentra el curso o grupo
{ "status": 404, "code": 3, "message": "Course not found", "body": []}2. Obtener usuarios de grupo (Filtrados)
- local_contentdata_get_group_users
Descripción: Servicio para obtener usuarios de un grupo específico, excluyendo aquellos que ya pertenecen a un equipo o tienen una propuesta aceptada.
Endpoint: local_contentdata_get_group_users
Método: GET
Argumentos:
- wstoken: string | token de Manager
- moodlewsrestformat: json | formato de la respuesta
- wsfunction: string | local_contentdata_get_group_users
- courseid: int | ID del curso
- groupid: int | ID del grupo
Respuestas:
Se obtiene la lista filtrada
{ "status": 200, "code": 0, "message": "", "body": [ { "id": ID del usuario "fullname": Nombre del usuario "email": Email del usuario } ]}3. Obtener cursos asociados al usuario
- local_contentdata_get_user_associated_courses
Descripción: Servicio para obtener la lista de cursos en los que un usuario está inscrito o asignado, incluyendo información de grupos y estado.
Endpoint: local_contentdata_get_user_associated_courses
Método: GET
Argumentos:
- wstoken: string | token de Manager
- moodlewsrestformat: json | formato de la respuesta
- wsfunction: string | local_contentdata_get_user_associated_courses
- userid: int | ID del usuario
Respuestas:
Se obtiene la lista de cursos
{ "status": 200, "code": 0, "message": "", "body": [ { "courseid": ID del curso "categorycourse": Categoría del curso "coursename": Nombre del curso "groupid": ID de la promocion "groupname": NOmbre de la promocion "active": Estado del usuario activo/inactivo } ]}Error producido si no se encuentra el usuario
{ "status": 404, "code": 1, "message": "User not found", "body": []}4. Cambiar rol de usuario
- local_contentdata_change_user_role
Descripción: Servicio para modificar la asignación de rol local de un usuario.
Endpoint: local_contentdata_change_user_role
Método: POST
Argumentos:
- wstoken: string | token de Manager
- moodlewsrestformat: json | formato de la respuesta
- wsfunction: string | local_contentdata_change_user_role
- userid: int | ID del usuario
- roleid: int | Nuevo ID de rol
Respuestas:
Se actualizó el rol
{ "status": 200, "code": 0, "message": ""}Error producido si no se encuentra el usuario
{ "status": 404, "code": 1, "message": "User not found"}Error producido si el ID del rol es inválido
{ "status": 400, "code": 2, "message": "Role id is invalid"}5. Actualizar estado de completitud de actividad
- local_contentdata_update_activity_completion_status
Descripción: Servicio para actualizar manualmente el estado de completitud de varios módulos de curso.
Endpoint: local_contentdata_update_activity_completion_status
Método: POST
Argumentos:
- wstoken: string | token de Manager
- moodlewsrestformat: json | formato de la respuesta
- wsfunction: string | local_contentdata_update_activity_completion_status
- usertoken: string | token del usuario
- cmids: string | IDs de módulos del curso separados por ”,”
- statuses: string | Estados correspondientes separados por ”,”
Respuestas:
Se actualizaron los estados
{ "status": 200, "code": 0, "message": ""}Error producido si la cantidad de IDs y estados no coincide
{ "status": 404, "code": 2, "message": "Course modules ids and statuses count mismatch"}6. Actualizar estado de completitud de quiz
- local_contentdata_update_quiz_completion_status
Descripción: Servicio para marcar los examenes como completados.
Endpoint: local_contentdata_update_quiz_completion_status
Método: POST
Argumentos:
- wstoken: string | token de Manager
- moodlewsrestformat: json | formato de la respuesta
- wsfunction: string | local_contentdata_update_quiz_completion_status
- usertoken: string | token del usuario
- quizzes: string | IDs de cuestionarios separados por ”,”
- statuses: string | Estados correspondientes separados por ”,” (1 para completar)
Respuestas:
Se actualizaron los cuestionarios
{ "status": 200, "code": 0, "message": ""}Error producido si la cantidad de IDs y estados no coincide
{ "status": 404, "code": 2, "message": "Course modules ids and statuses count mismatch"}7. Actualizar fecha extraordinaria de usuario
- local_contentdata_update_user_extraordinary_date
Descripción: Servicio para modificar las fechas de entrega extraordinaria para una actividad específica.
Endpoint: local_contentdata_update_user_extraordinary_date
Método: POST
Argumentos:
- wstoken: string | token de Manager
- moodlewsrestformat: json | formato de la respuesta
- wsfunction: string | local_contentdata_update_user_extraordinary_date
- usertoken: string | token del usuario
- extraordinarydateid: int | ID de la fecha extraordinaria
- cmid: int | ID de la actividad
- starttime: string | Fecha de inicio (formato Y-m-d\TH:i)
- endtime: string | Fecha de fin (formato Y-m-d\TH:i)
- deadline: string | Fecha límite (formato Y-m-d\TH:i) (Opcional)
Respuestas:
Se actualizó la fecha
{ "status": 200, "code": 0, "message": ""}Error producido si no se encuentra el registro de fecha
{ "status": 404, "code": 2, "message": "Date not found"}