Enrol
1. Obtener cursos del usuario
- local_servicerefactor_enrol_get_users_courses
Descripción: Servicio para obtener la lista de cursos en los que un usuario está inscrito, incluyendo su progreso, estado y categoría. Calcula el porcentaje de completitud basándose en los contenidos vistos.
Endpoint: local_servicerefactor_enrol_get_users_courses
Método: GET
Argumentos:
- wstoken: string | token de Manager
- moodlewsrestformat: json | formato de la respuesta
- wsfunction: string | local_servicerefactor_enrol_get_users_courses
- userid: int | ID del usuario
- lang: string | Idioma (opcional, por defecto ‘es’)
Respuestas:
Se obtiene la lista de cursos
{ "body": [ "id": ID del curso "completado_usuario": Porcentaje de avance en el curso "nombre": Nombre del curso "curso_activo": Indicador de curso activo, 1 -> Ni, 0 -> No "descripcion": Descripción del curso "foto": URL de la foto del curso "contenidos_demo": Numero de contenidos demo "demo": Indicador de curso demo "tutorizado": Indicador de curso tutorizado "categoryid": ID de categoría del curso, "estatus_usuario": Estatus del usuario en el curso, 1 activo, 2 inactivo, 3 finalizado ]}2. Inscribir usuario en curso y grupo
- local_servicerefactor_enrol_course_group_user
Descripción: Servicio para matricular manualmente a un usuario en un curso y asignarlo a un grupo específico. Gestiona la lógica para cursos tipo Máster (donde los grupos funcionan como cursos) y cursos normales. También puede crear un calendario personalizado si es un “Curso medio”.
Endpoint: local_servicerefactor_enrol_course_group_user
Método: POST
Argumentos:
- wstoken: string | token de Manager
- moodlewsrestformat: json | formato de la respuesta
- wsfunction: string | local_servicerefactor_enrol_course_group_user
- usertoken: string | token del usuario (requiere permiso 77)
- userid: int | ID del usuario a inscribir
- courseid: int | ID del curso padre
- groupid: int | ID del grupo
- timestart: int | Timestamp de inicio (opcional, por defecto 0)
Respuestas:
Se inscribió al usuario correctamente
{ "status": 200, "code": 0, "message": ""}Error de permisos
{ "status": 403, "code": 1, "message": "Permission denied"}Error si el usuario no existe
{ "status": 404, "code": 2, "message": "User not found"}Error si el usuario no tiene el rol esperado (estudiante)
{ "status": 404, "code": 3, "message": "The user is not a student"}Error si no se encuentra el curso
{ "status": 404, "code": 4, "message": "Course not found"}Error si no se encuentra el grupo
{ "status": 404, "code": 5, "message": "Group not found"}Error si el usuario ya está inscrito
{ "status": 400, "code": 6, "message": "User already enrolled in the course"}3. Validar usuario activo
- local_servicerefactor_active_user_validation
Descripción: Verifica si un usuario tiene una matrícula activa en un curso y grupo específicos. Comprueba el estado de la inscripción en Moodle.
Endpoint: local_servicerefactor_active_user_validation
Método: GET
Argumentos:
- wstoken: string | token de Manager
- moodlewsrestformat: json | formato de la respuesta
- wsfunction: string | local_servicerefactor_active_user_validation
- userid: int | ID del usuario
- courseid: int | ID del curso
- groupid: int | ID del grupo (Opcional, requerido si es Máster)
Respuestas:
El usuario está activo
{ "status": 200, "code": 0, "message": "Active user"}Error si el usuario está inactivo (suspendido)
{ "status": 423, "code": 1, "message": "Inactive user"}Error si no se encuentra el curso
{ "status": 404, "code": 2, "message": "Course not found"}Error si no se encuentra el grupo (en Máster)
{ "status": 404, "code": 3, "message": "Group not found"}Error si el usuario no está matriculado
{ "status": 404, "code": 4, "message": "User not enrolled"}