Forums
1. Obtener comentarios del foro
- local_servicerefactor_get_forum_comments
Descripción: Obtiene la lista de comentarios (hilos de discusión) de un foro específico, incluyendo las respuestas anidadas y la información de los usuarios autores.
Endpoint: local_servicerefactor_get_forum_comments
Método: GET
Argumentos:
- wstoken: string | token de Manager
- moodlewsrestformat: json | formato de la respuesta
- wsfunction: string | local_servicerefactor_get_forum_comments
- courseid: int | ID del curso
- forumid: int | ID del foro
- groupid: int | ID del grupo (Requerido si es curso Máster)
Respuestas:
Se obtienen los comentarios y respuestas
{ "status": 200, "code": 0, "message": "", "body": [ "commentid": ID de comentario "message": Comentario "date": Fecha del comentario "user": [ "id": ID de usuario "fullname": Nombre del usuario "isPublicAccount": 1 si es cuenta publica, 0 si es privada "picture": URL de foto de perfil ] "reply": [ "commentid": ID de comentario en respuesta "parentid": ID de comentario padre "message": Comentario en respuesta "date": Fecha del comentario "user": [ "id": ID de usuario "fullname": Nombre del usuario "isPublicAccount": 1 si es cuenta publica, 0 si es privada "picture": URL de foto de perfil ] ] ]}Error si no se encuentra el curso
{ "status": 404, "code": 1, "message": "Course not found", "body": []}Error si es Máster y falta el ID de grupo
{ "status": 404, "code": 2, "message": "Required group id", "body": []}Error producido si no se encontró el grupo
{ "status": 404, "code": 3, "message": "Group not found", "body": []}2. Publicar comentario o respuesta
- local_servicerefactor_post_forum_comments_replies
Descripción: Permite a un usuario publicar un nuevo comentario en el foro o responder a uno existente (si se envía “parent”).
Endpoint: local_servicerefactor_post_forum_comments_replies
Método: POST
Argumentos:
- wstoken: string | token de Manager
- moodlewsrestformat: json | formato de la respuesta
- wsfunction: string | local_servicerefactor_post_forum_comments_replies
- courseid: int | ID del curso
- comment: string | Contenido del mensaje
- forumid: int | ID del foro
- userid: int | ID del usuario autor
- parent: int | ID del comentario padre (0 si es un nuevo hilo)
- groupid: int | ID del grupo (Opcional)
Respuestas:
Devuelve el comentario creado
{ "status": 200, "code": 0, "message": "", "body": { "commentid": ID de comentario "message": Comentario "date": Fecha del comentario "user": [ "id": ID de usuario "fullname": Nombre del usuario "isPublicAccount": 1 si es cuenta publica, 0 si es privada "picture": URL de foto de perfil ] "parentid": ID de comentario padre // Solo si es respuesta }}Error si no se encuentra el curso
{ "status": 404, "code": 1, "message": "Course not found", "body": []}Error si es Máster y falta el ID de grupo
{ "status": 404, "code": 2, "message": "Required group id", "body": []}Error producido si no se encontró el grupo
{ "status": 404, "code": 3, "message": "Group not found", "body": []}3. Eliminar comentario del foro
- local_servicerefactor_delete_forum_comments_replies
Descripción: Elimina un comentario específico del foro.
Endpoint: local_servicerefactor_delete_forum_comments_replies
Método: POST
Argumentos:
- wstoken: string | token de Manager
- moodlewsrestformat: json | formato de la respuesta
- wsfunction: string | local_servicerefactor_delete_forum_comments_replies
- commentid: int | ID del comentario a eliminar
Respuestas:
{ "status": 200}4. Obtener calificaciones y estadísticas de foros por módulo
- local_servicerefactor_get_forum_grades_by_module
Descripción: Servicio para obtener un resumen de la participación y calificación del usuario actual en los foros de una sección específica del curso. Calcula la nota media, el número de comentarios realizados y las respuestas recibidas.
Endpoint: local_servicerefactor_get_forum_grades_by_module
Método: GET
Argumentos:
- wstoken: string | token de Manager
- moodlewsrestformat: json | formato de la respuesta
- wsfunction: string | local_servicerefactor_get_forum_grades_by_module
- courseid: int | ID del curso
- section: int | Número de sección (módulo) a consultar
- groupid: int | ID del grupo
Respuestas:
Se obtienen las estadísticas
{ "status": 200, // Implícito "body": [ { "foros": Cantidad de foros en el módulo "nota_media": Calificación promedio "respuestas": Número de respuestas recibidas "comentarios": Número de comentarios } ]}