Árbol de páginas

La API de Gestión de Usuarios y Cursos proporciona un conjunto de endpoints para la creación, actualización y obtención de información relacionada con usuarios y cursos en el sistema educativo. Con esta API, los desarrolladores pueden integrar funcionalidades clave para la administración de usuarios y cursos, facilitando la creación de nuevas cuentas de usuario, la actualización de información y la gestión de cursos.

Con una respuesta clara y estructurada, esta API ofrece códigos de estado estándar, como el 200 OK para operaciones exitosas, el 400 Bad Request para errores en los datos proporcionados, el 401 Unauthorized para falta de credenciales de autenticación válidas, y el 500 Internal Server Error para errores internos del servidor.

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.

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

{
    "poa_uid": "UID DEL CURSO EN EL POA",
    "lms_uid": "UID DEL CURSO EN EL LMS",
    "lms_url": "https://lms.com/courses/course_lms_uid"
}

Parámetros de la solicitud:

  • poa_uid (string, requerido): El UID que le asignó el POA al curso. Vendrá en el mensaje de Kafka.
  • lms_uid (string, requerido): El identificador que le ha asignado el LMS al curso. Puede ser en cualquier formato.
  • lms_url (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.

{
    "uid": "UID DEL CURSO EN EL POA",
    "uid_lms": "UID DEL CURSO EN EL LMS",
    "status": "PENDING_APPROVAL",
    "title": "Curso de bellasartes",
	"description": "Descripción curso de bellasartes",
    "center": "Universidad de Murcia",
    "ects_workload": 6,
    "lms_url": "https://lms.com/courses/course_uid_lms",
    "realization_start_date": "2023-05-31 06:00:00",
    "realization_finish_date": "2023-06-30 06:00:00",
    "teachers": [
        "teacher1@um.es",
        "teacher2@um.es"
    ],
    "students": [
        {
            "email": "student1@um.es",
            "acceptance_status": "PENDING",
			"status": "INSCRIBED"
        },
        {
            "email": "student2@um.es",
            "acceptance_status": "PENDING",
			"status": "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
    • INTRODUCTION. En introducción.
    • ACCEPTED_PUBLICATION. Aceptado para publicación.
    • PENDING_INSCRIPTION. Pendiente de inscripción.
    • PENDING_PUBLICATION. Pendiente de publicación.
    • 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.
  • 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".
  • 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.
    • acceptance_status (string): Indica el estado de la 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

{
    "title": "Curso de bellasartes",
	"description": "Descripción del curso"
    "ects_workload": 6,
    "lms_url": "https://lms.com/courses/course_uid_lms",
    "realization_start_date": "2023-05-31 06:00:00",
    "realization_finish_date": "2023-06-30 06:00:00",
}

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).
  • 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".

POST /api/update_user/{email_user}

Actualización de un usuario mediante su email.

{
    "new_email": "newemail@poa.com",
    "first_name": "user",
    "last_name": "poa",
    "nif": "123456789X",
    "curriculum": "curriculum"
}

Parámetros de la solicitud:

  • new_email (string, opcional): 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.

Posibles respuestas de la API

Respuestas:

  • 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.
  • Sin etiquetas