Á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.

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 apartado está en desarrollo continuo.

Se actualizará una vez esté terminada la plataforma para que las APIs definitivas, estando actualizado de ese modo a la última versión.

El  documento presentado en la reunión del es el siguiente:

...

View file
nameCOMUNICACIONES LMS y POA 18-01.xlsx
height250

...

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 (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",
            "approved"acceptance_status": "PENDING",
			"status": true"INSCRIBED"
        },
        {
            "email": "student2@um.es",
            "approvedacceptance_status": "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.

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.