Skip to content

Gradebook services

Servicios relacionados a los modelos evaluativos en cursos y promociones.

1. Obtener el modelo evaluativo de un curso o promoción.

- local_contentdata_get_course_gradebook

Descripción:
Servicio para obtener el modelo evaluativo de un curso o promoción.

Endpoint: local_contentdata_get_course_gradebook
Método: GET
Argumentos:

  • wstoken: string | token de Manager
  • moodlewsrestformat: json | formato de la respuesta
  • wsfunction: string | local_contentdata_get_course_gradebook
  • courseid: int | id de curso
  • groupid: int | id de grupo

Respuestas:

Se cambio al usuario de grupo

{
"status": 200,
"code": 0,
"message": "",
"body": [
'basecoursecategory': id de la categoria base del curso,
'uncategorizedactivities': actividades que no pertenecen a ningún bloque | [
'activityid': id de la actividad (cmid),
'itemid': id de item,
'itemtype': tipo de item,
'name': nombre de la actividad,
'parentid': id de la categoria padre,
'gradetype': tipo de calificación,
'gradepass': calificación para aprobar,
'grademin': calificación mínima,
'grademax': calificación máxima,
'display': mostrar calificación,
'decimals': cantidad de decimales
'aggregationcoef2': porcentaje de la calificacion total del curso
'weightoverride': bandera para saber si se puede editar el porcentaje de la calificacion (1->si, 0->no)
],
'blocks': [
'id': id del bloque (categoría),
'itemid': id de item,
'itemtype': tipo de item,
'name': nombre del bloque,
'parentid': id de la categoria padre,
'order': orden del bloque,
'aggregation': tipo de ponderación,
'aggregateonlygraded': tomar en cuenta calificaciones iguales a 0 (1->si, 0->no),
'droplow': droplow,
'gradetype': tipo de calificación,
'gradepass': calificación para aprobar,
'grademin': calificación mínima,
'grademax': calificación máxima,
'display': mostrar calificación,
'decimals': cantidad de decimales
'aggregationcoef2': porcentaje de la calificacion total del curso
'weightoverride': bandera para saber si se puede editar el porcentaje de la calificacion (1->si, 0->no),
'modules': [
'activityid': id del módulo (section id),
'itemid': id de item,
'itemtype': tipo de item,
'name': nombre del módulo,
'parentid': id de la categoria padre,
'gradetype': tipo de calificación,
'gradepass': calificación para aprobar,
'grademin': calificación mínima,
'grademax': calificación máxima,
'display': mostrar calificación,
'decimals': cantidad de decimales
'aggregationcoef2': porcentaje de la calificacion total del curso
'weightoverride': bandera para saber si se puede editar el porcentaje de la calificacion (1->si, 0->no)
],
'categories': [
'id': id de la categoría,
'itemid': id de item,
'itemtype': tipo de item,
'name': nombre del bloque,
'parentid': id de la categoria padre,
'order': orden del bloque,
'aggregation': tipo de ponderación,
'aggregateonlygraded': tomar en cuenta calificaciones iguales a 0 (1->si, 0->no),
'droplow': droplow,
'gradetype': tipo de calificación,
'gradepass': calificación para aprobar,
'grademin': calificación mínima,
'grademax': calificación máxima,
'display': mostrar calificación,
'decimals': cantidad de decimales
'aggregationcoef2': porcentaje de la calificacion total del curso
'weightoverride': bandera para saber si se puede editar el porcentaje de la calificacion (1->si, 0->no),
'activities': [
'activityid': id de la actividad (cmid),
'itemid': id de item,
'itemtype': tipo de item,
'name': nombre del módulo,
'parentid': id de la categoria padre,
'gradetype': tipo de calificación,
'gradepass': calificación para aprobar,
'grademin': calificación mínima,
'grademax': calificación máxima,
'display': mostrar calificación,
'decimals': cantidad de decimales
'aggregationcoef2': porcentaje de la calificacion total del curso
'weightoverride': bandera para saber si se puede editar el porcentaje de la calificacion (1->si, 0->no)
]
],
'items': elementos calificables personalizados | [
'activityid': id de la actividad (cmid),
'itemid': id de item,
'itemtype': tipo de item,
'name': nombre del módulo,
'parentid': id de la categoria padre,
'gradetype': tipo de calificación,
'gradepass': calificación para aprobar,
'grademin': calificación mínima,
'grademax': calificación máxima,
'display': mostrar calificación,
'decimals': cantidad de decimales
'aggregationcoef2': porcentaje de la calificacion total del curso
'weightoverride': bandera para saber si se puede editar el porcentaje de la calificacion (1->si, 0->no)
]
]
]
}

2. Mover elementos entre categorías.

- local_contentdata_manage_item_grade_category

Descripción:
Servicio mover elementos entre categorías.

