Crear una trayectoria formativa

Este endpoint permite crear una trayectoria formativa en el catálogo del negocio, agrupando varios cursos y definiendo el calendario de todos sus entrenamientos.

POST /api/v2/businesses/{businessId}/training-paths

A continuación, se expone una explicación detallada de cada uno de los campos que pueden conformar el cuerpo de la petición, siendo algunos de ellos obligatorios para que esta se realice de manera exitosa.

Los campos obligatorios están marcados con un asterisco (*).

Cuerpo de la petición

Análisis del JSON
{
  "id": "string",
  "name": "string",
  "description": "string",
  "abbreviation": "string",
  "color": "string",
  "courseIds": [
    "string"
  ],
  "trainingsOrder": [
    {
      "trainingId": "string",
      "day": 0,
      "order": 0
    }
  ]
}
Detalles
  • id: identificador externo de la trayectoria formativa. Si no se indica al crear la trayectoria, Orquest genera uno automáticamente.

  • name*: nombre de la trayectoria formativa. Admite un máximo de 50 caracteres.

  • description: descripción de la trayectoria formativa. Admite un máximo de 500 caracteres.

  • abbreviation*: abreviatura de la trayectoria formativa. Admite un máximo de 5 caracteres.

  • color*: color con el que se representa la trayectoria, en formato hexadecimal (por ejemplo, #1F7A5A).

  • courseIds*: lista de identificadores externos de los cursos que forman la trayectoria, en el orden en el que deben realizarse. Debe contener al menos un curso y no puede repetir cursos.

  • trainingsOrder: calendario de todos los entrenamientos de la trayectoria. Si no se indica, Orquest lo calcula automáticamente. Para cada entrenamiento, se incluye la siguiente información:

    • trainingId*: identificador externo del entrenamiento. Debe pertenecer a alguno de los cursos de la trayectoria.

    • day*: día de la trayectoria en el que se realiza el entrenamiento. Es un valor relativo que empieza en 1, el día de inicio de la trayectoria.

    • order*: orden del entrenamiento dentro de su día.

Ejemplo de la petición

Una vez realizado el análisis de los distintos campos, se muestra un ejemplo de la petición:

POST /api/v2/businesses/BUSINESSID/training-paths
{
    "id": "TP-RES",
    "name": "Responsable de turno",
    "abbreviation": "RES",
    "color": "#C3AAFC",
    "description": "Itinerario completo: tienda, venta, caja y cierre",
    "courseIds": [
        "CRS-BTI",
        "CRS-VAC",
        "CRS-CAJ",
        "CRS-CIE"
    ]
}

Si la petición es correcta, la respuesta será un 201 Created con la trayectoria formativa creada.

Consideraciones

El campo trainingsOrder define en qué día de la trayectoria y en qué orden se realiza cada entrenamiento de los cursos que la forman. Si se indica, debe cumplir las siguientes condiciones:

  • Debe incluir exactamente todos los entrenamientos de todos los cursos de la trayectoria, sin repetir ninguno.

  • Debe respetar el orden interno de cada curso. Sí se pueden intercalar entrenamientos de cursos distintos.

Si no se indica trainingsOrder, Orquest calcula el calendario automáticamente: los cursos se encadenan en el orden de courseIds que se indicó en el cuerpo de la petición y cada uno empieza al día siguiente del curso previo.

Todos los identificadores de la petición (cursos y entrenamientos) son identificadores externos y deben existir en el negocio.

Si no se indica el id de la trayectoria, Orquest genera un identificador automáticamente y lo devuelve en la respuesta.

La petición no es idempotente: si se repite con el mismo id, devolverá un error de conflicto; si se repite sin id, se creará una trayectoria nueva en cada llamada.

Códigos de error

Además de los errores comunes, este endpoint puede devolver los siguientes códigos:

Código Mensaje Descripción

404 Not Found

Course not found: <courseId>

Alguno de los cursos indicados en courseIds no existe en el negocio.

Training not found in the training path courses: <training>

Alguno de los entrenamientos indicados en trainingsOrder no pertenece a los cursos de la trayectoria.

400 Bad Request

At least one course is required

El campo courseIds no se ha indicado o está vacío.

One or more courses not found

El campo courseIds contiene cursos repetidos.

Name cannot be longer than 50 characters

El campo name supera los 50 caracteres.

Description cannot be longer than 500 characters

El campo description supera los 500 caracteres.

Abbreviation cannot be longer than 5 characters

El campo abbreviation supera los 5 caracteres.

-

El campo color no es un color hexadecimal válido.

Training path order contains duplicate training ids

El campo trainingsOrder contiene entrenamientos repetidos.

Training path order must contain exactly all trainings from all courses, no more and no less

El campo trainingsOrder no incluye todos los entrenamientos de los cursos de la trayectoria, o se ha enviado vacío.

Training path order does not respect the internal order of course

El calendario de trainingsOrder altera el orden de los entrenamientos de alguno de los cursos.

409 Conflict

The request conflicts with data already stored

Ya existe una trayectoria formativa con el id indicado en el negocio.

Enlaces de interés

¿Qué es una trayectoria formativa?

¿Qué es un curso?