Skip to content

Managers

1. Obtener calificaciones de usuarios por módulo

- local_servicerefactor_get_users_grades_by_module

Descripción: Obtiene las calificaciones de los usuarios de un grupo específico para una sección (módulo) del curso, calculando los porcentajes según las ponderaciones configuradas para exámenes, foros y casos prácticos.

Endpoint: local_servicerefactor_get_users_grades_by_module
Método: GET
Argumentos:

  • wstoken: string | token de Manager
  • moodlewsrestformat: json | formato de la respuesta
  • wsfunction: string | local_servicerefactor_get_users_grades_by_module
  • courseid: int | ID del curso
  • orden: int | Orden de la sección/módulo
  • groupid: int | ID del grupo

Respuestas:

Devuelve las ponderaciones y las calificaciones de los usuarios

{
"ponderaciones":[
"actividad": Nombre de la actividad
"porcentaje": Porcentaje en el curso
]
"calificaciones": [
"userid": ID de usuario
"nombre": Nombre del usuario
"examenes":
"calificacion": Calificación promedio de los examenes
"porcentaje": Ponderacion de examenes
"foros":
"calificacion": Calificación promedio de los foros
"porcentaje": Ponderacion de foros
"casos":
"calificacion": Calificación promedio de los casos
"porcentaje": Ponderacion de casos
]
}

2. Obtener plantillas de calificación del curso

- local_servicerefactor_get_course_grade_templates

Descripción: Obtiene la lista de plantillas de calificación disponibles para un curso.

Endpoint: local_servicerefactor_get_course_grade_templates
Método: GET
Argumentos:

  • wstoken: string | token de Manager
  • moodlewsrestformat: json | formato de la respuesta
  • wsfunction: string | local_servicerefactor_get_course_grade_templates
  • courseid: int | ID del curso

Respuestas:

Lista de plantillas

[
"id": ID de módulo (section)
"name": Nombre de la plantilla
"categorytemplateid": ID de plantilla
]

3. Crear plantilla de calificación

- local_servicerefactor_create_course_grade_template

Descripción: Crea una nueva plantilla de calificación vacía asociada a un curso.

Endpoint: local_servicerefactor_create_course_grade_template
Método: POST
Argumentos:

  • wstoken: string | token de Manager
  • moodlewsrestformat: json | formato de la respuesta
  • wsfunction: string | local_servicerefactor_create_course_grade_template
  • usertoken: string | token del usuario
  • courseid: int | ID del curso
  • name: string | Nombre de la plantilla

Respuestas:

Se crea la plantilla de calificaciones

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

4. Eliminar plantilla de calificación

- local_servicerefactor_delete_course_grade_template

Descripción: Elimina una plantilla de calificación y toda su estructura asociada (categorías e items).

Endpoint: local_servicerefactor_delete_course_grade_template
Método: POST
Argumentos:

  • wstoken: string | token de Manager
  • moodlewsrestformat: json | formato de la respuesta
  • wsfunction: string | local_servicerefactor_delete_course_grade_template
  • usertoken: string | token del usuario
  • templateid: int | ID de la plantilla
  • courseid: int | ID del curso

Respuestas:

Se elimina la plantilla correctamente

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

5. Obtener estructura de plantilla

- local_servicerefactor_get_grade_template

Descripción: Obtiene la estructura completa (categorías y actividades) de una plantilla de calificación. Devuelve los bloques raíz y sus hijos anidados.

Endpoint: local_servicerefactor_get_grade_template
Método: GET
Argumentos:

  • wstoken: string | token de Manager
  • moodlewsrestformat: json | formato de la respuesta
  • wsfunction: string | local_servicerefactor_get_grade_template
  • templateid: int | ID de la plantilla
  • courseid: int | ID del curso

Respuestas:

Estructura jerárquica de la plantilla

{
"status": 200,
"code": 0,
"message": "",
"body": {
"10": {
"id": ID de categoría
"name": Nombre de categoría
'parentid': Categoría padre
'order': Orden de la categoría
'aggregation': Ponderacion de la categoría
'gradetype': Tipo de calificación
'grademax': Calificación máxima
'grademin': Calificación mínima
'gradepass': Calificación para aprobar
'display': Mostrar calificación
'decimals': Número de decimales en la calificación
'aggregationcoef2': Ponderacion de la categoría
"modules": [
'id': ID de módulos en la categoría
]
"items": [
"id": ID del item
"name": Nombre del item
'parentid': Categoría padre
'order': Orden del item
'gradetype': Tipo de calificación
'grademax': Calificación máxima
'grademin': Calificación mínima
'gradepass': Calificación para aprobar
'display': Mostrar calificación
'decimals': Número de decimales en la calificación
'aggregationcoef2': Ponderacion del item
]
"categories": [
{
"id": ID de categoría
"name": Nombre de categoría
'parentid': Categoría padre
'order': Orden de la categoría
'aggregation': Ponderacion de la categoría
'gradetype': Tipo de calificación
'grademax': Calificación máxima
'grademin': Calificación mínima
'gradepass': Calificación para aprobar
'display': Mostrar calificación
'decimals': Número de decimales en la calificación
'aggregationcoef2': Ponderacion de la categoría
"activities": [
"id": ID de la actividad
"name": Nombre de la actividad
'parentid': Categoría padre
'order': Orden de la actividad
'gradetype': Tipo de calificación
'grademax': Calificación máxima
'grademin': Calificación mínima
'gradepass': Calificación para aprobar
'display': Mostrar calificación
'decimals': Número de decimales en la calificación
'aggregationcoef2': Ponderacion de la actividad
]
}
],
"items": []
}
}
}