Endpoint: local_contentdata_manage_item_grade_category
Método: GET
Argumentos:

  • wstoken: string | token de Manager
  • moodlewsrestformat: json | formato de la respuesta
  • wsfunction: string | local_contentdata_manage_item_grade_category
  • courseid: int | id de curso
  • itemtype: string | tipo de item
  • itemid: int | id del item
  • newparent: int | id de la categoría padre
  • groupid: int | id del grupo (opcional)

Respuestas:

Se actaulizó el item

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

3. Obtener los grupos que tiene asignado un template.

- local_contentdata_get_group_grades_template

Descripción:
Servicio para obtener los grupos que tiene asignado un template de modelo evaluativo.

Endpoint: local_contentdata_get_group_grades_template
Método: GET
Argumentos:

  • wstoken: string | token de Manager
  • moodlewsrestformat: json | formato de la respuesta
  • wsfunction: string | local_contentdata_get_group_grades_template
  • courseid: int | id de curso
  • categorytemplateid: int | id de curso

Respuestas:

Se cambio al usuario de grupo

{
"status": 200,
"code": 0,
"message": "",
"body": [
'id': id de registro,
'courseid': id de curso,
'groupid': id de grupo,
'categorytemplateid': id de template,
]
}

4. Crear un bloque o categoría en el modelo evaluativo.

- local_contentdata_create_group_grade_category

Descripción:
Servicio para crear un bloque o categoría en el modelo evaluativo aplicado a un curso o promoción.

Endpoint: local_contentdata_create_group_grade_category
Método: GET
Argumentos:

  • wstoken: string | token de Manager
  • moodlewsrestformat: json | formato de la respuesta
  • wsfunction: string | local_contentdata_create_group_grade_category
  • courseid: int | id de curso
  • groupid: int | id de grupo
  • title: string | nombre del bloque,
  • parentid: int | id de la categoria padre,
  • aggregation: int | tipo de ponderación,
  • aggregateonlygraded: int | tomar en cuenta calificaciones iguales a 0 (1->si, 0->no),
  • droplow: int | droplow,
  • gradetype: int | tipo de calificación,
  • gradepass: int | calificación para aprobar,
  • grademin: int | calificación mínima,
  • grademax: int | calificación máxima,
  • display: int | mostrar calificación,
  • decimals: int | cantidad de decimales
  • aggregationcoef2: int | porcentaje de la calificacion total del curso

Respuestas:

Se creó la categoría

{
"status": 200,
"code": 0,
"message": "",
"body": [
'categoryid': id de la categoría,
]
}

5. Obtener la lista de bloques de un modelo evaluativo.

- local_contentdata_get_course_blocks

Descripción:
Servicio para obtener la lista de bloques de un modelo evaluativo.
Endpoint: local_contentdata_get_course_blocks
Método: GET
Argumentos:

  • wstoken: string | token de Manager
  • moodlewsrestformat: json | formato de la respuesta
  • wsfunction: string | local_contentdata_get_course_blocks
  • courseid: int | id de curso
  • groupid: int | id de grupo

Respuestas:

Se obtuvo la lista de bloques

{
"status": 200,
"code": 0,
"message": "",
"body": [
'blockid': id del bloque,
'name': nombre del bloque,
'type': tipo de item
]
}

6. Crear una plantillita predeterminada del modelo evaluativo.

- local_contentdata_create_course_skeleton

Descripción:
Servicio para crear una plantillita predeterminada del modelo evaluativo.

Endpoint: local_contentdata_create_course_skeleton
Método: GET
Argumentos:

  • wstoken: string | token de Manager
  • moodlewsrestformat: json | formato de la respuesta
  • wsfunction: string | local_contentdata_create_course_skeleton
  • usertoken: string | token del usuario
  • courseid: int | id de curso
  • name: string | nombre de la plantilla
  • groupid: int | id de grupo

Respuestas:

Se generó la plantilla

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

7. Actualizar la ponderación de un bloque o categoría.

- local_contentdata_update_block_weight

Descripción:
Servicio para actualizar la ponderación del modelo evaluativo aplicado en una promoción.

Endpoint: local_contentdata_update_block_weight
Método: GET
Argumentos:

  • wstoken: string | token de Manager
  • moodlewsrestformat: json | formato de la respuesta
  • wsfunction: string | local_contentdata_update_block_weight
  • courseid: int | id de curso
  • groupid: int | id de grupo
  • blocks: array |
    • itemid: int | id de item
    • aggregationcoef2: float | ponderación
    • categories: array |
      • itemid: int | id de item
      • aggregationcoef2: float | ponderación
      • activities: array |
        • itemid: int | id de item
        • aggregationcoef2: float | ponderación

*La suma de las ponderaciones debe ser igual a 0 o 100

¿Cómo se vería el array formado? Este es un ejemplo del array formado para enviar la actualización de las ponderaciones

