Añadir lista de medidas por tipo (reales)
Este endpoint permite registrar una lista de medidas reales para un producto o sección, limitando el registro a medidas de un único tipo (por ejemplo, "TICKETS").
POST /api/v1/import/business/{businessId}/product/{productId}/demandtype/{demandType}/measures
La URL debe contener los siguientes parámetros:
-
Identificador externo del negocio (businessId).
-
Identificador externo del producto o sección (productId).
-
Nombre del tipo de medida configurado en Orquest (demandType).
A continuación, se expone una explicación de cada uno de los campos que conforman el cuerpo de la petición.
Todos los campos de esta petición son obligatorios, por eso 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/v1/import/business/BUSINESSID/product/PRODUCTID/demandtype/TICKETS/measures
[
{
"value": 3.0000,
"from": "2024-07-18T09:00:00.000Z",
"to": "2024-07-18T09:15:00.000Z",
"measure": "TICKETS"
},
{
"value": 4.0000,
"from": "2024-07-18T09:15:00.000Z",
"to": "2024-07-18T09:30:00.000Z",
"measure": "TICKETS"
},
{
"value": 1.0000,
"from": "2024-07-18T09:30:00.000Z",
"to": "2024-07-18T09:45:00.000Z",
"measure": "TICKETS"
},
{
"value": 3.0000,
"from": "2024-07-18T09:45:00.000Z",
"to": "2024-07-18T10:00:00.000Z",
"measure": "TICKETS"
}
]
Si los datos de la petición son correctos, al finalizar el proceso se devolverán los valores de los días involucrados en la operación con los datos desglosados en intervalos de 15 minutos.
Aspectos que tener en cuenta
El formato de fecha utilizado es UTC, pero al insertar datos es necesario considerar la zona horaria del servicio.
Cuando se envía un conjunto de medidas para un día, se eliminan todos los valores previamente registrados para ese día y se reemplazan por los de la petición, por eso es fundamental enviar días completos.
Por ejemplo, si se envía un único valor para el día 2024-07-18 de 10:00 a 10:15, se perderán todos los valores registrados anteriormente para ese día y solo se mantendrá el valor enviado en la petición.
El formato de fecha utilizado es UTC y las medidas se deben agrupar por días completos. |
Ver ejemplo de un día completo
Si la zona horaria del servicio es UTC+2, los datos transformados a UTC para el día 2024-07-18 deben abarcar desde las 22:00 UTC del día de antes (2024-07-17), hasta las 22:00 UTC del mismo día (2024-07-18). Esto asegura que, al insertar los datos con la hora local, las medidas coincidan correctamente con un día completo en la zona horaria del servicio.
Así, si hay 5 TICKETS a las 00:00 UTC+2 (hora local), este valor debe incluirse en la petición con la hora transformada a UTC, en este caso, las 22:00 UTC del día anterior. Por tanto, el cuerpo de la petición para el día completo sería el siguiente:
[
{"value": 5.0000, "from": "2024-07-17T22:00:00.000Z", "to": "2024-07-17T23:00:00.000Z", "measure": "TICKETS"},
{"value": 3.0000, "from": "2024-07-17T23:00:00.000Z", "to": "2024-07-18T00:00:00.000Z", "measure": "TICKETS"},
{"value": 4.0000, "from": "2024-07-18T00:00:00.000Z", "to": "2024-07-18T01:00:00.000Z", "measure": "TICKETS"},
{"value": 2.0000, "from": "2024-07-18T01:00:00.000Z", "to": "2024-07-18T02:00:00.000Z", "measure": "TICKETS"},
{"value": 6.0000, "from": "2024-07-18T02:00:00.000Z", "to": "2024-07-18T03:00:00.000Z", "measure": "TICKETS"},
{"value": 5.0000, "from": "2024-07-18T03:00:00.000Z", "to": "2024-07-18T04:00:00.000Z", "measure": "TICKETS"},
{"value": 3.0000, "from": "2024-07-18T04:00:00.000Z", "to": "2024-07-18T05:00:00.000Z", "measure": "TICKETS"},
{"value": 4.0000, "from": "2024-07-18T05:00:00.000Z", "to": "2024-07-18T06:00:00.000Z", "measure": "TICKETS"},
{"value": 3.0000, "from": "2024-07-18T06:00:00.000Z", "to": "2024-07-18T07:00:00.000Z", "measure": "TICKETS"},
{"value": 2.0000, "from": "2024-07-18T07:00:00.000Z", "to": "2024-07-18T08:00:00.000Z", "measure": "TICKETS"},
{"value": 6.0000, "from": "2024-07-18T08:00:00.000Z", "to": "2024-07-18T09:00:00.000Z", "measure": "TICKETS"},
{"value": 5.0000, "from": "2024-07-18T09:00:00.000Z", "to": "2024-07-18T10:00:00.000Z", "measure": "TICKETS"},
{"value": 3.0000, "from": "2024-07-18T10:00:00.000Z", "to": "2024-07-18T11:00:00.000Z", "measure": "TICKETS"},
{"value": 4.0000, "from": "2024-07-18T11:00:00.000Z", "to": "2024-07-18T12:00:00.000Z", "measure": "TICKETS"},
{"value": 2.0000, "from": "2024-07-18T12:00:00.000Z", "to": "2024-07-18T13:00:00.000Z", "measure": "TICKETS"},
{"value": 6.0000, "from": "2024-07-18T13:00:00.000Z", "to": "2024-07-18T14:00:00.000Z", "measure": "TICKETS"},
{"value": 5.0000, "from": "2024-07-18T14:00:00.000Z", "to": "2024-07-18T15:00:00.000Z", "measure": "TICKETS"},
{"value": 3.0000, "from": "2024-07-18T15:00:00.000Z", "to": "2024-07-18T16:00:00.000Z", "measure": "TICKETS"},
{"value": 4.0000, "from": "2024-07-18T16:00:00.000Z", "to": "2024-07-18T17:00:00.000Z", "measure": "TICKETS"},
{"value": 2.0000, "from": "2024-07-18T17:00:00.000Z", "to": "2024-07-18T18:00:00.000Z", "measure": "TICKETS"},
{"value": 6.0000, "from": "2024-07-18T18:00:00.000Z", "to": "2024-07-18T19:00:00.000Z", "measure": "TICKETS"},
{"value": 5.0000, "from": "2024-07-18T19:00:00.000Z", "to": "2024-07-18T20:00:00.000Z", "measure": "TICKETS"},
{"value": 3.0000, "from": "2024-07-18T20:00:00.000Z", "to": "2024-07-18T21:00:00.000Z", "measure": "TICKETS"},
{"value": 4.0000, "from": "2024-07-18T21:00:00.000Z", "to": "2024-07-18T22:00:00.000Z", "measure": "TICKETS"}
]
La inserción de medidas de este ejemplo se realizará en UTC+2 para el día 2024-07-18 completo (de 00:00 a 00:00).
Esta petición tiene un límite de 400 elementos.
Si se envían más de 400 elementos, la petición devolverá un error 406 Not Acceptable
.
El nombre de la medida debe ser exactamente igual que el que está configurado en Orquest a nivel de negocio: Configuración de negocio > Tipos de medidas > Nombre. Es necesario respetar la distinción entre mayúsculas y minúsculas, tildes, etc. Si el nombre de una medida no coincide con el que se ha configurado en Orquest o con el que se especifica en el parámetro demandType de la URL, la petición ignorará ese valor.
Si los datos introducidos no se corresponden con la medida especificada en el parámetro demandType de la URL, los valores serán ignorados. Por ejemplo, si se incluyen medidas para el tipo "SALES" en una petición del tipo "TICKETS", los valores de "SALES" serán ignorados. |
El valor admite decimales, aunque en la aplicación se mostrará solo el número de decimales que se haya configurado para el nivel de precisión de la medida: Configuración de negocio > Tipos de medidas > Precisión.
Los valores deben ser positivos: si se envían valores negativos, la petición devolverá un error 406 Not Acceptable
indicando Value must be positive or zero.
Orquest siempre almacena los valores de las medidas en intervalos de 15 minutos: si se envía un valor para un periodo de tiempo de una hora, por ejemplo, Orquest dividirá este valor de manera equitativa en cuatro intervalos de 15 minutos.
Si el periodo de tiempo para el que se envía la medida no es válido, la petición devolverá un error 406 Not Acceptable
indicando Measure time range is invalid.
Si se envían intervalos duplicados o que solapan entre sí, la petición devolverá un error 406 Not Acceptable
indicando Overlapped measures.