Precios en tiempo real
Mediante este método podemos calcular los precios de uno o varios productos, para una o múltiples fechas de acceso.
Si el producto no tiene el campo RequiresRealTimePrice
del catálogo definido a true
entonces no es necesario realizar esta llamada.
Si el producto tiene el campo RequiresRealTimePrice
del catálogo definido a true
entonces debemos realizar esta llamada cada vez que queramos ofrecer al cliente dicho producto para conocer su precio actual. En el catálogo se ofrece un precio base el cual puede sufrir alteraciones (aumento o descuento) en función de ciertos factores.
¿Por qué hablamos de precio a tiempo real?
El precio de un producto depende del momento en que se hace la consulta del mismo. Existen factores como los días que faltan hasta la fecha de acceso o la temporada, que hacen que el precio varíe.
Método de acceso
POST /realTimePrices
Estructura de la petición
ProductIds
: (list
). Array de identificadores de producto.(string)
: Identificador del producto.
AccessDates
: (string
). Array de fechas de entrada que queremos consultar. Formato ISO 8601 (yyyy-MM-dd).(date)
: Fechas a consultar.
StartDate
: (date
). Inicio del rango de fechas de entrada que queremos consultar. Complementa aAccessDates
y necesita que se especifiqueEndDate
. Formato ISO 8601 (yyyy-MM-dd).EndDate
: (date
). Fin del rango de fechas de entrada que queremos consultar. Complementa aAccessDates
y necesita que se especifiqueStartDate
. Formato ISO 8601 (yyyy-MM-dd).CombinedProducts
: (list
). Array de productos combinados.CombinedProductId
: (string
). Identificador del producto combinado.Products
: (list
). Array de productos incluidos en el producto combinado.ProductId
: (string
). Identificador del producto combinado.AccessDate
: (date
). Fecha de acceso. Formato ISO 8601 (yyyy-MM-dd).
Ejemplos de petición
{
"ProductIds":
[
"dj48vjsyufvyu",
"ajr7v0alt62hl"
],
"AccessDates":
[
"2020-01-02",
"2022-05-15"
]
}
{
"ProductIds":
[
"dj48vjsyufvyu"
],
"StartDate": "2020-01-02",
"EndDate": "2020-01-04"
}
{
"CombinedProducts":
[
{
"CombinedProductId": "iudhbfvifebvi",
"Products":
[
{
"ProductId": "jiufdv80querb",
"AccessDate": "2022-05-03"
},
{
"ProductId": "349u8g870r3vb",
"AccessDate": "2022-05-05"
}
]
}
]
}
Estructura de la respuesta
-
ProductsRealTimePrices
: (list
). Array de precios en tiempo real.ProductId
: (string
). Identificador del producto.AccessDate
: (date
). Fecha de acceso. Formato ISO 8601 (yyyy-MM-dd).Price
: (decimal
). Precio al que debe venderse el producto.-
PriceMode
: (byte
). Tipo de precio.Posibles valores
- 1: PVP
- 2: precio neto
-
CombinedProductId
: (string
). Identificador del producto combinado. CombinedProductProducts
: (string
). Array de productos incluidos en el producto combinado.ProductId
: (string
). Identificador del producto.AccessDate
: (date
). Fecha de acceso. Formato ISO 8601 (yyyy-MM-dd).
Success
(boolean
): valor que indica si la llamada ha sido procesada correctamente o no.Timestamp
(dateTime
): instante de tiempo en el que se procesó la petición. Formato ISO 8601 (yyyy-MM-ddThh:mm:ss.fffffff).ErrorMessage
(string
): mensaje de error explicando por qué la petición no ha sido correcta. En caso que haya sido correcta, devolveránull
.ErrorCodes
(string[]
): lista de códigos que identifican los errores que se hayan producido en la llamada.ErrorEntityBreakDown
(list
): Lista que contiene objetos con el nombre e ID en caso de error.Id
(string
): IdentificadorName
(string
): Nombre relacionado del identificador.
-
Success
(boolean
): valor que indica si la llamada ha sido procesada correctamente o no. Timestamp
(dateTime
): instante de tiempo en el que se procesó la petición. Formato ISO 8601 (yyyy-MM-ddThh:mm:ss.fffffff).ErrorMessage
(string
): mensaje de error explicando por qué la petición no ha sido correcta. En caso que haya sido correcta, devolveránull
.ErrorCodes
(string[]
): lista de códigos que identifican los errores que se hayan producido en la llamada.ErrorEntityBreakDown
(list
): Lista que contiene objetos con el nombre e ID en caso de error.Id
(string
): IdentificadorName
(string
): Nombre relacionado del identificador.
Ejemplos de respuesta
{
"ProductsRealTimePrices":
[
{
"ProductId": "dj48vjsyufvyu",
"AccessDate": "2020-01-02",
"Price": 29,
"PriceMode": 1,
"Success": true,
"Timestamp": "2022-02-18T17:02:27.8165916"
},
{
"ProductId": "dj48vjsyufvyu",
"AccessDate": "2022-05-15",
"Price": 35,
"PriceMode": 1,
"Success": true,
"Timestamp": "2022-02-18T17:02:27.8165916"
},
{
"ProductId": "ajr7v0alt62hl",
"AccessDate": "2020-01-02",
"Price": 18,
"PriceMode": 1,
"Success": true,
"Timestamp": "2022-02-18T17:02:27.8165916"
},
{
"ProductId": "ajr7v0alt62hl",
"AccessDate": "2022-05-15",
"Price": 22,
"PriceMode": 1,
"Success": true,
"Timestamp": "2022-02-18T17:02:27.8165916"
}
],
"Success": true,
"Timestamp": "2022-02-18T17:02:27.8165916"
}
{
"ProductsRealTimePrices":
[
{
"ProductId": "dj48vjsyufvyu",
"AccessDate": "2020-01-02",
"Price": 29,
"PriceMode": 1,
"Success": true,
"Timestamp": "2022-02-18T17:02:27.8165916"
},
{
"ProductId": "dj48vjsyufvyu",
"AccessDate": "2022-05-03",
"Price": 35,
"PriceMode": 1,
"Success": true,
"Timestamp": "2022-02-18T17:02:27.8165916"
},
{
"ProductId": "dj48vjsyufvyu",
"AccessDate": "2020-01-04",
"Price": 20,
"PriceMode": 1,
"Success": true,
"Timestamp": "2022-02-18T17:02:27.8165916"
}
],
"Success": true,
"Timestamp": "2022-02-18T17:02:27.8165916"
}
{
"ProductsRealTimePrices":
[
{
"CombinedProductId": "iudhbfvifebvi",
"CombinedProductProducts":
[
{
"ProductId": "jiufdv80querb",
"AccessDate": "2022-05-03"
},
{
"ProductId": "349u8g870r3vb",
"AccessDate": "2022-05-05"
}
],
"Price": 59.54,
"PriceMode": 1,
"Success": true,
"Timestamp": "2022-02-18T17:02:27.8165916"
}
],
"Success": true,
"Timestamp": "2022-02-18T17:02:27.8165916"
}