{
"blocks": [
{
"itemid": 1, //id del bloque 1
"aggregationcoef2": 80,
"categories": [
{
"itemid": 101, //id de la categoría 1
"aggregationcoef2": 50,
"activities": [
{
"itemid": 1001, //id de la actividad 1
"aggregationcoef2": 30
},
{
"itemid": 1002, //id de la actividad 2
"aggregationcoef2": 70
}
]
},
{
"itemid": 102, //id de la categoría 2
"aggregationcoef2": 50,
"activities": [
{
"itemid": 1003, //id de la actividad 3
"aggregationcoef2": 100
}
]
}
]
},
{
"itemid": 2, //id del bloque 2
"aggregationcoef2": 20,
"categories": []
}
]
}

¿Qué pasa si tengo una actividad dentro de un bloque pero fuera de una categoría? En estos casos la actividad se comportaría como una categoría y su ponderacion debe sumar como tal por lo que el array quedaría de la siguiente manera

{
"blocks": [
{
"itemid": 1, //id del bloque 1
"aggregationcoef2": 80,
"categories": [
{
"itemid": 101, //id de la categoría 1
"aggregationcoef2": 50,
"activities": [
{
"itemid": 1001, //id de la actividad 1
"aggregationcoef2": 30
},
{
"itemid": 1002, //id de la actividad 2
"aggregationcoef2": 70
}
]
},
{
"itemid": 1003, //id de la actividad 3
"aggregationcoef2": 50,
"activities": []
}
]
},
{
"itemid": 2, //id del bloque 2
"aggregationcoef2": 20,
"categories": []
}
]
}

Respuestas:

Se generó la plantilla

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

8. Eliminar items del modelo evaluativo.

- local_contentdata_delete_item

Descripción:
Servicio para eliminar items del modelo evaluativo aplicado a una promoción.

Endpoint: local_contentdata_delete_item
Método: GET
Argumentos:

  • wstoken: string | token de Manager
  • moodlewsrestformat: json | formato de la respuesta
  • wsfunction: string | local_contentdata_delete_item
  • courseid: int | id de curso
  • itemtype: string | tipo de item
  • itemid: int | id del item
  • groupid: int | id del grupo (opcional)

Respuestas:

Se eliminó el item

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

9. limpiar el modelo evaluativo de una promoción.

- local_contentdata_clean_course_gradebook

Descripción:
Servicio para limpiar el modelo evaluativo de una promoción.

Endpoint: local_contentdata_clean_course_gradebook
Método: GET
Argumentos:

  • wstoken: string | token de Manager
  • moodlewsrestformat: json | formato de la respuesta
  • wsfunction: string | local_contentdata_clean_course_gradebook
  • courseid: int | id de curso
  • groupid: int | id del grupo (opcional)

Respuestas:

Se limpió el modelo evaluativo

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

10. Crear los items de todos los módulos de todos los cursos.

- local_contentdata_create_all_modules_items

Descripción:
Servicio para crear los items de todos los módulos de todos los cursos.

Endpoint: local_contentdata_create_all_modules_items
Método: GET
Argumentos:

  • wstoken: string | token de Manager
  • moodlewsrestformat: json | formato de la respuesta
  • wsfunction: string | local_contentdata_create_all_modules_items
  • userid: int | id de usuario

Respuestas:

Se limpió el modelo evaluativo

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

11. Crear un item calificable.

- local_contentdata_create_activity_item

Descripción:
Servicio para crear un item calificable que no está registrado en moodle.

Endpoint: local_contentdata_create_activity_item
Método: GET
Argumentos:

  • wstoken: string | token de Manager
  • moodlewsrestformat: json | formato de la respuesta
  • wsfunction: string | local_contentdata_create_activity_item
  • courseid: int | id de curso
  • groupid: int | id de grupo
  • title: string | nombre del bloque,
  • parentid: int | id de la categoria padre,
  • gradetype: int | tipo de calificación,
  • gradepass: int | calificación para aprobar,
  • grademin: int | calificación mínima,
  • grademax: int | calificación máxima,
  • display: int | mostrar calificación,
  • decimals: int | cantidad de decimales
  • aggregationcoef2: int | porcentaje de la calificacion total del curso

Respuestas:

Se creó la actividad en el modelo evaluativo

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

12. Actualizar un item calificable.

local_contentdata_update_item

Descripción:
Servicio para actualizar un item calificable.

Endpoint: local_contentdata_update_item
Método: GET
Argumentos:

  • wstoken: string | token de Manager
  • moodlewsrestformat: json | formato de la respuesta
  • wsfunction: string | local_contentdata_update_item
  • courseid: int | id de curso
  • groupid: int | id de grupo
  • itemid: int | id del item
  • title: string | nombre del bloque,
  • parentid: int | id de la categoria padre,
  • gradetype: int | tipo de calificación,
  • gradepass: int | calificación para aprobar,
  • grademin: int | calificación mínima,
  • grademax: int | calificación máxima,
  • display: int | mostrar calificación,
  • decimals: int | cantidad de decimales
  • aggregationcoef2: int | porcentaje de la calificacion total del curso

Respuestas:

Se actualizó el item

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