Comprobar Reglas de Flujo de Venta

Antes de confirmar una compra, se puede consultar si alguna regla de flujo de venta será aplicada sin que esto tenga efectos reales en la transacción. Esto permite visualizar cómo quedará la compra y qué modificaciones se harán en los productos.

1. Método de Acceso

Parámetro

Descripción

URL

{baseurl}/api/saleflowrules

Verbo HTTP

POST

Formato de Envío

application/json

 

2. Datos de Envío

Para realizar la consulta, se deben enviar los siguientes parámetros:

Campo

Descripción

ApiKey

Clave privada única del colaborador. Debe mantenerse secreta.

IsTest

Si es true, no se realizará ninguna acción real en la API, solo una simulación.

AccessDateTime

Fecha de acceso a los productos.

Products

Lista de productos incluidos en la venta.

ProductId

Identificador del producto.

Quantity

(Opcional) Cantidad del producto. Si no se especifica, se asume 1.

DynamicProviders

(Opcional) Lista de proveedores dinámicos, como hoteles.

ProviderId

Identificador del proveedor.

api-version

Versión de la API a utilizar (por defecto 3.21).

 

3. Ejemplos de Petición

Ejemplo 1: Aplicación de la regla 3x2

Si se solicitan 4 productos "hwuk9huaqopwo", la regla 3x2 añadirá 2 productos "twy5yhbishk91" sin costo.

{

    "ApiKey": "{partnerId}",

    "IsTest": false,

    "AccessDateTime": "2020-06-02",

    "Products": [

        {

            "ProductId": "hwuk9huaqopwo",

            "Quantity": 4

        }

    ]

}

Ejemplo 2: Aplicación de un descuento

Si se solicitan "twy5yhbishk91""uspeg7nr5st96", se aplicará un descuento de 5€"twy5yhbishk91".

{

    "ApiKey": "{partnerId}",

    "IsTest": false,

    "AccessDateTime": "2020-06-02",

    "Products": [

        {

            "ProductId": "twy5yhbishk91"

        },

        {

            "ProductId": "uspeg7nr5st96"

        }

    ]

}

Ejemplo 3: Productos con diferentes fechas de acceso

Si "twy5yhbishk91""uspeg7nr5st96" tienen fechas de acceso distintas, la regla de descuento se aplicará a "twy5yhbishk91".

{

    "ApiKey": "{partnerId}",

    "IsTest": false,

    "AccessDateTime": "2020-06-02",

    "Products": [

        {

            "ProductId": "twy5yhbishk91"

        },

        {

            "ProductId": "uspeg7nr5st96",

            "AccessDateTime": "2020-06-03"

        }

    ]

}

Ejemplo 4: Aplicación de regla de proveedor dinámico

Si "twy5yhbishk91" y un proveedor "tm558kgc97amr" están en la compra, se aplicará un descuento de 5€ sobre "twy5yhbishk91".

{

    "ApiKey": "{partnerId}",

    "IsTest": false,

    "AccessDateTime": "2020-06-02",

    "Products": [

        {

            "ProductId": "twy5yhbishk91"

        }

    ],

    "DynamicProviders": [

        {

            "ProviderId": "tm558kgc97amr",

            "Quantity": 1

        }

    ]

}

4. Estructura de Datos de Respuesta

La respuesta contendrá tres secciones:

  1. Productos no modificados (NotModifiedProducts): Productos que no han sufrido cambios en la compra.
  2. Productos modificados (ModifiedProducts): Productos con descuentos o modificaciones aplicadas.
  3. Productos añadidos (AddedProducts): Productos agregados debido a las reglas de flujo de venta.

Campos de respuesta

Campo

Descripción

ProductId

Identificador del producto.

AccessDateTime

Fecha de acceso al producto.

OriginalPrice

Precio original sin descuento.

Price

Precio final después de aplicar reglas.

SaleFlowRuleId

ID de la regla aplicada.

SaleFlowRuleCommercialName

Nombre comercial de la regla.

SaleFlowRuleDescripción

Descripción de la regla aplicada.

SaleFlowRuleName

Nombre técnico de la regla aplicada.

Success

true si la consulta fue exitosa, false en caso de error.

 

5. Ejemplos de Respuesta

Ejemplo 1: Aplicación de la regla 3x2

Se pidieron 4 productos "hwuk9huaqopwo", por lo que se añaden 2 "twy5yhbishk91" sin costo.

{

    "NotModifiedProducts": [

        {

            "ProductId": "hwuk9huaqopwo",

            "AccessDateTime": "2020-06-02",

            "OriginalPrice": 10.2,

            "Price": 10.2

        }

    ],

    "ModifiedProducts": [],

    "AddedProducts": [

        {

            "ProductId": "twy5yhbishk91",

            "AccessDateTime": "2020-06-02",

            "OriginalPrice": 46.69,

            "Price": 0,

            "SaleFlowRuleId": "hy8fnju42ycf4"

        },

        {

            "ProductId": "twy5yhbishk91",

            "AccessDateTime": "2020-06-02",

            "OriginalPrice": 46.69,

            "Price": 0,

            "SaleFlowRuleId": "hy8fnju42ycf4"

        }

    ],

    "Success": true,

    "Timestamp": "2021-02-18T17:02:27.8165916"

}

Ejemplo 2: Aplicación de un descuento

Se pidieron "twy5yhbishk91""uspeg7nr5st96", lo que activa un descuento de 5€ en "twy5yhbishk91".

{

    "NotModifiedProducts": [

        {

            "ProductId": "uspeg7nr5st96",

            "AccessDateTime": "2020-06-02",

            "OriginalPrice": 31.9,

            "Price": 31.9

        }

    ],

    "ModifiedProducts": [

        {

            "ProductId": "twy5yhbishk91",

            "AccessDateTime": "2020-06-02",

            "OriginalPrice": 46.69,

            "Price": 41.69,

            "SaleFlowRuleId": "hy8fnju42ycf4"

        }

    ],

    "AddedProducts": [],

    "Success": true,

    "Timestamp": "2021-02-18T17:02:27.8165916"

}

6. Consideraciones Finales

  • Este método permite verificar sin compromiso qué reglas de venta se aplicarán a una compra antes de confirmarla.
  • Se recomienda utilizar IsTest = true en entornos de prueba para validar configuraciones sin afectar las transacciones reales.
  • Las reglas aplicadas pueden incluir descuentos, productos adicionales o modificaciones de precios según las condiciones establecidas.
  • Para evitar errores, verifique que los productos y proveedores tengan reglas definidas en la configuración de flujo de venta.

¿Te ha parecido útil este artículo?