Skip to content

Users

1. Crear usuarios

- local_servicerefactor_user_create_users

Descripción: Servicio para crear uno o varios usuarios en el sistema, asignándoles un rol y generando credenciales.

Endpoint: local_servicerefactor_user_create_users
Método: POST
Argumentos:

  • wstoken: string | token de Manager
  • moodlewsrestformat: json | formato de la respuesta
  • wsfunction: string | local_servicerefactor_user_create_users
  • firstname: string | Nombre(s) del usuario
  • lastname: string | Apellidos del usuario
  • dni: string | DNI del usuario
  • email: string | Correo electrónico (único)
  • country: string | Código de país (ISO 3166-1 alpha2, ej: ES, MX)
  • city: string | Ciudad
  • phone: string | Teléfono (Opcional)
  • createpassword: int | 1 para generar contraseña y enviar por email (Opcional)
  • changepassword: int | 1 para forzar cambio de contraseña (Opcional)
  • password: string | Contraseña en texto plano (Opcional)
  • roleid: int | ID del rol a asignar

Respuestas:

Usuario creado correctamente

{
"status": 201,
"code": 0,
"message": "",
"body": {
"id": ID de usuario
"fullname": Nombre del usuario
"email": Email del usuario
}
}

2. Cambiar contraseña

- local_servicerefactor_change_password

Descripción: Permite cambiar la contraseña de un usuario validando la contraseña actual. Endpoint: local_servicerefactor_change_password
Método: POST
Argumentos:

  • wstoken: string | token de Manager
  • moodlewsrestformat: json | formato de la respuesta
  • wsfunction: string | local_servicerefactor_change_password
  • userid: int | ID del usuario
  • email: string | Email del usuario
  • password: string | Contraseña actual
  • newpassword: string | Nueva contraseña

Respuestas:

Contraseña cambiada

{
"status": 200,
"code": 0,
"message": ""
}

3. Obtener información de perfil

- local_servicerefactor_user_get_profile_info

Descripción: Obtiene la información detallada del perfil de un usuario, incluyendo campos personalizados como DNI y configuración de perfil público.

Endpoint: local_servicerefactor_user_get_profile_info
Método: GET
Argumentos:

  • wstoken: string | token de Manager
  • moodlewsrestformat: json | formato de la respuesta
  • wsfunction: string | local_servicerefactor_user_get_profile_info
  • userid: int | ID del usuario

Respuestas:

{
"status": 200,
"code": 0,
"message": "",
"body": {
"id": ID del usuario
"name": Nombre del usuario
"lastname": Apellido del usuario
"dni": Identificación del usuario
"email": Email del usuario
"country": País de origen
"city": Ciudad
"phone": Número de Teléfono
"publicprofile": Identificador de perfil publico o privado
"roleid": ID de rol
"active": Identificador activo/inactivo
"lang": Idioma del usuario
}
}

4. Guardar datos de perfil

- local_servicerefactor_user_post_save_profile_data

Descripción: Actualiza la información básica y el DNI del usuario.

Endpoint: local_servicerefactor_user_post_save_profile_data
Método: POST
Argumentos:

  • wstoken: string | token de Manager
  • moodlewsrestformat: json | formato de la respuesta
  • wsfunction: string | local_servicerefactor_user_post_save_profile_data
  • userid: int | ID del usuario
  • firstname: string | Nombre
  • lastname: string | Apellidos
  • dni: string | DNI
  • email: string | Email (para validación)
  • country: string | País
  • city: string | Ciudad
  • phone: string | Teléfono

Respuestas:

{
"status": 200,
"code": 0,
"message": ""
}

5. Cambiar visibilidad de perfil público

- local_servicerefactor_post_change_perfil_publico

Descripción: Actualiza el campo personalizado que determina si el perfil del usuario es público.

Endpoint: local_servicerefactor_post_change_perfil_publico
Método: POST
Argumentos:

  • wstoken: string | token de Manager
  • moodlewsrestformat: json | formato de la respuesta
  • wsfunction: string | local_servicerefactor_post_change_perfil_publico
  • userid: int | ID del usuario
  • valor: int | Nuevo valor (0 o 1)

Respuestas:

{
"status": 200,
"message": "OK"
}

6. Cambiar idioma de usuario

- local_servicerefactor_post_change_user_lang

Descripción: Actualiza el campo personalizado de idioma preferido del usuario.

