Árbol de páginas

Estás viendo una versión antigua de esta página. Ve a la versión actual.

Comparar con el actual Ver el historial de la página

« Anterior Versión 11 Siguiente »

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 /users/create

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"
}

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.

POST /courses/course_registered

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.

{
    "course_poa_uid": "UID DEL CURSO EN EL POA",
    "course_lms_uid": "UID DEL CURSO EN EL 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.
  • (string, requerido): La URL que le ha asignado el LMS al curso. Debe tener un formato de URL correcto.

GET /courses/{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",
    "image_path": "https://poa.com/courses/course_bellasartes.jpg",
    "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": true
        },
        {
            "email": "student2@um.es",
            "approved": false
        }
    ]
}

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
    • INSCRIPTION. En inscripció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.
  • 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 (boolean): Indica si la inscripción del estudiante ha sido aprobada o no.

PUT /courses/update/{course_lms_uid}

Actualización de un curso

{
    "title": "Curso de bellasartes",
    "image_path": "https://poa.com/courses/course_bellasartes.jpg",
    "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"
    ]
}


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.

PUT /users/update/{email_user}

Actualización de un usuario mediante su email. Sólo es necesario enviar las propiedades que cambian.

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

Parámetros de la solicitud:

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