Saltar a contenido

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 a AccessDates y necesita que se especifique EndDate. Formato ISO 8601 (yyyy-MM-dd).
  • EndDate: (date). Fin del rango de fechas de entrada que queremos consultar. Complementa a AccessDates y necesita que se especifique StartDate. 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): Identificador
      • Name (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): Identificador
    • Name (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"
}