Skip to content

TFM

1. Crear TFM

- local_contentdata_create_tfm

Descripción: Servicio para crear un nuevo modelo de TFM en el curso.

Endpoint: local_contentdata_create_tfm
Método: POST
Argumentos:

  • wstoken: string | token de Manager
  • moodlewsrestformat: json | formato de la respuesta
  • wsfunction: string | local_contentdata_create_tfm
  • usertoken: string | token del usuario
  • courseid: int | ID del curso
  • name: string | Nombre del TFM
  • description: string | Descripción del TFM (Opcional)
  • responsible: string | IDs de los responsables separados por ”,”

Respuestas:

Se creó el TFM

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

2. Obtener modelos de TFM del curso

- local_contentdata_get_course_tfm_models

Descripción: Servicio para obtener la lista de modelos de TFM de un curso.

Endpoint: local_contentdata_get_course_tfm_models
Método: GET
Argumentos:

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

Respuestas:

Se obtiene la lista de modelos

{
"status": 200,
"code": 0,
"message": "",
"body": [
"id": ID del modelo,
"name": Nombre del modelo de TFM
]
}

3. Obtener información de un TFM

- local_contentdata_get_tfm_info

Descripción: Servicio para obtener la información detallada de un TFM específico, incluyendo archivos y responsables.

Endpoint: local_contentdata_get_tfm_info
Método: GET
Argumentos:

  • wstoken: string | token de Manager
  • moodlewsrestformat: json | formato de la respuesta
  • wsfunction: string | local_contentdata_get_tfm_info
  • usertoken: string | token del usuario
  • courseid: int | ID del curso
  • tfmid: int | ID del TFM

Respuestas:

Se obtiene la información detallada

{
"status": 200,
"code": 0,
"message": "",
"body": {
"tfmid": ID de TFM
"name": Nombre del TFM
"description": Descripción del TFM
"responsible": [
"userid": ID de usuario responsable de TFM
"name": Nombre del responsable
"email": Email del responsable
],
"files": [
"fileid": ID del archivo
"name": Nombre del archivo
"url": Dirección URL
]
}
}

4. Actualizar información de TFM

- local_contentdata_update_tfm_info

Descripción: Servicio para actualizar los datos, responsables y archivos de un TFM.

Endpoint: local_contentdata_update_tfm_info
Método: POST
Argumentos:

  • wstoken: string | token de Manager
  • moodlewsrestformat: json | formato de la respuesta
  • wsfunction: string | local_contentdata_update_tfm_info
  • usertoken: string | token del usuario
  • courseid: int | ID del curso
  • tfmid: int | ID del TFM
  • name: string | Nombre del TFM
  • description: string | Descripción del TFM
  • responsible: string | IDs de responsables separados por ”,”
  • filesdelete: string | IDs de archivos a eliminar separados por ”,” (Opcional)

Respuestas:

Se actualizó el TFM

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

5. Eliminar TFM

- local_contentdata_delete_tfm

Descripción: Servicio para eliminar un TFM y todos sus datos relacionados (propuestas, entregas, archivos).

Endpoint: local_contentdata_delete_tfm
Método: POST
Argumentos:

  • wstoken: string | token de Manager
  • moodlewsrestformat: json | formato de la respuesta
  • wsfunction: string | local_contentdata_delete_tfm
  • usertoken: string | token del usuario
  • courseid: int | ID del curso
  • tfmid: int | ID del TFM

Respuestas:

Se eliminó el TFM

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

6. Crear tipo de TFM

- local_contentdata_create_tfm_type

Descripción: Servicio para crear una tipología de TFM dentro de una propuesta.

Endpoint: local_contentdata_create_tfm_type
Método: POST
Argumentos:

  • wstoken: string | token de Manager
  • moodlewsrestformat: json | formato de la respuesta
  • wsfunction: string | local_contentdata_create_tfm_type
  • usertoken: string | token del usuario
  • proposalid: int | ID de la propuesta
  • name: string | Nombre del tipo de TFM
  • freetopic: int | Incluye tema libre (0 o 1)
  • topics: array | Array de objetos con los temas
  • typedelivery: int | Tipo de entrega
  • members: int | Número de miembros (Opcional)

Respuestas:

Se creó el tipo de TFM

{
"status": 201,
"code": 0,
"message": "",
"body": {
"tfmtypeid": ID del tipo de TFM
}
}

7. Actualizar tipo de TFM

- local_contentdata_update_tfm_type

Descripción: Servicio para modificar un tipo de TFM y sus temas asociados.