Endpoint: local_servicerefactor_post_change_user_lang
Método: POST
Argumentos:

  • wstoken: string | token de Manager
  • moodlewsrestformat: json | formato de la respuesta
  • wsfunction: string | local_servicerefactor_post_change_user_lang
  • userid: int | ID del usuario
  • lang: string | Código de idioma (ej. ‘es’, ‘en’)

Respuestas:

{
"status": 200,
"message": "OK"
}

7. Enviar código de recuperación

- local_servicerefactor_send_code_reset_password

Descripción: Genera un código de recuperación de 6 dígitos y lo envía al correo del usuario.

Endpoint: local_servicerefactor_send_code_reset_password
Método: POST
Argumentos:

  • wstoken: string | token de Manager
  • moodlewsrestformat: json | formato de la respuesta
  • wsfunction: string | local_servicerefactor_send_code_reset_password
  • email: string | Correo del usuario

Respuestas:

{
"status": 200,
"code": 0,
"message": ""
}

8. Validar código de recuperación

- local_servicerefactor_validate_code_reset_password

Descripción: Verifica si el código ingresado por el usuario es correcto y no ha expirado (validez de 10 minutos).

Endpoint: local_servicerefactor_validate_code_reset_password
Método: POST
Argumentos:

  • wstoken: string | token de Manager
  • moodlewsrestformat: json | formato de la respuesta
  • wsfunction: string | local_servicerefactor_validate_code_reset_password
  • email: string | Correo del usuario
  • code: string | Código recibido

Respuestas:

Código válido

{
"status": 200,
"code": 0,
"message": ""
}

9. Restablecer contraseña (con código)

- local_servicerefactor_user_reset_password

Descripción: Cambia la contraseña del usuario tras validar el código de recuperación.

Endpoint: local_servicerefactor_user_reset_password
Método: POST
Argumentos:

  • wstoken: string | token de Manager
  • moodlewsrestformat: json | formato de la respuesta
  • wsfunction: string | local_servicerefactor_user_reset_password
  • email: string | Correo del usuario
  • code: string | Código de verificación
  • newpassword: string | Nueva contraseña

Respuestas:

Contraseña restablecida

{
"status": 200,
"code": 0,
"message": ""
}

10. Obtener calificaciones de módulo

- local_servicerefactor_get_user_grade_by_module

Descripción: Obtiene un desglose de las calificaciones del usuario en un módulo específico (sección), incluyendo foros, exámenes y casos prácticos.

Endpoint: local_servicerefactor_get_user_grade_by_module
Método: GET
Argumentos:

  • wstoken: string | token de Manager
  • moodlewsrestformat: json | formato de la respuesta
  • wsfunction: string | local_servicerefactor_get_user_grade_by_module
  • courseid: int | ID del curso
  • sectionnum: int | Número de la sección (módulo)
  • userid: int | ID del usuario
  • groupid: int | ID del grupo (Opcional)

Respuestas:

{
"status": 200,
"code": 0,
"message": "",
"body": {
"nota_media": Calificación promedio del módulo (El modelo evaluativo afecta este valor, dependiendo a que bloque pertenezca el módulo)
"foros": {
"foros": Número de foros en el módulo
"nota_media": Calificación media de foros en el módulo
"respuestas": Número de respuestas recibidas
"comentarios": Número de comentarios realizados
},
"casos": {
"nota_media": Calificación media de casos en el módulo
"total_casos": Total de casos en el módulo
"corregidos": Número de casos corregidos
"presentados": Número de casos presentados
},
"examenes": {
"nota_media": Calificación media de examenes en el módulo
"corregidos": Número de examenes corregidos
"presentados": Número de examenes corregidos
"total_examenes": Total de examenes en el módulo
}
}
}

11. Obtener calendario de eventos

- local_servicerefactor_get_event_calendar

Descripción: Obtiene un listado cronológico de actividades (TFM, entregas, foros) con su estado de apertura y entrega.

Endpoint: local_servicerefactor_get_event_calendar
Método: GET
Argumentos:

  • wstoken: string | token de Manager
  • moodlewsrestformat: json | formato de la respuesta
  • wsfunction: string | local_servicerefactor_get_event_calendar
  • userid: int | ID del usuario
  • courseid: int | ID del curso
  • groupid: int | ID del grupo

Respuestas:

{
"status": 200,
"code": 0,
"message": "",
"body": {
"index_current_module": Número de módulo en el que se encuentra el alumno
"activities": [
"module_id": ID de módulo
"module_name": Nombre del módulo
"activity_name": Nombre de la actividad
"event_type": Tipo de actividad
"start_date": Fecha de apertura
"end_date": Fecha de cierre
"open": Bandera para indicar si la actividad o contenido está disponible
"delivered": Indicador si el alumno completo la actividad
]
}
}

12. Obtener calendario de usuario (Curso Medio)

- local_servicerefactor_get_user_calendar

Descripción: Obtiene fechas de secciones, exámenes y foros personalizadas para el usuario (usado en “Curso medio”).

Endpoint: local_servicerefactor_get_user_calendar
Método: GET
Argumentos:

  • wstoken: string | token de Manager
  • moodlewsrestformat: json | formato de la respuesta
  • wsfunction: string | local_servicerefactor_get_user_calendar
  • userid: int | ID del usuario
  • courseid: int | ID del curso
  • groupid: int | ID del grupo

Respuestas:

{
"status": 200,
"code": 0,
"message": "",
"body": {
"sections": [
'id': ID de módulo (sección)
'name': Nombre del módulo
'section': Número de seccion
'startdate': Fecha de apertura
'enddate': Fecha de cierre
]
"quizzes": [
'id': ID de actividad (cmid)
'name': Nombre del examen
'section': Número de seccion
'startdate': Fecha de apertura
'enddate': Fecha de cierre
'quizcategoryid': Categoría del examen
'quiztypeid': Tipo de examen
]
"forums": [
'id': ID de actividad (cmid)
'name': Nombre del foro
'section': Número de seccion
'startdate': Fecha de apertura
'enddate': Fecha de cierre
]
}
}

13. Crear nota personal

- local_servicerefactor_create_note

Descripción: Crea una nota personal asociada al usuario.

Endpoint: local_servicerefactor_create_note
Método: POST
Argumentos:

  • wstoken: string | token de Manager
  • moodlewsrestformat: json | formato de la respuesta
  • wsfunction: string | local_servicerefactor_create_note
  • usertoken: string | Token del usuario
  • userid: int | ID del usuario
  • title: string | Título de la nota
  • note: string | Contenido de la nota

Respuestas:

{
"status": 200,
"code": 0,
"message": "",
"body": {
"id": ID de la nota
}
}

14. Actualizar nota personal

- local_servicerefactor_update_note

Descripción: Actualiza el contenido de una nota existente.

Endpoint: local_servicerefactor_update_note
Método: POST
Argumentos:

  • wstoken: string | token de Manager
  • moodlewsrestformat: json | formato de la respuesta
  • wsfunction: string | local_servicerefactor_update_note
  • usertoken: string | Token del usuario
  • id: int | ID de la nota
  • title: string | Nuevo título
  • note: string | Nuevo contenido

Respuestas:

{
"status": 200,
"code": 0,
"message": ""
}

15. Obtener nota personal

- local_servicerefactor_get_note

Descripción: Recupera la nota guardada por el usuario.

Endpoint: local_servicerefactor_get_note
Método: GET
Argumentos:

  • wstoken: string | token de Manager
  • moodlewsrestformat: json | formato de la respuesta
  • wsfunction: string | local_servicerefactor_get_note
  • usertoken: string | Token del usuario
  • userid: int | ID del usuario

Respuestas:

{
"status": 200,
"code": 0,
"message": "",
"body": {
"id": ID de nota
"title": Titulo de la nota
"note": Texto en la nota
}
}

16. Obtener calificaciones de casos (Módulo)

- local_servicerefactor_get_casos_grades_by_module

Descripción: Obtiene las estadísticas de calificación específicas para los “casos prácticos” (Assignments) de un módulo.

Endpoint: local_servicerefactor_get_casos_grades_by_module
Método: GET
Argumentos:

  • wstoken: string | token de Manager
  • moodlewsrestformat: json | formato de la respuesta
  • wsfunction: string | local_servicerefactor_get_casos_grades_by_module
  • courseid: int | ID del curso
  • orden: int | Número de sección
  • userid: int | ID del usuario

Respuestas:

{
"nota_media": Calificación media
"total_casos": Número de casos en el módulo
"presentados": Número de casos presentados
"corregidos": Número de casos corregidos
}