6. Crear categoría en plantilla

- local_servicerefactor_create_category_grade_template

Descripción: Agrega una nueva categoría de calificación a una plantilla existente.

Endpoint: local_servicerefactor_create_category_grade_template
Método: POST
Argumentos:

  • wstoken: string | token de Manager
  • moodlewsrestformat: json | formato de la respuesta
  • wsfunction: string | local_servicerefactor_create_category_grade_template
  • usertoken: string | token del usuario
  • templateid: int | ID de la plantilla
  • title: string | Título de la categoría
  • parentid: int | ID de la categoría padre (0 para raíz)
  • aggregation: int | Método de agregación (ej. 13 = Suma, 10 = Media ponderada)
  • aggregateonlygraded: int | Excluir calificaciones vacías (0 o 1)
  • droplow: int | Descartar las X más bajas
  • gradetype: int | Tipo de calificación
  • grademax: int | Calificación máxima
  • grademin: int | Calificación mínima
  • gradepass: int | Calificación para aprobar
  • display: int | Tipo de visualización
  • decimals: int | Decimales
  • aggregationcoef2: int | Coeficiente de peso

Respuestas:

{
"status": 200,
"code": 0,
"message": "",
"body": {
"newcategory": ID de categoría
}
}

7. Actualizar categoría en plantilla

- local_servicerefactor_update_category_grade_template

Descripción: Modifica los parámetros de una categoría existente dentro de una plantilla.

Endpoint: local_servicerefactor_update_category_grade_template
Método: POST
Argumentos:

  • wstoken: string | token de Manager
  • moodlewsrestformat: json | formato de la respuesta
  • wsfunction: string | local_servicerefactor_update_category_grade_template
  • usertoken: string | token del usuario
  • templateid: int | ID de la plantilla
  • categoryid: int | ID de la categoría a editar
  • title: string | Nuevo título
  • parentid: int | ID del padre
  • aggregation: int | Método de agregación (ej. 13 = Suma, 10 = Media ponderada)
  • aggregateonlygraded: int | Excluir calificaciones vacías (0 o 1)
  • droplow: int | Descartar las X más bajas
  • gradetype: int | Tipo de calificación
  • grademax: int | Calificación máxima
  • grademin: int | Calificación mínima
  • gradepass: int | Calificación para aprobar
  • display: int | Tipo de visualización
  • decimals: int | Decimales
  • aggregationcoef2: int | Coeficiente de peso

Respuestas:

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

8. Eliminar categoría de plantilla

- local_servicerefactor_delete_category_grade_template

Descripción: Elimina una categoría de la plantilla. Si tiene hijos, estos se mueven a la raíz (o categoría superior).

Endpoint: local_servicerefactor_delete_category_grade_template
Método: POST
Argumentos:

  • wstoken: string | token de Manager
  • moodlewsrestformat: json | formato de la respuesta
  • wsfunction: string | local_servicerefactor_delete_category_grade_template
  • usertoken: string | token del usuario
  • templateid: int | ID de la plantilla
  • categoryid: int | ID de la categoría a eliminar

Respuestas:

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

9. Crear actividad en plantilla

- local_servicerefactor_create_activity_grade_template

Descripción: Agrega un item de actividad (ej. examen, tarea) a una categoría dentro de la plantilla.

Endpoint: local_servicerefactor_create_activity_grade_template
Método: POST
Argumentos:

  • wstoken: string | token de Manager
  • moodlewsrestformat: json | formato de la respuesta
  • wsfunction: string | local_servicerefactor_create_activity_grade_template
  • usertoken: string | token del usuario
  • templateid: int | ID de la plantilla
  • parentid: int | ID de la categoría padre
  • title: string | Título de la actividad
  • gradetype: int | Tipo de calificación
  • grademax: int | Calificación máxima
  • grademin: int | Calificación mínima
  • gradepass: int | Calificación para aprobar
  • display: int | Tipo de visualización
  • decimals: int | Decimales
  • aggregationcoef2: int | Coeficiente de peso