Endpoint: local_contentdata_update_tfm_type
Método: POST
Argumentos:

  • wstoken: string | token de Manager
  • moodlewsrestformat: json | formato de la respuesta
  • wsfunction: string | local_contentdata_update_tfm_type
  • usertoken: string | token del usuario
  • tfmtypeid: int | ID del tipo de TFM
  • name: string | Nombre del tipo
  • freetopic: int | Incluye tema libre (0 o 1)
  • topics: array | Estructura: [{ "topicid": int (opcional), "topic": string, "deletetopic": int (opcional) }]
  • typedelivery: int | Tipo de entrega
  • members: int | Número de miembros (Opcional)

Respuestas:

Se actualizó el tipo

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

8. Eliminar tipo de TFM

- local_contentdata_delete_tfm_type

Descripción: Servicio para eliminar un tipo de TFM y sus temas.

Endpoint: local_contentdata_delete_tfm_type
Método: POST
Argumentos:

  • wstoken: string | token de Manager
  • moodlewsrestformat: json | formato de la respuesta
  • wsfunction: string | local_contentdata_delete_tfm_type
  • usertoken: string | token del usuario
  • tfmtypeid: int | ID del tipo de TFM

Respuestas:

Se eliminó el tipo

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

9. Crear propuesta de TFM

- local_contentdata_create_tfm_proposal

Descripción: Servicio para crear una propuesta asociada a un modelo de TFM.

Endpoint: local_contentdata_create_tfm_proposal
Método: POST
Argumentos:

  • wstoken: string | token de Manager
  • moodlewsrestformat: json | formato de la respuesta
  • wsfunction: string | local_contentdata_create_tfm_proposal
  • usertoken: string | token del usuario
  • courseid: int | ID del curso
  • tfmid: int | ID del modelo TFM
  • title: string | Título de la propuesta
  • description: string | Descripción (Opcional)

Respuestas:

Se creó la propuesta

{
"status": 201,
"code": 0,
"message": "",
"body": {
"proposalid": ID de la propuesta creada
}
}

10. Obtener lista de propuestas

- local_contentdata_get_tfm_proposals

Descripción: Obtiene un listado simple de las propuestas asociadas a un TFM.

Endpoint: local_contentdata_get_tfm_proposals
Método: GET
Argumentos:

  • wstoken: string | token de Manager
  • moodlewsrestformat: json | formato de la respuesta
  • wsfunction: string | local_contentdata_get_tfm_proposals
  • usertoken: string | token del usuario
  • courseid: int | ID del curso
  • tfmid: int | ID del modelo TFM

Respuestas:

Se obtine la información.

{
"status": 200,
"code": 0,
"message": "",
"body": [
{
"proposalid": ID de propuesta,
"title": Nombre de la propuesta
}
]
}

11. Información detallada de propuesta

- local_contentdata_get_tfm_proposal_info

Descripción: Obtiene la información completa de una propuesta, incluyendo sus tipos y tópicos asociados.

Endpoint: local_contentdata_get_tfm_proposal_info
Método: GET
Argumentos:

  • wstoken: string | token de Manager
  • moodlewsrestformat: json | formato de la respuesta
  • wsfunction: string | local_contentdata_get_tfm_proposal_info
  • usertoken: string | token del usuario
  • courseid: int | ID del curso
  • proposalid: int | ID de la propuesta

Respuestas:

{
"status": 200,
"code": 0,
"message": "",
"body": {
"proposalid": ID de propuesta
"title": Nombre de la propuesta
"description": Descripcion de 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 del tema
"title": NOmbre del tema
],
"typedelivery": Tipo de entrega
"members": Numero de miembros
]
}
}

12. Actualizar propuesta

- local_contentdata_update_tfm_proposal

Descripción: Actualiza el título y descripción de una propuesta existente.

Endpoint: local_contentdata_update_tfm_proposal
Método: POST
Argumentos:

  • wstoken: string | token de Manager
  • moodlewsrestformat: json | formato de la respuesta
  • wsfunction: string | local_contentdata_update_tfm_proposal
  • usertoken: string | token del usuario
  • courseid: int | ID del curso
  • proposalid: int | ID de la propuesta
  • title: string | Nuevo título
  • description: string | Nueva descripción (Opcional)

Respuestas:

Se actualizó la información

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

13. Eliminar propuesta

- local_contentdata_delete_tfm_proposal

Descripción: Elimina una propuesta, incluyendo sus tipos y tópicos asociados.

