Obtener la configuración de necesidades por producto
Este endpoint devuelve la configuración de necesidades definida para el producto indicado en la URL.
GET /api/v1/businesses/{businessId}/products/{productId}/needs-config
Si los datos incluidos en la URL son correctos, la respuesta contendrá la configuración de necesidades del producto, incluyendo las temporadas (seasons), las propuestas activas (proposals) y el listado de tipos de días (dayTypes) y tareas (locations que se pueden referenciar al definir la configuración por API.
Ejemplo de respuesta
{
"productId": "0001-GENERAL",
"productName": "GENERAL",
"seasons": [
{
"id": "2026-GEN",
"name": "General",
"fromMonthDay": "01-01",
"toMonthDay": "12-31",
"addressable": true,
"proposals": [
{
"id": "PRT",
"name": "Productivity",
"defaultProposal": true,
"addressable": true,
"steps": [
{
"id": "STP1",
"name": "Productivity",
"order": 4,
"type": "PRODUCTIVITY",
"addressable": true
}
]
},
{
"name": "Dynamic template",
"defaultProposal": false,
"addressable": false,
"steps": [
{
"name": "Dynamic template",
"order": 1,
"type": "DYNAMIC_TEMPLATES",
"addressable": false
},
{
"name": "Dynamic template 2",
"order": 2,
"type": "DYNAMIC_TEMPLATES",
"addressable": false
}
]
},
{
"name": "Hourly budget",
"defaultProposal": false,
"addressable": false,
"steps": [
{
"name": "Recommendation based on hourly budget",
"order": 1,
"type": "BUDGET_HOUR",
"addressable": false
}
]
},
{
"name": "Training",
"defaultProposal": false,
"addressable": false,
"steps": [
{
"name": "Training",
"order": 1,
"type": "PREPARATION",
"addressable": false
},
{
"name": "Productivity",
"order": 2,
"type": "PRODUCTIVITY",
"addressable": false
},
{
"name": "Test template",
"order": 3,
"type": "DYNAMIC_TEMPLATES",
"addressable": false
}
]
}
]
}
],
"dayTypes": [
{
"name": "ALL",
"node": null,
"priority": -400
},
{
"name": "WORKED_EXCLUDING_HOLIDAYS",
"node": null,
"priority": -300
},
{
"name": "MONDAY_SATURDAY",
"node": null,
"priority": -300
},
{
"name": "Closing holiday",
"node": "0001",
"priority": 5
}
],
"locations": [
{
"id": "01",
"zone": "General",
"name": "OPENING",
"type": "FIXED",
"addressable": true
},
{
"id": "03",
"zone": "General",
"name": "SALES",
"type": "VARIABLE",
"addressable": true
},
{
"id": "AUTO",
"zone": "General",
"name": "AUTO",
"type": "FIXED",
"addressable": false
}
]
}
Detalles
-
productId: identificador externo del producto o sección.
-
productName: nombre del producto o sección.
-
seasons: temporadas configuradas en el producto. Para cada temporada se incluye la siguiente información:
-
id: identificador externo de la temporada. Puede ser
null, en cuyo caso, la temporada no puede referenciarse a través de la API. -
name: nombre de la temporada.
-
fromMonthDay: inicio de la temporada, en formato
MM-dd. -
toMonthDay: fin de la temporada, en formato
MM-dd. -
year: año al que se restringe la temporada. Puede ser
nullsi aplica a todos los años. -
addressable: indica si esta temporada puede referenciarse a través de la API. Es
falsecuando no tiene identificador externo. -
proposals: propuestas de generador de necesidades activas en la temporada. Para cada propuesta se incluye la siguiente información:
-
id: identificador externo de la propuesta. Puede ser
nullsi no se ha definido en el sistema. -
name: nombre de la propuesta.
-
defaultProposal: indica si esta es la propuesta por defecto.
-
addressable: indica si esta propuesta puede referenciarse a través de la API. Es
falsecuando no tiene identificador externo. -
steps: etapas de la propuesta, ordenadas según se ejecutan. Para cada etapa se incluye la siguiente información:
-
id: identificador externo de la etapa. Puede ser
null, en cuyo caso, la etapa no puede referenciarse a través de la API. -
name: nombre de la etapa.
-
order: posición de la etapa dentro de la propuesta, tal y como está almacenada.
-
type: tipo de la etapa, que determina cómo se configura. Posibles valores son
BRMS,PRODUCTIVITY,ASSISTED_SALE,BUDGET_HOUR,PREPARATION,REST,DYNAMIC_TEMPLATES,ACCUMULATIVE,LOWEST_DEMAND,CHECKOUT_SIMULATION. -
addressable: indica si esta etapa puede modificarse a través de la API. Es
falsecuando no tiene identificador externo o cuando su tipo todavía no está soportado.
-
-
-
-
dayTypes: tipos de día que se pueden utilizar al configurar una etapa de este producto. Para cada tipo de día se incluye la siguiente información:
-
name: nombre del tipo de día, que es como se referencia al configurar una etapa.
-
node: identificador externo del nodo en el que está definido el tipo de día. Permite distinguir dos tipos de día con el mismo nombre heredados de nodos distintos. Puede ser
nullpara un tipo de día del sistema y para uno definido en un nodo sin identificador externo. -
priority: prioridad del tipo de día. Cuando varios se aplican al mismo día, prevalece el de valor más alto.
-
-
locations: tareas que se pueden utilizar al configurar la distribución de empleados de una etapa. Para cada tarea se incluye la siguiente información:
-
id: identificador externo de la tarea. Es
nullcuando no tiene ninguno definido, en cuyo caso la tarea no se puede referenciar. -
zone: identificador externo de la zona a la que pertenece la tarea.
-
name: nombre de la tarea.
-
type: tipo de necesidad vinculada a la tarea, pudiendo ser
VARIABLE,FIXEDoUNPLANNED." -
addressable: indica si esta tarea se puede referenciar al configurar una etapa. Es
falsepara tareas del sistema y para aquellas sin identificador externo.
-
Consideraciones
Si el producto no tiene ninguna propuesta activa asociada a una temporada, la respuesta devolverá "seasons": [].
Si una propuesta no tiene etapas configuradas, la respuesta devolverá "steps": [] para esa propuesta.
El campo addressable será true si el elemento tiene identificador externo y se puede referenciar en la API. En las etapas (steps), además, su tipo de generación debe ser soportado en escritura.
Códigos de error
Además de los errores comunes, este endpoint puede devolver los siguientes códigos:
| Código | Mensaje | Descripción |
|---|---|---|
|
Needs configuration not found |
El producto existe, pero no tiene ninguna configuración de necesidades (temporadas, propuestas o etapas) definida. |