Crear un curso
Este endpoint permite crear un curso en el catálogo del negocio, junto con todos sus entrenamientos.
POST /api/v2/businesses/{businessId}/courses
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 |
|---|
Detalles
|
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/courses
{
"id": "CRS-CAJ",
"name": "Caja",
"abbreviation": "CAJ",
"color": "#F7C2E5",
"description": "Medios de pago, operativa TPV y arqueo",
"expiresAfter": "P1Y",
"requirementIds": [
"CRS-VAC"
],
"unlockCatalogLocationIds": [
"000001"
],
"trainings": [
{
"id": "TRN-CAJ-NOR",
"name": "Normativa de caja y medios de pago",
"day": 1,
"order": 1,
"duration": "PT1H",
"needsTrainer": false,
"needsValidation": false
},
{
"id": "TRN-CAJ-TPV",
"name": "Operativa TPV",
"day": 1,
"order": 2,
"duration": "PT3H",
"needsTrainer": true,
"needsValidation": false,
"coverCatalogLocationId": "000001"
},
{
"id": "TRN-CAJ-ARQ",
"name": "Arqueo y cuadre de caja",
"day": 2,
"order": 1,
"duration": "PT1H",
"needsTrainer": true,
"needsValidation": true
}
]
}
Si la petición es correcta, la respuesta será un 201 Created con la información del curso creado.
Consideraciones
La petición es atómica: el curso y todos sus entrenamientos se crean juntos o no se crea nada.
Todos los identificadores de la petición son identificadores externos y deben existir en el negocio para que la petición sea válida.
Si no se indica el id del curso o de alguno de sus entrenamientos, Orquest genera un identificador automáticamente y lo devuelve en la respuesta.
|
La petición no es idempotente: si se repite con el mismo |
Códigos de error
Además de los errores comunes, este endpoint puede devolver los siguientes códigos:
| Código | Mensaje | Descripción |
|---|---|---|
|
Course not found: <courseId> |
Alguno de los cursos indicados en |
Catalog location not found: <locationId> |
Alguna de las tareas indicadas en |
|
|
Name cannot be longer than 50 characters |
El campo |
Description cannot be longer than 500 characters |
El campo |
|
Abbreviation cannot be longer than 3 characters |
El campo |
|
For input string: <color> under radix 16 |
El campo |
|
training name is required |
Algún entrenamiento no tiene |
|
training day is required / training day must be greater than 0 |
Algún entrenamiento no tiene |
|
training order is required |
Algún entrenamiento no tiene |
|
training duration is required / Duration cannot be longer than 1 day |
Algún entrenamiento no tiene |
|
Duplicated training outerId in course trainings |
Hay varios entrenamientos con el mismo |
|
|
The request conflicts with data already stored |
Ya existe un curso con el |