Respuestas:

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

10. Actualizar actividad en plantilla

- local_servicerefactor_update_activity_grade_template

Descripción: Modifica una actividad existente en la plantilla. Permite moverla de categoría usando “newparentid”.

Endpoint: local_servicerefactor_update_activity_grade_template
Método: POST
Argumentos:

  • wstoken: string | token de Manager
  • moodlewsrestformat: json | formato de la respuesta
  • wsfunction: string | local_servicerefactor_update_activity_grade_template
  • usertoken: string | token del usuario
  • templateid: int | ID de la plantilla
  • activityid: int | ID de la actividad (índice en la lista)
  • categoryid: int | ID de la categoría actual
  • title: string | Título
  • newparentid: int | Nuevo ID de categoría padre (Opcional, para mover)
  • gradetype: int | Tipo de calificación
  • grademax: int | Calificación máxima
  • grademin: int | Calificación mínima
  • gradepass: int | Calificación para aprobar
  • display: int | Tipo de visualización
  • decimals: int | Decimales
  • aggregationcoef2: int | Coeficiente de peso

Respuestas:

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

11. Eliminar actividad de plantilla

- local_servicerefactor_delete_activity_grade_template

Descripción: Elimina una actividad específica de una plantilla.

Endpoint: local_servicerefactor_delete_activity_grade_template
Método: POST
Argumentos:

  • wstoken: string | token de Manager
  • moodlewsrestformat: json | formato de la respuesta
  • wsfunction: string | local_servicerefactor_delete_activity_grade_template
  • usertoken: string | token del usuario
  • templateid: int | ID de la plantilla
  • activityid: int | ID de la actividad
  • categoryid: int | ID de la categoría

Respuestas:

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

12. Asignar plantilla de calificaciones al curso

- local_servicerefactor_assign_course_grades

Descripción: Aplica una plantilla de calificación a un curso o grupo. Esto crea las categorías y items de calificación reales en el libro de calificaciones de Moodle basándose en la plantilla.

Endpoint: local_servicerefactor_assign_course_grades
Método: POST
Argumentos:

  • wstoken: string | token de Manager
  • moodlewsrestformat: json | formato de la respuesta
  • wsfunction: string | local_servicerefactor_assign_course_grades
  • usertoken: string | token del usuario
  • courseid: int | ID del curso
  • templateid: int | ID de la plantilla a aplicar
  • groupid: int | ID del grupo (Opcional, para cursos Máster)

Respuestas:

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

13. Obtener examen (Quiz)

- local_servicerefactor_get_quiz

Descripción: Obtiene la información detallada de un cuestionario, incluyendo sus ajustes, fechas y las preguntas que contiene.

Endpoint: local_servicerefactor_get_quiz
Método: GET
Argumentos:

  • wstoken: string | token de Manager
  • moodlewsrestformat: json | formato de la respuesta
  • wsfunction: string | local_servicerefactor_get_quiz
  • quizid: int | ID del módulo del curso (cmid) del examen

Respuestas:

{
"status": 200,
"code": 0,
"message": "",
"body":[
"quizid": ID de examen
'quizname' : Nombre del examen
"quizannouncement": Categoría del examen (ordinario/extraordinario)
"quiztype": Tipo de examen
"rework": Bandera para señalar si el alumno puede repetir el examen
"numquestions": Número de preguntas que respondera el alumno
"time": Tiempo para realizar el examen
"attempts": Número de intentos
"availability": [
"start": Fecha de apertura
"end": Fecha de cierre
]
"questions": [
'questionid' = ID de pregunta
'questionname' = Nombre de la pregunta
'question' = [
'lang' = Idioma de la pregunta (EN, ES, PT, etc.)
'questiontext' = Texto de la pregunta
]
'answers'[
'answerid' = ID de respuesta
'answer'[
'lang' = Idioma de la respuesta (EN, ES, PT, etc.)
'answertext' = Texto de la respuesta
]
'correctanswer' = Bandera para indicar si la respuesta es correcta o no, se puede seleccionar más de una respuesta correcta (1->correcta, 0->incorrecta)
]
]
]
}

14. Restablecer contraseña de usuario

- local_servicerefactor_reset_user_password

Descripción: Permite a un gestor (Manager/Admin) restablecer la contraseña de un estudiante utilizando un token de validación.

Endpoint: local_servicerefactor_reset_user_password
Método: POST
Argumentos:

  • wstoken: string | token de Manager
  • moodlewsrestformat: json | formato de la respuesta
  • wsfunction: string | local_servicerefactor_reset_user_password
  • email: string | Email del estudiante
  • token: string | Token del gestor
  • newpassword: string | Nueva contraseña

Respuestas:

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