Endpoint: local_contentdata_delete_tfm_proposal
Método: POST
Argumentos:

  • wstoken: string | token de Manager
  • moodlewsrestformat: json | formato de la respuesta
  • wsfunction: string | local_contentdata_delete_tfm_proposal
  • usertoken: string | token del usuario
  • courseid: int | ID del curso
  • proposalid: int | ID de la propuesta

Respuestas:

Se eliminó la propuesta

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

14. Crear entrega de TFM

- local_contentdata_create_tfm_delivery

Descripción: Crea una nueva actividad de entrega (ordinaria o final) asociada al TFM.

Endpoint: local_contentdata_create_tfm_delivery
Método: POST
Argumentos:

  • wstoken: string | token de Manager
  • moodlewsrestformat: json | formato de la respuesta
  • wsfunction: string | local_contentdata_create_tfm_delivery
  • usertoken: string | token del usuario
  • courseid: int | ID del curso
  • tfmid: int | ID del modelo TFM
  • title: string | Título de la entrega
  • description: string | Descripción (Opcional)
  • deliverytype: int | 1 para ordinaria, 2 para final, 4 para extraordinaria (Por defecto: 1)

Respuestas:

Se creó la actividad

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

15. Obtener entregas

- local_contentdata_get_tfm_deliveries

Descripción: Listar las entregas configuradas para un modelo de TFM.

Endpoint: local_contentdata_get_tfm_deliveries
Método: GET
Argumentos:

  • wstoken: string | token de Manager
  • moodlewsrestformat: json | formato de la respuesta
  • wsfunction: string | local_contentdata_get_tfm_deliveries
  • usertoken: string | token del usuario
  • courseid: int | ID del curso
  • tfmid: int | ID del modelo TFM

Respuestas:

Se obtiene la lista de entregas del TFM

{
"status": 200,
"code": 0,
"message": "",
"body": [
"tfmdeliveryid": ID de entrega
"name": Nombre de la entrega
"deliverytype": Tipo de entrega
]
}

16. Información de entrega

- local_contentdata_get_tfm_delivery_info

Descripción: Obtiene detalles de una entrega específica.

Endpoint: local_contentdata_get_tfm_delivery_info
Método: GET
Argumentos:

  • wstoken: string | token de Manager
  • moodlewsrestformat: json | formato de la respuesta
  • wsfunction: string | local_contentdata_get_tfm_delivery_info
  • usertoken: string | token del usuario
  • courseid: int | ID del curso
  • tfmdeliveryid: int | ID de la entrega

Respuestas:

{
"status": 200,
"code": 0,
"message": "",
"body": {
"tfmdeliveryid": ID de la entrega
"title": Nombre de la entrega
"description": Descripción
"deliverytype": Tipo de entrega
}
}

17. Actualizar entrega

- local_contentdata_update_tfm_delivery

Descripción: Modifica los datos de una entrega existente.

Endpoint: local_contentdata_update_tfm_delivery
Método: POST
Argumentos:

  • wstoken: string | token de Manager
  • moodlewsrestformat: json | formato de la respuesta
  • wsfunction: string | local_contentdata_update_tfm_delivery
  • usertoken: string | token del usuario
  • courseid: int | ID del curso
  • tfmdeliveryid: int | ID de la entrega
  • title: string | Título
  • description: string | Descripción
  • deliverytype: int | Tipo de entrega (1 o 2)

Respuestas:

Se actualizó la entrega

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

18. Eliminar entrega

- local_contentdata_delete_tfm_delivery

Descripción: Elimina una configuración de entrega.

Endpoint: local_contentdata_delete_tfm_delivery
Método: POST
Argumentos:

  • wstoken: string | token de Manager
  • moodlewsrestformat: json | formato de la respuesta
  • wsfunction: string | local_contentdata_delete_tfm_delivery
  • usertoken: string | token del usuario
  • courseid: int | ID del curso
  • tfmdeliveryid: int | ID de la entrega

Respuestas:

Se eliminó la entrega

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

19. Gestionar grupos del TFM

- local_contentdata_manager_tfm_groups

Descripción: Asigna o elimina el TFM (y sus actividades) a grupos específicos dentro del curso. Crea secciones y calendario si es necesario.

Endpoint: local_contentdata_manager_tfm_groups
Método: POST
Argumentos:

  • wstoken: string | token de Manager
  • moodlewsrestformat: json | formato de la respuesta
  • wsfunction: string | local_contentdata_manager_tfm_groups
  • usertoken: string | token del usuario
  • courseid: int | ID del curso
  • tfmid: int | ID del modelo TFM
  • groupsadd: string | IDs de grupos donde añadir el TFM, separados por ”,” (Opcional)
  • groupsdelete: string | IDs de grupos de donde eliminar el TFM, separados por ”,” (Opcional)

