Skip to content

Quizzes

1. Crear examen

- local_contentdata_create_quiz

Descripción:
Servicio para crear un nuevo examen.

Endpoint: local_contentdata_create_quiz
Método: POST
Argumentos:

  • wstoken: string | token de Manager
  • moodlewsrestformat: json | formato de la respuesta
  • wsfunction: string | local_contentdata_create_quiz
  • usertoken: string | token del usuario
  • courseid: int | ID de curso
  • sectionnumber: int | Número de módulo
  • numquestions: int | Número de preguntas que respondera el alumno
  • time: int | Tiempo que tiene el alumno para responder el examen
  • quizannouncement: int | categoría del examen (Ordinario/extraordinario)
  • rework: int | Bandera para señalar si el alumno puede repetir el examen
  • restrict_progress: int | Bandera para señalar si el alumno puede seguir avanzando en el curso si no pasa el examen
  • questions: array | array con formato para preguntas

FORMATO PARA LAS PREGUNTAS

'question' = [
'lang' = Idioma de la pregunta (EN, ES, PT, etc.)
'questiontext' = Texto de la pregunta
]
'answers'[
'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)
]

Respuestas:

Se creó el examen correctamente

{
"status": 200,
"code": 0,
"message": "",
"body": [
'id': id de la actividad (cmid)
]
}

2. Eliminar examen

- local_contentdata_delete_quiz

Descripción:
Servicio para eliminar un examen.

Endpoint: local_contentdata_delete_quiz
Método: POST
Argumentos:

  • wstoken: string | token de Manager
  • moodlewsrestformat: json | formato de la respuesta
  • wsfunction: string | local_contentdata_delete_quiz
  • usertoken: string | token del usuario
  • courseid: int | ID de curso
  • sectionnum: int | Número de módulo
  • activityid: int | ID de actividad (cmid)
  • groupid: int | ID de promoción (opcional para eliminar exámenes solo de promociones)

Respuestas:

Se eliminó el examen correctamente

{
"status": 200,
"code": 0,
"message": "",
"body": [
'id': id de la actividad (cmid)
'name': Nombre del examen
]
}

3. Enlistar exámenes de un curso/promoción

- local_contentdata_get_quizzes_by_course

Descripción:
Servicio para enlistar los exámenes que tiene un curso

Endpoint: local_contentdata_get_quizzes_by_course
Método: POST
Argumentos:

  • wstoken: string | token de Manager
  • moodlewsrestformat: json | formato de la respuesta
  • wsfunction: string | local_contentdata_get_quizzes_by_course
  • courseid: int | ID de curso
  • sectionnum: int | Número de módulo
  • groupid: int | ID de promoción (opcional para promociones)

Respuestas:

Se eliminó el examen correctamente

{
"status": 200,
"code": 0,
"message": "",
"body": [
'id' : ID de la actividad
'categoryid' : Categoría del examen
'typeid' : Tipo de examen
'quizid' : ID del examen
'name' : Nombre del examen
'startdate' : Fecha de apertura
'enddate' : Fecha de cierre
]
}

4. Actualizar examen

- local_contentdata_update_quiz

Descripción:
Servicio para actualizar un examen.

Endpoint: local_contentdata_update_quiz
Método: POST
Argumentos:

  • wstoken: string | token de Manager
  • moodlewsrestformat: json | formato de la respuesta
  • wsfunction: string | local_contentdata_update_quiz
  • usertoken: string | token del usuario
  • quizid: int | ID de modulo (cmid)
  • numquestions: int | Número de preguntas que respondera el alumno
  • time: int | Tiempo que tiene el alumno para responder el examen
  • rework: int | Bandera para señalar si el alumno puede repetir el examen
  • restrict_progress: int | Bandera para señalar si el alumno puede seguir avanzando en el curso si no pasa el examen
  • questions: array | array con formato para preguntas

FORMATO PARA LAS PREGUNTAS

'questionid' = ID de pregunta
'delete' = Bandera para eliminar preguntas (es opcional, solo si se desea eliminar la pregunt se envia 1)
'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)
]

Respuestas:

Se editó el examen correctamente

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

5. Obtener los resultados de un examen de un alumno

- local_contentdata_get_user_quiz

Descripción:
Servicio para obtener los resultados de un alumno en un examen.

Endpoint: local_contentdata_get_user_quiz
Método: GET
Argumentos:

  • wstoken: string | token de Manager
  • moodlewsrestformat: json | formato de la respuesta
  • wsfunction: string | local_contentdata_get_user_quiz
  • courseid: int | ID de curso
  • activityid: int | ID de modulo (cmid)
  • userid: int | ID de usuario (alumno)
  • groupid: int | ID del grupo
  • extraordinarydateid: int | ID de asignación de extraordinario (Opcional)

Respuestas:

Se obtuvo la información del examen

{
"status": 200,
"code": 0,
"message": "",
"body": [
'name' : Nombre del alumno
'quizname' : Nombre del examen
'cmid' : ID de actividad
'quizid' : ID del examen
'categoryid' : Categoría del examen
'typeid' : Tipo de examen
'quizstartdate' : Fecha de apertura del examen
'quizenddate' : Fecha de cierre del examen
'final_grade' : Calificación final en el examen
'quizstate' : Estado del examen
'attempts'[
'attemptid' : ID de intento
'attempt_grade' : Calificación del intento
'quizpdfurl' : URL del archivo de respuestas del intento
'attempt_time_start' : Fecha en que inicio el examen el alumno
'attempt_time_finish' : Fecha en que termino el examen el alumno
'attempt_time' : Tiempo que le tomo al alumno para responder el examen
]
]
}

6. Eliminar el intento de un alumno en un examen

- local_contentdata_delete_user_attempt

Descripción:
Servicio para eliminar el intento de un alumno en un examen.

Endpoint: local_contentdata_delete_user_attempt Método: POST
Argumentos:

  • wstoken: string | token de Manager
  • moodlewsrestformat: json | formato de la respuesta
  • wsfunction: string | local_contentdata_delete_user_attempt
  • courseid: int | ID de curso
  • attemptid: int | ID de intento
  • userid: int | ID de usuario (alumno)
  • groupid: int | ID del grupo

Respuestas:

Se eliminó el intento del alumno

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