...
En resumen, la API de Gestión de Usuarios y Cursos es una herramienta fundamental para la administración eficiente de usuarios y cursos en entornos educativos, brindando una interfaz robusta y fácil de usar para integrar funcionalidades clave en cualquier aplicación o plataforma educativa.
POST /
...
api/
...
register_user
Este endpoint se utiliza para crear nuevos usuarios en el sistema.
Bloque de código | ||
---|---|---|
| ||
{
"first_name": "Juan",
"last_name": "Perez",
"email": "juanperez@um.es",
"nif": "12345678A",
"curriculum": "curriculum",
"password": "contraseña"
} |
Parámetros de la solicitud:
first_name
(string, requerido): El nombre del usuario.last_name
(string, requerido): El apellido del usuario.email
(string, requerido): La dirección de correo electrónico del usuario.nif
(string, requerido): El NIF o NIE del usuario.curriculum
(string, opcional): El curriculum del usuario en texto plano.password
(string, opcional): Contraseña que se la asignará en texto plano
POST /
...
api/confirm_course_
...
creation
Confirmación de curso registrado y envío de la URL que le ha asignado el LMS. Se llama a este endpoint una vez que el LMS ha recibido una comunicación de Apache Kafka procedente del POA.
Bloque de código | ||
---|---|---|
| ||
{ "course_poa_uid": "UID DEL CURSO EN EL POA", "course_lms_uid": "UID DEL CURSO EN EL LMS", "lms_url_lms": "https://lms.com/courses/course_lms_uid" } |
Parámetros de la solicitud:
- course_
poa_uid
(string, requerido): El UID que le asignó el POA al curso. Vendrá en el mensaje de Kafka.course_ lms_uid
(string, requerido): El identificador que le ha asignado el LMS al curso. Puede ser en cualquier formato.- lms_url _lms (string, requerido): La URL que le ha asignado el LMS al curso. Debe tener un formato de URL correcto.
GET /api/
...
get_course/{course_lms_uid}
Obtención de información de un curso.
Bloque de código | ||
---|---|---|
| ||
{ "uid": "UID DEL CURSO EN EL POA", "uid_lms": "UID DEL CURSO EN EL LMS", "status": "PENDING_APPROVAL", "title": "Curso de bellasartes", "image_path "description": "https://poa.com/courses/course_bellasartes.jpgDescripción curso de bellasartes", "center": "Universidad de Murcia", "ects_workload": 6, "lms_url": "https://lms.com/courses/course_uid_lms", "inscription_start_date": "2023-05-31 06:00:00", "inscription_finish_date": "2023-06-30 06:00:00", "realization_start_date": "2023-05-31 06:00:00", "realization_finish_date": "2023-06-30 06:00:00", "tags": [ "arte", "pintura" ], "teachers": [ "teacher1@um.es", "teacher2@um.es" ], "students": [ { "email": "student1@um.es", "acceptance_status": "approved"PENDING", "status": true"INSCRIBED" }, { "email": "student2@um.es", "acceptance_status": "approved"PENDING", "status": false"INSCRIBED" } ] } |
Parámetros de la solicitud:
uid
(string): El identificador único del curso en el Plan de Estudios Académico (POA).uid_lms
(string): El identificador único del curso en el Sistema de Gestión del Aprendizaje (LMS, por sus siglas en inglés).status
(string): El estado del curso. Más información: Estados de un curso- INSCRIPTIONINTRODUCTION. En inscripciónintroducción.
ACCEPTED_PUBLICATION. Aceptado para publicación.
- PENDING_INSCRIPTION. Pendiente de inscripción.
PENDING_PUBLICATION. Pendiente de publicación.
- FINISHED. Finalizado
- DEVELOPMENT. En desarrollo.
- INTRODUCTION. En introducción.
- RETIRED. Retirado.
UNDER_CORRECTION_APPROVAL. En subsanación para aprobación.
UNDER_CORRECTION_PUBLICATION. En subsanación para publicación.
PENDING_APPROVAL.
Pendiente de aprobación.APPROVED.
Aprobado.REJECTED.
Rechazado.INSCRIPTION. En inscripción.
ENROLLING: En inscripción.
- DEVELOPMENT. En desarrollo.
- FINISHED. Finalizado
- RETIRED. Retirado.
title
(string): El título del curso.image_path
(string): La URL de la imagen asociada al curso.center
(string): El centro educativo al que pertenece el curso.ects_workload
(integer): La carga de trabajo del curso en créditos ECTS.lms_url
(string): La URL del curso en el LMS.inscription_start_date
(string): La fecha y hora de inicio del período de inscripción al curso en formato "YYYY-MM-DD HH:mm:ss".inscription_finish_date
(string): La fecha y hora de finalización del período de inscripción al curso en formato "YYYY-MM-DD HH:mm:ss".realization_start_date
(string): La fecha y hora de inicio de la realización del curso en formato "YYYY-MM-DD HH:mm:ss".realization_finish_date
(string): La fecha y hora de finalización de la realización del curso en formato "YYYY-MM-DD HH:mm:ss".tags
(array de strings): Las etiquetas asociadas al curso para clasificarlo.teachers
(array de strings): La lista de correos electrónicos de los profesores que imparten el curso.students
(array de objetos): La lista de estudiantes inscritos en el curso, cada uno representado como un objeto con las siguientes propiedades:email
(string): El correo electrónico del estudiante.approved
acceptance_status
(booleanstring): Indica si el estado de la inscripción del estudiante ha sido aprobada o no.
...
- aceptación del usuario por parte de los gestores. Puede devolver los siguientes valores:
- PENDING: El gestor o docente aún no ha validado su participación.
- ACCEPTED: El gestor o docente ha aprobado su participación.
- REJECTED: El gestor o docente ha rechazado su participación.
- status (string): Estado del usuario de cara al curso. Puede devolver los siguientes valores:
- INSCRIBED: El usuario se ha inscrito en el curso.
- ENROLLED: El usuario se ha matriculado.
- aceptación del usuario por parte de los gestores. Puede devolver los siguientes valores:
POST /api/update_course
Actualización de un curso
Bloque de código | ||
---|---|---|
| ||
{ "title": "Curso de bellasartes", "image_path "description": "https://poa.com/courses/course_bellasartes.jpg", "center": "Universidad de Murcia",Descripción del curso" "ects_workload": 6, "lms_url": "https://lms.com/courses/course_uid_lms", "inscription_start_date": "2023-05-31 06:00:00", "inscription_finish_date": "2023-06-30 06:00:00", "realization_start_date": "2023-05-31 06:00:00", "realization_finish_date": "2023-06-30 06:00:00", "tags": [ "arte", "pintura" ] } |
Parámetros de la solicitud:
title
(string): El título del curso.image_path
(string): La URL de la imagen asociada al curso.center
(string): El centro educativo al que pertenece el curso.ects_workload
(integer): La carga de trabajo del curso en créditos ECTS (European Credit Transfer and Accumulation System).lms_url
(string): La URL del curso en el Sistema de Gestión del Aprendizaje (LMS, por sus siglas en inglés).inscription_start_date
(string): La fecha y hora de inicio del período de inscripción al curso en formato "YYYY-MM-DD HH:mm:ss".inscription_finish_date
(string): La fecha y hora de finalización del período de inscripción al curso en formato "YYYY-MM-DD HH:mm:ss".realization_start_date
(string): La fecha y hora de inicio de la realización del curso en formato "YYYY-MM-DD HH:mm:ss".realization_finish_date
(string): La fecha y hora de finalización de la realización del curso en formato "YYYY-MM-DD HH:mm:ss".tags
(array de strings): Las etiquetas asociadas al curso para clasificarlo.
...
POST /api/update_user/{email_user}
Actualización de un usuario mediante su email. Sólo es necesario enviar las propiedades que cambian.
Bloque de código | ||
---|---|---|
| ||
{ "new_email": "newemail@poa.com", "first_name": "user", "last_name": "poa", "nif": "123456789X", "curriculum": "curriculum" } |
Parámetros de la solicitud:
- new_email (string, requeridoopcional): Nuevo email.
first_name
(string, requerido): El nombre del usuario.last_name
(string, requerido): El apellido del usuario.email
(string, requerido): La dirección de correo electrónico del usuario.nif
(string, requerido): El NIF o NIE del usuario.curriculum
(string, opcional): El curriculum del usuario en texto plano.
...
- 200 OK: La solicitud se completó correctamente y se creó el usuario.
- 400 Bad Request: Se encontraron errores en los datos proporcionados. Se devuelve un mensaje detallando los errores.
- 401 Unauthorized: No se proporcionaron credenciales de autenticación válidas.
- 500 Internal Server Error: Se produjo un error interno en el servidor.
- 406 Not Found: El recurso no se ha encontrado.