Respuestas:

Se completo el proceso correctamente

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

20. Copiar TFM

- local_contentdata_copy_tfm

Descripción: Clona un modelo de TFM completo (incluyendo archivos, propuestas y entregas) de un curso a otro.

Endpoint: local_contentdata_copy_tfm
Método: POST
Argumentos:

  • wstoken: string | token de Manager
  • moodlewsrestformat: json | formato de la respuesta
  • wsfunction: string | local_contentdata_copy_tfm
  • usertoken: string | token del usuario
  • fromcourseid: int | ID del curso origen
  • tocourseid: int | ID del curso destino
  • tfmid: int | ID del modelo TFM a copiar

Respuestas:

Se copio el TFM correctamente

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

21. Crear defensa de TFM

- local_contentdata_create_tfm_defense

Descripción: Crear una defensa de TFM para usuarios o equipos específicos.

Endpoint: local_contentdata_create_tfm_defense
Método: POST
Argumentos:

  • wstoken: string | token de Manager
  • moodlewsrestformat: json | formato de la respuesta
  • wsfunction: string | local_contentdata_create_tfm_defense
  • usertoken: string | token del usuario
  • courseid: int | ID del curso padre
  • groupid: int | ID del grupo
  • usersids: string | IDs de usuarios separados por ”,” (Opcional)
  • teamsids: string | IDs de equipos separados por ”,” (Opcional)
  • date: string | Fecha de la defensa
  • timezone: string | Zona horaria
  • url: string | URL de la videollamada

Respuestas:

Se creó la defensa de TFM

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

22. Obtener defensas

- local_contentdata_get_tfm_defenses

Descripción: Lista las defensas programadas en un grupo.

Endpoint: local_contentdata_get_tfm_defenses
Método: GET
Argumentos:

  • wstoken: string | token de Manager
  • moodlewsrestformat: json | formato de la respuesta
  • wsfunction: string | local_contentdata_get_tfm_defenses
  • usertoken: string | token del usuario
  • courseid: int | ID del curso
  • groupid: int | ID del grupo

Respuestas:

{
"status": 200,
"code": 0,
"message": "",
"body": [
{
"defenseid": ID de defensa
"date": Fecha de la defensa
"timezone": Zona horaria
"user": [
"userid": ID de usuario
"fullname": Nombre del usuario
"email": Email del usuario
]
"team": [
"userid": ID de usuario
"fullname": Nombre del usuario
"email": Email del usuario
]
}
]
}

23. Información de una defensa

- local_contentdata_get_tfm_defense_info

Descripción: Obtiene los detalles completos de una defensa específica.

Endpoint: local_contentdata_get_tfm_defense_info
Método: GET
Argumentos:

  • wstoken: string | token de Manager
  • moodlewsrestformat: json | formato de la respuesta
  • wsfunction: string | local_contentdata_get_tfm_defense_info
  • usertoken: string | token del usuario
  • courseid: int | ID del curso
  • groupid: int | ID del grupo
  • defenseid: int | ID de la defensa

Respuestas:

{
"status": 200,
"code": 0,
"message": "",
"body": {
"defenseid": ID de defensa
"cmid": ID de actividad (cmid)
"date": Fecha
"timezone": Zona horaria
"url": URL
"user": [
"userid": ID de usuario
"fullname": Nombre del usuario
"email": Email del usuario
]
"teamid" : ID de equipo
"team": [
"userid": ID de usuario
"fullname": Nombre del usuario
"email": Email del usuario
]
}
}

24. Actualizar defensa

- local_contentdata_update_tfm_defense

Descripción: Actualiza la fecha, hora o URL de una defensa.

Endpoint: local_contentdata_update_tfm_defense
Método: POST
Argumentos:

  • wstoken: string | token de Manager
  • moodlewsrestformat: json | formato de la respuesta
  • wsfunction: string | local_contentdata_update_tfm_defense
  • usertoken: string | token del usuario
  • courseid: int | ID del curso
  • groupid: int | ID del grupo
  • defenseid: int | ID de la defensa
  • date: string | Nueva fecha (Opcional)
  • timezone: string | Nueva zona horaria (Opcional)
  • url: string | Nueva URL (Opcional)

Respuestas:

Se actualizó correctamente

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

25. Eliminar defensa

- local_contentdata_delete_tfm_defense

Descripción: Elimina una defensa programada.

