Actualizar la configuración de una etapa
Este endpoint permite actualizar la configuración definida para la etapa de una propuesta de necesidades: sus reglas de productividad, la distribución de empleados y los límites de plantilla.
PUT /api/v1/businesses/{businessId}/products/{productId}/needs-config/seasons/{seasonId}/proposals/{proposalId}/steps/{stepId}
En la URL de la petición, deben especificarse los identificadores externos de las diferentes entidades (negocio, producto, temporada, propuesta y etapa).
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 del cuerpo de la petición:
PUT /api/v1/businesses/BUSINESSID/products/STORE_0815/needs-config/seasons/SUMMER_2026/proposals/VARIABLE_HOURS/steps/PRODUCTIVITY_SALES
{
"type": "PRODUCTIVITY",
"productivityBands": [
{
"dayType": "ALL",
"startMinute": 540,
"duration": 300,
"salesBrackets": [
{
"minSales": 0,
"maxSales": 400,
"productivity": 1
},
{
"minSales": 400,
"maxSales": 1500,
"productivity": 2
}
]
}
],
"employeeDistributionBands": [
{
"dayType": "ALL",
"startMinute": 540,
"duration": 660,
"distributions": [
{
"totalEmployees": 1,
"locations": [
{
"id": "03",
"employees": 1
}
]
},
{
"totalEmployees": 2,
"locations": [
{
"id": "03",
"employees": 1
},
{
"id": "02",
"employees": 1
}
]
}
]
}
],
"employeeLimits": [
{
"dayType": "ALL",
"bands": [
{
"startMinute": 540,
"duration": 300,
"maxPersons": 4
},
{
"startMinute": 840,
"duration": 360,
"minPersons": 2,
"maxPersons": 5
}
]
}
]
}
Si todos los datos de la petición son correctos, se reemplaza por completo la configuración almacenada de la etapa PRODUCTIVITY_SALES por la enviada.
Consideraciones
|
Esta petición reemplaza el estado completo de la etapa. Enviar una entidad como lista vacía (o no enviarla) borra la configuración existente. Este comportamiento va a ser corregido para que, si no se envía la entidad o se envía |
La respuesta, si la petición es correcta, es el estado tal y como ha quedado guardado: tiene la misma estructura que la respuesta del endpoint de consulta.
Esta petición está sujeta a una funcionalidad que debe estar activada a nivel de negocio. En caso de duda, se recomienda consultar con el equipo de Orquest.
Códigos de error
Además de los errores comunes, este endpoint puede devolver los siguientes códigos:
| Código | Mensaje | Descripción |
|---|---|---|
|
The needs configuration write api is not enabled |
La funcionalidad de escritura de configuración de necesidades no está activada para el negocio. |
The product has no season with that id |
La temporada indicada en la URL no existe. |
|
The proposal is not active in that season |
La propuesta indicada en la URL no existe. |
|
The proposal has no writable step with that id |
La etapa indicada en la URL no existe en la propuesta o su tipo todavía no está soportado por esta petición. |
|
|
The step '<step>' is of type <type> but the request declares <type> |
El campo |
The step '<step>', productivity band <dayType> [<start>,<end>) has an invalid interval |
Una regla de productividad tiene |
|
The step '<step>', productivity band <dayType> [<start>,<end>) has an invalid interval |
Una regla de productividad tiene |
|
The step '<step>', productivity band <dayType> [<start>,<end>) has an invalid interval |
Una regla (de productividad, de distribución o de límites) representa un intervalo que se extiende más de dos días. |
|
The step '<step>', productivity band <dayType> [<start>,<end>) refers to the day type '<dayType>', which the product cannot use |
Una regla hace referencia a un tipo de día ( |
|
The step '<step>', productivity band <dayType> [<start>,<end>) refers to the day type '<dayType>', which the product sees defined on the nodes [<nodes>]; name the node to tell them apart |
Una regla hace referencia a un tipo de día que el producto ve definido en más de un nodo, sin indicar |
|
The step '<step>' has overlapping productivity bands for the day type <dayType>: [<start>,<end>) and [<start>,<end>) |
Dos reglas de productividad del mismo tipo de día se solapan. |
|
The step '<step>', productivity band <dayType> [<start>,<end>) has no sales brackets |
Una regla de productividad no tiene ningún tramo de ventas ( |
|
The step '<step>', productivity band <dayType> [<start>,<end>) has two brackets starting at <value> |
Dos tramos de ventas de la misma regla empiezan en el mismo valor de |
|
The step '<step>', productivity band <dayType> [<start>,<end>) has no bracket starting at zero sales |
Ningún tramo de ventas de la regla empieza en cero. |
|
The step '<step>', productivity band <dayType> [<start>,<end>) has a bracket ending at <value> sales followed by one starting at <value> |
Dos tramos de ventas consecutivos de la regla dejan un hueco entre ellos. |
|
The step '<step>', productivity band <dayType> [<start>,<end>) has a bracket with a productivity of <value> |
Un tramo de ventas tiene un valor de |
|
The step '<step>', productivity band <dayType> [<start>,<end>) has a bracket with the sales range [<min>,<max>] |
Un tramo de ventas tiene |
|
The step '<step>', productivity band <dayType> [<start>,<end>) has a bracket with the variable bounds [<min>,<max>] |
Un tramo de ventas tiene |
|
The step '<step>' has overlapping distribution bands for the day type <dayType>: [<start>,<end>) and [<start>,<end>) |
Dos reglas de distribución de empleados del mismo tipo de día se solapan. |
|
The step '<step>', employee distribution band <dayType> [<start>,<end>) has two brackets for <count> employees |
Dos tramos de distribución de la misma regla están definidos para el mismo número de |
|
The step '<step>', employee distribution band <dayType> [<start>,<end>) has no bracket for one employee |
Ningún tramo de distribución de la regla cubre el caso de un solo empleado. |
|
The step '<step>', employee distribution band <dayType> [<start>,<end>) goes up to <count> employees but has no bracket for [<count>] |
Los tramos de distribución de la regla dejan huecos en la progresión de plantilla (por ejemplo, hay tramo para 1, 3 y 4 empleados, pero no para 2). |
|
The step '<step>', employee distribution band <dayType> [<start>,<end>) gives the location '<location>' <count> employees for a staffing of <count>, fewer than the <count> of a smaller one |
Una tarea recibe menos personas en un tramo de mayor plantilla total que en uno de plantilla menor. |
|
The step '<step>', employee distribution band <dayType> [<start>,<end>) has a bracket for <count> employees |
Un tramo de distribución tiene un valor de |
|
The step '<step>', employee distribution band <dayType> [<start>,<end>) repeats the location '<location>' in the bracket for <count> employees |
Un tramo de distribución repite la misma tarea más de una vez en |
|
The product <product> has no location '<location>' in the zone <zone> |
Una tarea indicada en |
|
The location '<location>' is a system or deleted one, and the needs generator discards it |
Una tarea indicada en |
|
The step '<step>' is not allowed to use the location '<location>' |
La etapa no admite la tarea indicada en |
|
The step '<step>', employee distribution band <dayType> [<start>,<end>) distributes <count> employees over variable locations in the bracket for <count> |
La suma de empleados repartidos entre las tareas variables de un tramo no coincide con su |
|
The step '<step>' has the day type <dayType> defined twice, and a step can only have one limit per day type |
Hay dos bloques de |
|
The step '<step>', employee limits of <dayType> has no bands |
Un bloque de límites no tiene ninguna regla ( |
|
The step '<step>', employee limits of <dayType> has overlapping bands: [<start>,<end>) and [<start>,<end>) |
Dos reglas del mismo bloque de límites se solapan. |
|
The step '<step>', employee limits of <dayType> has a band [<start>,<end>) with neither a minimum nor a maximum |
Una regla de límites no tiene ni |
|
The step '<step>', employee limits of <dayType> has a band [<start>,<end>) with a negative limit |
Una regla de límites tiene un valor negativo en |
|
The step '<step>', employee limits of <dayType> has a band [<start>,<end>) whose minimum <value> is above its maximum <value> |
Una regla de límites tiene |
Enlaces de interés
¿Qué son las necesidades?
¿Qué es un generador de necesidades?