Árbol de páginas

Versiones comparadas

Clave

  • Se ha añadido esta línea.
  • Se ha eliminado esta línea.
  • El formato se ha cambiado.

...

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
themeMidnight
{
    "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
themeMidnight
{
    "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
themeMidnight
{
    "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.

POST /api/update_course

Actualización de un curso

Bloque de código
themeMidnight
{
    "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
themeMidnight
{
    "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.