Endpoint: local_contentdata_delete_tfm_defense
Método: POST
Argumentos:

  • wstoken: string | token de Manager
  • moodlewsrestformat: json | formato de la respuesta
  • wsfunction: string | local_contentdata_delete_tfm_defense
  • usertoken: string | token del usuario
  • courseid: int | ID del curso
  • groupid: int | ID del grupo
  • defenseid: int | ID de la defensa

Respuestas:

Se eliminó correctamente

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

26. Obtener actividades extraordinarias

- local_contentdata_get_tfm_extraordinary_activities

Descripción: Obtiene la lista de actividades de tipo extraordinario configuradas en el TFM.

Endpoint: local_contentdata_get_tfm_extraordinary_activities
Método: GET
Argumentos:

  • wstoken: string | token de Manager
  • moodlewsrestformat: json | formato de la respuesta
  • wsfunction: string | local_contentdata_get_tfm_extraordinary_activities
  • usertoken: string | token del usuario
  • courseid: int | ID del curso
  • groupid: int | ID del grupo

Respuestas:

Se obtiene la lista correctamente

{
"status": 200,
"code": 0,
"message": "",
"body": [
{
"cmid": ID de la actividad (cmid)
"name": Nombre de la actividad
"deliverytype": Tipo de entrega
}
]
}

27. Obtener información del grupo de TFM

- local_contentdata_get_tfm_group

Descripción: Devuelve toda la estructura del TFM para un grupo: fechas, propuestas, entregas ordinarias y extraordinarias.

Endpoint: local_contentdata_get_tfm_group
Método: GET
Argumentos:

  • wstoken: string | token de Manager
  • moodlewsrestformat: json | formato de la respuesta
  • wsfunction: string | local_contentdata_get_tfm_group
  • usertoken: string | token del usuario
  • courseid: int | ID del curso
  • groupid: int | ID del grupo

Respuestas:

{
"status": 200,
"code": 0,
"message": "",
"body": {
"tfmid": ID de TFM
"fintalTFMdate": Fecha de cierre de TFM
"proposal": [
"proposalid": ID de propuesta
"name": Nombre de la propuesta
"dateid": ID de fecha
"startdate": Fecha de inicio
"enddate": Fecha de cierre
"deadline": Fecha limite
],
"deliveries": [
"cmid": ID de actividad (cmid)
"dateid": ID de fecha
"name": Nombre de la actividad
"startdate": Fecha de inicio
"enddate": Fecha de cierre
"deadline": Fecha limite
],
"extraordinary_deliveries": [
"cmid": ID de actividad (cmid)
"assigneduserid": ID de usuario asignado a la actividad
"assignedusername": Nombre de usuario asignado a la actividad
"assigneduseremail": Email de usuario asignado a la actividad
"name": Nombre de la actividad
"extraordinarydateid": ID de fecha extraordinaria
"startdate": Fecha de inicio
"enddate": Fecha de cierre
"deliverytype": Tipo de entrega
"teamid": ID de equipo
"team" [
"userid": ID de usuario
"fullname": Nombre de usuario
"email": Email de usuario
]
]
}
}

28. Obtener propuestas de usuarios

- local_contentdata_get_users_proposals

Descripción: Obtiene las propuestas enviadas por los usuarios o equipos en un grupo específico.

Endpoint: local_contentdata_get_users_proposals
Método: GET
Argumentos:

  • wstoken: string | token de Manager
  • moodlewsrestformat: json | formato de la respuesta
  • wsfunction: string | local_contentdata_get_users_proposals
  • usertoken: string | token del usuario
  • courseid: int | ID del curso
  • groupid: int | ID del grupo
  • proposalid: int | ID de la propuesta

Respuestas:

{
"status": 200,
"code": 0,
"message": "0",
"body": {
"proposals": [
{
"deliveryid": ID de entrega
"proposalid": ID de propuesta
"team" [
"userid": ID de usuario
"fullname": Nombre de usuario
"email": Email de usuario
]
"team" [
"userid": ID de usuario
"fullname": Nombre de usuario
"email": Email de usuario
]
"authorships" [
"userid": ID de usuario
"fullname": Nombre de usuario
"email": Email de usuario
]
"status": Estado de la entrega
"date": Fecha de la entrega
"url": URL de la entrega
"tfm_forum_id": ID del foro de TFM
"new_message": Notificación de nuevo mensaje en el foro
}
],
"users": [ //Usuarios sin propuestas o sin equipo
"userid": ID de usuario
"fullname": Nombre de usuario
"email": Email de usuario
]
}
}

29. Obtener información de propuesta de usuario

- local_contentdata_get_user_proposal_info

Descripción: Devuelve el detalle de una propuesta específica de un alumno o equipo, incluyendo autores, tipo, tema y estado.

