Skip to content

Courses

1. Obtener contenidos del curso

- local_servicerefactor_course_get_contents

Descripción: Servicio principal para obtener todos los contenidos (módulos) de una sección específica del curso. Devuelve una estructura compleja que puede incluir recursos, exámenes, foros, casos prácticos y datos del TFM si corresponde. Maneja lógica específica para cursos tipo Máster, Medio y Alumni.

Endpoint: local_servicerefactor_course_get_contents
Método: GET
Argumentos:

  • wstoken: string | token de Manager
  • moodlewsrestformat: json | formato de la respuesta
  • wsfunction: string | local_servicerefactor_course_get_contents
  • courseid: int | ID del curso
  • groupid: int | ID del grupo (Actúa como courseid en cursos Máster)
  • userid: int | ID del usuario
  • sectionnumber: int | Número de la sección a consultar
  • lang: string | Idioma (por defecto ‘es’)

Respuestas:

Devuelve la lista de módulos y contenidos con sus estados

{
"status": 200,
"code": 0,
"message": "",
"body": [
"contentcategory": [
"categorysectionid": ID de la categoría de contenido
"title": Titulo del contenido
"description": Descripción del contenido
"type": Tipo del contenido
"url": URL del contenido
"author": Autor
"duration": Duración del contenido
"order": Orden
"photo": Foto
"viewed": Bandera para el contenido visto
"moduleid": ID del modulo (sección)
"contentid": ID del contenido
"secondswatched": Tiempo que usuario vio el contenido
"contentstate": Estado del contenido
"complementarycontent": Identificador de contenido complementario
"cmid": ID de actividad
//Quizzes
"quizid": ID de examen
"quizstate": Estado del examen
"quizannouncement": Categoría del examen (ordinario/extraordinario)
"quiztype": TIpo de examen
"quiznumquestion": Numero de preguntas
"quizavailability": Bandera para saber si esta habilitado el examen
"quizstartdate": Fecha de apertura
"quizenddate": Fecha de cierre
"quizgrade": Calificación del examen
"quizpdfurl": URL de la revisión
"quizpdfurlavailable": Bandera para identificar si está disponible la revisión del examen
//Forums
"forumid": ID del foro
"forumopen": Fecha de apertura
"speaker": Responsable del foro
"urlattachedcontent": [
"url": URL de archivo
]
"forumstartdate": Estado del foro
"forumenddate": Fecha de apertura
"forumstate": Fecha de cierre
"correcion": Bandera para determinar si ya está calificado el foro
"forumgrade": Calificación del foro
"forummaxgrade": Calificación máxima del foro
//Cases
"casoid": ID del caso
"casecategoryid": Categoría del caso
"casetypeid": Tipo de caso
"statement": Estado del caso
"session_link": URL de la sesión
"startdate": Fecha de apertura
"enddate": Fecha de cierre
"deadline": Fecha limite
"dateid": ID de la fecha
"extraordinarydateid": ID de fecha extraordinaria
"casestate": EStado del caso
"userDeliveryDate": Fecha de entrega
"userDelivery": URL del archivo
"teacherCorrection": URL de la corrección del tutor
"casograde": Calificación del caso
"casomaxgrade": Calificación máxima del caso
"comment": Comentario del tutor
"tfm": [
"tfm_forum_id": ID del foro de TFM
"new_message": Notificación de nuevo mensaje en el foro de TFM
"fintalTFMdate": Fecha de cierre del TFM
"proposal": [
"proposalid": ID de propuesta
"title": Nombre de la propuesta
"description": Descripcion de la propuesta
"status": Estado de la propuesta
"dateid": ID de fecha
"startdate": Fecha de apertura para la propuesta
"enddate": Fecha de cierre para la propuesta
"deadline": Fecha limite para la propuesta
"tfmtypes": [
"tfmtypeid": ID de tipo de TFM
"typename": Nombre del tipo de TFM
"freetopic": Bandera para indicar si contiene tema libre
"topics": [
"id": ID de tema
"title": Nombre del tema
]
"typedelivery": Tipo de entrega
"members": Numero de miembros
]
]
"deliveries": [
"cmid": ID de la actividad
"status": Estado de la entrega
"name": Nombre de la entrega
"description": Descripcion de la entrega
"deliverytype": Tipo de entrega
"dateid": ID de fecha
"startdate": Fecha de apertura para la entrega
"enddate": Fecha de cierre para la entrega
"deadline": Fecha limite para la entrega
]
"defenses": [
"cmid": ID de la actividad
"defenseid": ID de defensa
"name": Nombre de la defensa
"deliverytype": Tipo de entrega
"startdate": Fecha de apertura para la defensa
"timezone": Zona horaria
"url": Link de acceso a la sesión
]
"extraordinary_deliveries"[
"cmid": ID de la actividad
"status": Estado de la actividad extraordinaria
"name": Nombre de la actividad extraordinaria
"description": Descripcion de la actividad extraordinaria
"deliverytype": Tipo de la actividad extraordinaria
"extraordinarydateid": ID de fecha para la actividad extraordinaria
"startdate": Fecha de apertura para la actividad extraordinaria
"enddate": Fecha de cierre para la actividad extraordinaria
]
]
]
]
}