Endpoint: local_contentdata_get_user_proposal_info
Método: GET
Argumentos:

  • wstoken: string | token de Manager
  • moodlewsrestformat: json | formato de la respuesta
  • wsfunction: string | local_contentdata_get_user_proposal_info
  • usertoken: string | token del usuario
  • proposalid: int | ID de la propuesta
  • userid: int | ID del usuario

Respuestas:

{
"status": 200,
"code": 0,
"message": "0",
"body": {
"deliveryid": ID de entrega
"topicid": ID de tema elegido
"topic": Nombre del tema
"url": URL de entrega
"authorships" [
"userid": ID de usuario
"fullname": Nombre de usuario
"email": Email de usuario
]
"delivery_date": Fecha de entrega
"typeid": Tipo de TFM
"typedelivery": Tipo de entrega
"type_name": Nombre del tipo de TFM
"status": Estado de la entrega
"startdate": Fecha de apertura de la propuesta
"enddate": Fecha de cierre de la propuesta
"leader": Lider del equipo
"user"[
"userid": ID de usuario
"fullname": Nombre de usuario
"email": Email de usuario
]
"members": Numero de miembros en el equipo
"team"[
"userid": ID de usuario
"fullname": Nombre de usuario
"email": Email de usuario
]
"tfm_forum_id": ID del foro de TFM
"new_message": Notificación de nuevo mensaje en el foro
}
}

30. Actualizar estado de propuesta de estudiante

- local_contentdata_update_student_proposal_status

Descripción: Permite al tutor o administrador cambiar el estado de una propuesta (ej. aceptar, rechazar), gestionar miembros de equipo y dejar comentarios.

Endpoint: local_contentdata_update_student_proposal_status
Método: POST
Argumentos:

  • wstoken: string | token de Manager
  • moodlewsrestformat: json | formato de la respuesta
  • wsfunction: string | local_contentdata_update_student_proposal_status
  • courseid: int | ID del curso
  • groupid: int | ID del grupo
  • deliveryid: int | ID de la entrega de propuesta
  • status: int | Nuevo estado
  • userid: int | ID del usuario
  • comment: string | Comentario (Opcional)
  • authorships: string | IDs de autores separados por ”,” (Opcional)
  • members: string | IDs de miembros de equipo separados por ”,” (Opcional)

Respuestas:

Se cambio correctamente el estado de la propuesta

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

31. Actualizar fechas de propuesta

- local_contentdata_update_proposal_date

Descripción: Modifica las fechas de inicio, fin y límite de una propuesta en el calendario.

Endpoint: local_contentdata_update_proposal_date
Método: POST
Argumentos:

  • wstoken: string | token de Manager
  • moodlewsrestformat: json | formato de la respuesta
  • wsfunction: string | local_contentdata_update_proposal_date
  • proposalid: int | ID de la propuesta
  • dateid: int | ID del registro de fecha
  • starttime: string | Fecha de inicio (Y-m-d\TH:i)
  • endtime: string | Fecha de fin (Y-m-d\TH:i)
  • deadline: string | Fecha límite (Y-m-d\TH:i)

Respuestas:

Se actualizaron correctamente las fechas

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

32. Publicar comentario en foro de TFM

- local_contentdata_post_tfm_forum_comment

Descripción: Publica un comentario en el foro asociado a una entrega o propuesta de TFM. Permite subir archivos.

Endpoint: local_contentdata_post_tfm_forum_comment
Método: POST
Argumentos:

  • wstoken: string | token de Manager
  • moodlewsrestformat: json | formato de la respuesta
  • wsfunction: string | local_contentdata_post_tfm_forum_comment
  • usertoken: string | token del usuario
  • tfm_forum_id: int | ID del foro (generalmente ID de la propuesta/entrega)
  • userid: int | ID del autor
  • comment: string | Texto del comentario
  • refenceCommentid: int | ID del comentario padre (si es respuesta) (Opcional)
  • Files: (Multipart/form-data) Archivos adjuntos

Respuestas:

Devuelve el comentario creado

{
"status": 200,
"code": 0,
"message": "0",
"body": [
"commentid": ID de comentario
"user" [
"userid": ID de usuario
"fullname": Nombre de usuario
"email": Email de usuario
]
"message": Mensaje
"date": Fecha en que se envió el mensaje
"referenceComment" [
"commentid" ID del comentario al que responde
"user" [
"userid": ID de usuario
"fullname": Nombre de usuario
"email": Email de usuario
]
"message": Mensaje al que hace referencia
"date": Fecha del mensaje al que hacer referencia
"filename": Nombre del archivo (si es que el mensaje incluye un archivo)
]
"file"[
"id": ID del archivo
"url": URL del archivo
"name": Nombre del archivo
]
]
}