2. Obtener secciones del curso

- local_servicerefactor_course_get_sections

Descripción: Obtiene la lista de secciones (temas) del curso con información sobre su estado de completitud, fechas de apertura y disponibilidad de certificados.

Endpoint: local_servicerefactor_course_get_sections
Método: GET
Argumentos:

  • wstoken: string | token de Manager
  • moodlewsrestformat: json | formato de la respuesta
  • wsfunction: string | local_servicerefactor_course_get_sections
  • courseid: int | ID del curso
  • groupid: int | ID del grupo
  • userid: int | ID del usuario
  • lang: string | Idioma (por defecto ‘es’)

Respuestas:

Devuelve el array de secciones directamente

{
'id': ID del módulo
'titulo': Nombre del módulo
'descripcion': Descripcion del módulo
'examen_parcial': Indicador de examen parcial en el módulo
'tfm_disponible': Indicador de tfm en el módulo
'modulo_completado': Indicador si el módulo está completo
'orden_modulo': Orden del módulo
'apertura_modulo': Fecha de apertura del módulo
'modularizado': Indicador si es módulo modularizado
'flag_apertura_modulo': Bandera para indicar si el módulo ya está abierto al alumno
'contenidos_vistos': Número de contenidos vistos
'contenidos_modulo': Número de contenidos en el módulo
'certificado_disponible': Bandera para indicar si el certificado está disponible para el alumno
}

3. Obtener certificado del curso

- local_servicerefactor_get_course_certificate

Descripción: Genera y devuelve la URL del certificado del curso para un usuario específico.

Endpoint: local_servicerefactor_get_course_certificate
Método: GET
Argumentos:

  • wstoken: string | token de Manager
  • moodlewsrestformat: json | formato de la respuesta
  • wsfunction: string | local_servicerefactor_get_course_certificate
  • courseid: int | ID del curso
  • userid: int | ID del usuario
  • skin: string | Identificador del diseño (skin)
  • idioma: string | Idioma del certificado

Respuestas:

Devuelve la URL del PDF generado

{
"url": URL del certificado
}

4. Obtener subtítulos de video

- local_servicerefactor_get_video_subtitles

Descripción: Busca y lista los archivos de subtítulos disponibles (VTT/SRT) para un contenido de video alojado en S3/Cloudfront.

Endpoint: local_servicerefactor_get_video_subtitles
Método: GET
Argumentos:

  • wstoken: string | token de Manager
  • moodlewsrestformat: json | formato de la respuesta
  • wsfunction: string | local_servicerefactor_get_video_subtitles
  • urlcontent: string | URL completa del video

Respuestas:

Devuelve lista de subtítulos encontrados

{
"status": 200,
"code": 0,
"message": "",
"body": [
"ruta": URL de ruta de los subtitulos
"srclang": Idioma abreviado (es, en, pt, etc.)
"label": Idioma
]
}