33. Actualizar comentario de foro

- local_contentdata_update_tfm_forum_comment

Descripción: Edita el texto de un comentario existente.

Endpoint: local_contentdata_update_tfm_forum_comment
Método: POST
Argumentos:

  • wstoken: string | token de Manager
  • moodlewsrestformat: json | formato de la respuesta
  • wsfunction: string | local_contentdata_update_tfm_forum_comment
  • commentid: int | ID del comentario
  • comment: string | Nuevo texto

Respuestas:

El comentario se actualizó con éxito

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

34. Eliminar comentario de foro

- local_contentdata_delete_tfm_forum_comment

Descripción: Elimina un comentario y sus archivos adjuntos si los tiene.

Endpoint: local_contentdata_delete_tfm_forum_comment
Método: POST
Argumentos:

  • wstoken: string | token de Manager
  • moodlewsrestformat: json | formato de la respuesta
  • wsfunction: string | local_contentdata_delete_tfm_forum_comment
  • commentid: int | ID del comentario

Respuestas:

Se eliminó el comentario

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

35. Obtener foro de TFM

- local_contentdata_get_tfm_forum

Descripción: Obtiene el hilo de conversación (comentarios) asociado a una propuesta o entrega.

Endpoint: local_contentdata_get_tfm_forum
Método: GET
Argumentos:

  • wstoken: string | token de Manager
  • moodlewsrestformat: json | formato de la respuesta
  • wsfunction: string | local_contentdata_get_tfm_forum
  • usertoken: string | token del usuario
  • courseid: int | ID del curso
  • groupid: int | ID del grupo
  • tfm_forum_id: int | ID del foro
  • page: int | Número de página (paginación)
  • commentid: int | ID de comentario específico (Opcional)

Respuestas:

Se obtiene el foro de TFM

{
"status": 200,
"code": 0,
"message": "",
"body": {
"tfm_forum_id": ID del foro
"page": Número de pagina de mensajes
"team_members":[
"userid": ID de usuario
"fullname": Nombre de usuario
"email": Email de usuario
]
"comments": [
"commentid": ID de comentario
"user" [
"userid": ID de usuario
"fullname": Nombre de usuario
"email": Email de usuario
]
"message": Mensaje
"date": Fecha en que se envió el mensaje
"update_date": Fecha en que se edito el mensaje (opcional)
"referenceComment" [
"commentid" ID del comentario al que responde
"user" [
"userid": ID de usuario
"fullname": Nombre de usuario
"email": Email de usuario
]
"message": Mensaje al que hace referencia
"date": Fecha del mensaje al que hacer referencia
"filename": Nombre del archivo (si es que el mensaje incluye un archivo)
]
"file"[
"id": ID del archivo
"url": URL del archivo
"name": Nombre del archivo
]
]
}
}

36. Obtener entrega de estudiante

- local_contentdata_get_student_delivery

Descripción: Obtiene el estado, calificación y archivo de una entrega específica de un alumno (o equipo).

Endpoint: local_contentdata_get_student_delivery
Método: GET
Argumentos:

  • wstoken: string | token de Manager
  • moodlewsrestformat: json | formato de la respuesta
  • wsfunction: string | local_contentdata_get_student_delivery
  • usertoken: string | token del usuario
  • courseid: int | ID del curso
  • groupid: int | ID del grupo
  • userid: int | ID del usuario
  • cmid: int | ID del módulo del curso (actividad)
  • extraordinarydateid: int | ID de fecha extraordinaria (Opcional)

Respuestas:

Se obtiene la información de la entrega

{
"status": 200,
"code": 0,
"message": "0",
"body": {
"deliverytitle": Nombre de la entrega
"activityid": ID de actividad (cmid)
"deliveryid": ID de entrega
"grade": Calificación de la entrega
"topicid": ID del tema de TFM
"topic": Nombre del tema de TFM
"url": URL de archivo entregado
"authorships"[
"userid": ID de usuario
"fullname": Nombre de usuario
"email": Email de usuario
]
"delivery_date": Fecha de entrega
"typeid": ID del tipo de entrega
"typedelivery": Tipo de entrega
"type_name": Nombre del tipo de entrega
"status": Estado de la entrega
"startdate": Fecha de apertura para la entrega
"enddate": Fecha de cierre para la entrega
"leader": Fecha limite de entrega
"user": [
"userid": ID de usuario
"fullname": Nombre de usuario
"email": Email de usuario
]
"members": Número de miembro de equipo
"teamid": ID de equipo
"team" [
"userid": ID de usuario
"fullname": Nombre de usuario
"email": Email de usuario
]
"tfm_forum_id": ID del foro de TFM
"new_message": Notificación de nuevo mensaje
}
}

37. Guardar calificación de entrega

- local_contentdata_save_tfm_delivery_grade

Descripción: Guarda la nota y el archivo de corrección para una entrega de alumno o equipo.

Endpoint: local_contentdata_save_tfm_delivery_grade
Método: POST
Argumentos:

  • wstoken: string | token de Manager
  • moodlewsrestformat: json | formato de la respuesta
  • wsfunction: string | local_contentdata_save_tfm_delivery_grade
  • courseid: int | ID del curso
  • groupid: int | ID del grupo
  • cmid: int | ID de la actividad
  • grade: float | Calificación (0-10)
  • userid: int | ID del usuario (Opcional si es equipo)
  • teamid: int | ID del equipo (Opcional si es individual)
  • extraordinarydateid: int | ID fecha extraordinaria (Opcional)
  • Files: (Multipart) Archivo de corrección

Respuestas:

Se actualizó la calificacion correctamente

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

38. Obtener equipos de TFM

- local_contentdata_get_tfm_teams

Descripción: Lista todos los equipos formados y los usuarios con propuestas individuales aprobadas en un grupo.

Endpoint: local_contentdata_get_tfm_teams
Método: GET
Argumentos:

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

Respuestas:

Se obtuvo la lista de equipos

{
"status": 200,
"code": 0,
"message": "",
"body": [
"teamid": ID de equipo
"users": [
"userid": ID de usuario
"fullname": Nombre de usuario
"email": Email de usuario
]
"userid": ID de usuario
"fullname": Nombre de usuario
"email": Email de usuario
]
}

39. Marcar notificación como leída

- local_contentdata_read_notification

Descripción: Actualiza el registro de lectura de comentarios en el foro para el usuario.

Endpoint: local_contentdata_read_notification
Método: POST
Argumentos:

  • wstoken: string | token de Manager
  • moodlewsrestformat: json | formato de la respuesta
  • wsfunction: string | local_contentdata_read_notification
  • tfmforumid: int | ID del foro
  • userid: int | ID del usuario
  • commentid: int | ID del último comentario leído

Respuestas:

Se actualizó la notificación

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

40. Obtener entregas de estudiantes (Listado)

- local_contentdata_get_students_deliveries

Descripción: Obtiene un listado de todas las entregas realizadas para una actividad específica en el grupo, incluyendo usuarios individuales y equipos.

Endpoint: local_contentdata_get_students_deliveries
Método: GET
Argumentos:

  • wstoken: string | token de Manager
  • moodlewsrestformat: json | formato de la respuesta
  • wsfunction: string | local_contentdata_get_students_deliveries
  • usertoken: string | token del usuario
  • courseid: int | ID del curso
  • groupid: int | ID del grupo
  • cmid: int | ID de la actividad

Respuestas:

{
"status": 200,
"code": 0,
"message": "",
"body": {
"deliveries": [
"deliveryid": ID de entrega
"cmid": ID de actividad (cmid)
"teamid": ID de equipo
"user": [
"userid": ID de usuario
"fullname": Nombre de usuario
"email": Email de usuario
]
"team" [
"userid": ID de usuario
"fullname": Nombre de usuario
"email": Email de usuario
]
"status": Estado de la entrega
"date": Fecha de entrega
"url": URL de archivo entregado
"tfm_forum_id": ID del foro de TFM
"new_message": Notificación de nuevo mensaje
],
"users": [ //Usuarios sin entregas o sin equipo
"userid": ID de usuario
"fullname": Nombre de usuario
"email": Email de usuario
]
}
}

41. Obtener lista de promociones que tienen un modelo de TFM especifico

- local_contentdata_get_groups_tfm

Descripción: Obtiene un listado de las promociones que tienen asignado un modelo de TFM especifico.

Endpoint: local_contentdata_get_groups_tfm
Método: GET
Argumentos:

  • wstoken: string | token de Manager
  • moodlewsrestformat: json | formato de la respuesta
  • wsfunction: string | local_contentdata_get_groups_tfm
  • usertoken: string | token del usuario
  • courseid: int | ID del curso
  • tfmid: int | ID del TFM

Respuestas:

{
"status": 200,
"code": 0,
"message": "",
"body": [
"groupid" : ID de grupo
"name" Nombre del grupo
]
}