Você está vendo a versão antiga da página. Ver a versão atual.

Comparar com o atual Ver Histórico da Página

Versão 1 Próxima »





MANUAL DE LENGUAJE DE PROMOCIONES


PROMO 7.1







Índice


Propósito y alcance


El presente manual pretende mostrar los pasos para definir promociones vía formato Json para luego importarlas vía Servicio REST o RabbitMQ. La información aquí presentada es válida también para el formato xml de promociones, al respecto se presenta un ejemplo operativo para que a partir de los mapas xml de Promo se puedan obtener las definiciones en formato Json de las promociones.


Introducción

La importación de las promociones se realiza a través del "Servicio de Importación Masiva de Promociones vía REST" y tiene la necesidad de recibir las promociones en formato “Json”. Para mayor información de este servicio referirse al Manual de Integración de Servicios. Aquí solo haremos referencia a la definición vía Json específicamente. 



La formación del Json

El Json de promoción tiene los parámetros de la promoción y de la operación a realizar sobre el registro en cuestión. Los campos son:

CampoDetalle
operation

Las operaciones que desea realizar. Pueden ser: ( I: Insertar / U: Actualizar / R: Cancelar )

name

Nombre de la promoción

evaluateConditionInCombo

Si la promoción tiene condición simple como parte del combo (ver en Manual de Usuario, definición de Promociones: parámetro "Evaluar condiciones en combo")

reportParticipants

Se refiere a la opción de reportar participantes de la promoción. Valores posibles: "always", "not".

code

El código de la promoción.

sets

List de las referencias a los conjuntos que definirán la condición y el beneficio de la promoción (más detalles en Json Sets).

condition

Definición de condiciones.

benefits

Definición de beneficios que otorga la promoción.

Nota: Para la operación U o R, es requerido que se ingrese al menos uno de los dos campos: name o code. Tenga en cuenta que si solo envia el Código (code) de la promoción, éste debe ser único, porque en caso contrario el sistema realizará la acción indicada (U o R) sobre la primera promoción que encuentre con ese código. Para mas detalle ver en el Manual de Usuario las Notas: "Campo Código Clave" y "Nombre y Código de Promoción Concatenados".


En el siguiente ejemplo mostramos una estructura básica, incompleta, de algunos de los campos mencionados, solo a los fines de referencia:

Ejemplo Json
{    
	"operation": "I",
	"name": "2305 Promo wal1",
	"reportParticipants": "false",
	"suggest": "not",
	"sets": {
		"set": []
	},
	"condition": {
	},
	"benefits": {
	}
 } 


Definición de Sets

Hace referencia a los conjuntos de elementos que serán parte de la condición y los que formarán el conjunto de aplicación.

Los campos son:

CampoDetalle

name

Es el identificador unívoco del set. Este id va a ser referenciado tanto en las condiciones como en el conjunto de aplicación del beneficio.

type

El code del elemento, sus valores posibles son:

Valor

Descripción

customer

Clientes

benefit

Beneficio externo

coupon

Cupones

event

Eventos

item

Productos

loyaltycard

Tarjetas de fidelidad

payment

Medios de Pago

attribute

Es el código del Atributo de los elementos. Sus valores posibles son:

Valor

Descripción

Valor de Type

code

Codigo (SKU)

item

unitprice

Precio unitario

item

brand

Marca

item

supplier

Proveedor

item

level1

Departamento

item

level2

Familia

item

level3

Categoria

item

level4

Sub Categoria

item

qty

Cantidad

item

magnitude

Magnitud

item

xprice

Precio total

item

all

Aplica a TODOS

item

discontinuous

Discontinuo

item

lowTurnover

Baja Rotacion

item

keyProduct

Producto Estrella

item

id

Id

coupon

type

Tipo

coupon

qty

Cantidad

coupon

amount

Monto

coupon

all

Aplica a TODOS

coupon

id

Id

customer

type

Tipo

customer

points

Puntos

customer

amount

Saldo

customer

remainingAmount

Monto restante

customer

segment

Segmento

customer

profileCode

Perfil de cliente

customer

creditCampaignCode

Campaña crediticia

customer

all

Aplica a TODOS

customer

redeemPointsPriceFactor

redeemPointsPriceFactor

customer

id

Numero

event

type

Tipo de Transacción

event

value

Valor

event

all

Aplica a TODOS

event

id

Codigo

payment

type

Tipo

payment

bank

Banco

payment

plan

Plan

payment

installments

Cuotas

payment

amount

Monto

payment

itemamount

Monto del Ítem

payment

prefix

Prefijo

payment

all

Aplica a TODOS

payment

payCreditCampaign

Campaña crediticia

payment

prefixGroup

Grupo de Prefijos

payment

pocket

Bolsillo

payment

id

Id

benefit

type

Tipo de beneficio

benefit

amount

Monto

benefit

benefitType

Tipo de beneficio

benefit

comparator

Es el código del comparador de los atributos de los elementos. Sus valores posibles son:

Valor

Descripción

GreaterThan

MAYOR

Distinct

DISTINTO

LessThan

MENOR

Into

IGUAL

value

El valor


A continuación se muestra un ejemplo donde el conjunto es para todos los productos con código igual a 111:

Ejemplo Json
"set": {
 	"name": "6171aabde830a52d9c434b95",
	"type": "item",
	"attribute": "code",
	"comparator": "Into",
	"value": "111"
	}


El siguiente es un ejemplo donde el conjunto es para todos los productos con level1 igual a maderas y que el tipo de pago sea tarjeta:

Ejemplo 2 Json
"set": [
                    {
                        "name": "5feaf1324b10b84760e83f37",
                        "type": "item",
                        "attribute": "level1",
                        "comparator": "Into",
                        "value": "maderas"
                    },
                    {
                        "name": "5feaf13a4b10b84760e83f3a",
                        "type": "payment",
                        "attribute": "type",
                        "comparator": "Into",
                        "value": "card"
                    }
          ]


Ejemplo con una Condición Simple:

Ejemplo Json
"condition": {
            "type": "basic",
            "name": "Exists",
            "parameter": {
              "key": "use-set",
              "value": "60f5d150e830a518e0976625"
            }
          }

Detalle de los campos:

CampoDetalle

type

El tipo de condición. Sus valores son: (basic o composite). "Basic" es que la promoción tiene solo una condición (condición simple) y "composite" que es una condición por composición o sea un combo.

name

Es el método de la condición, sus valores son:

Valor

Descripción

Between


DayFrequence


WeekFrequence


DayMonthFrequence


DayOfTheMonthFrequence


WeekDay


DayMonth


EqualOrMoreThan


MoreThan


EqualOrLessThan


LessThan


PaymentTotalBenefitedItems


Exists


Distinct

Distinct (solamente de transacciones)

Header

IGUAL (solamente en transacciones)

parameter

Son una lista de los parámetros de la condición. Tiene dos valores “key” y “value”. El elemento “key” puede tener 2 valores:
      - “use-set” que hace referencia a la lista del set y su valor es lo mismo que tiene el "name" del set.

      - “attribute” con esta “Key” el “value” puede tener varios valores. Los valores de “vaule” además del valor real de la condición son los code:

Con los elementos “Distinct” y “Header” en la condición con “Transacción” sus “value” son distintas de los además.


Los de transición son:

Valor

Descripción

subZone

Sub Zone

zone

Zone

format

Format

storeChain

StoreChain

currencyCode

CurrencyCode

channel

Channel

store

Tienda

terminal

Terminal


Los demás son (cuando no son “Transacción”):

Valor

Descripción

Valor del Type

code

Codigo (SKU)

Item

unitprice

Precio unitario

Item

brand

Marca

Item

supplier

Proveedor

item

level1

Departamento

item

level2

Familia

item

level3

Categoria

item

level4

Sub Categoria

item

qty

Cantidad

item

magnitude

Magnitud

item

xprice

Precio total

item

all

Aplica a TODOS

item

discontinuous

Discontinuo

item

lowTurnover

Baja Rotacion

item

keyProduct

Producto Estrella

item

id

Id

coupon

type

Tipo

coupon

qty

Cantidad

coupon

amount

Monto

coupon

all

Aplica a TODOS

coupon

id

Id

customer

type

Tipo

customer

points

Puntos

customer

amount

Saldo

customer

remainingAmount

Monto restante

customer

segment

Segmento

customer

profileCode

Perfil de cliente

customer

creditCampaignCode

Campaña crediticia

customer

all

Aplica a TODOS

customer

redeemPointsPriceFactor

redeemPointsPriceFactor

customer

id

Numero

event

type

Tipo de Transacción

event

value

Valor

event

all

Aplica a TODOS

event

id

Codigo

payment

type

Tipo

payment

bank

Banco

payment

plan

Plan

payment

installments

Cuotas

payment

amount

Monto

payment

itemamount

Monto del Ítem

payment

prefix

Prefijo

payment

all

Aplica a TODOS

payment

payCreditCampaign

Campaña crediticia

payment

prefixGroup

Grupo de Prefijos

payment

pocket

Bolsillo

payment

id

Id

benefit

type

Tipo de beneficio

benefit

amount

Monto

benefit

benefitType

Tipo de beneficio

benefit


Algunos ejemplos cuando usamos atributo (attribute):

Observe que siempre hay que tener un set con el “type”,  cuando no es condición de una “Transacción”.

Json Ejemplo con transacción 

[…]

 {

      "type": "basic",

       "name": "Header",

        "parameter": [

                                   {

                                     "key": "attribute",

                                     "value": "store"

                                      },

                                      {

                                      "key": "value",

                                      "value": "666"

                                       }

                                    ]

 }

[…]


Json Ejemplo sin transacción 
 

"set": [

              {

                "name": "61126855e830a505e41642a3",

                "type": "item"

              },
[...]

"type": "basic",

"name": "EqualOrMoreThan",
"parameter": [

              {

                "key": "use-set",

                "value": "61126855e830a505e41642a3"

              },

              {

                "key": "attribute",

                "value": "xprice"

              },

              {

                "key": "value",

                "value": "1000"

              }

            ] 


Este ejemplo muestra que hay una condición simple con el precio total de todos los items (SKU) con valor mayor o igual a 1000.


Ejemplo de una Condición Simple con dos sets relacionados mediante la función AND lógico:

Ejemplo Json
"condition": {
            "type": "composite",
            "name": "And",
            "condition": [
              {
                "type": "basic",
                "name": "Exists",
                "parameter": {
                  "key": "use-set",
                  "value": "60f58668e830a518e09765d6"
                }
              },
              {
                "type": "basic",
                "name": "Exists",
                "parameter": {
                  "key": "use-set",
                  "value": "60f58672e830a518e09765d9"
                }
              }
            ]
          }

Aquí se detallan los campos del ejemplo anterior:

CampoDetalle

type

Tipo de condición. Sus valores son: (basic o composite).

name

Esta es la operación sobre la condición, sus posibles valores son:

Operación

SIMPLE

AND

OR

NOT

AND_NOT

OR_NOT

condition

Una lista de condiciones.


Ejemplo de un combo limitado a 1 sola instancia compuesto por 1 producto y 1 pago que vaya entre 1300 y 1500:

Ejemplo Json
"set": [
              {
                "name": "60f089dee830a518e0976217",
                "type": "payment"
              },
              {
                "name": "60f08bafe830a518e097621e ",
                "type": "item"
              }
[....]
"combo": {
            "limit": "1",
            "combo-component": [
              {
                "min": "1",
                "max": "1",
                "attribute": "qty",
                "use-set": "60f08bafe830a518e097621e"
              },
              {
                "min": "1300",
                "max": "1500",
                "attribute": "itemamount",
                "use-set": "60f089dee830a518e0976217"
              }
            ]
          } 

Detalle de los campos utilizados en el ejemplo anterior:

CampoDetalle

limit

Límite de veces que se agruparán

combo-component

Una lista de componentes de combo


Los campos dentro de combo-component son:

CampoDetalle

min

cantidad mínima

max

cantidad máxima

attribute

Son las Unidades de medida (están diferenciadas por el tipo (type) y por el set (use-set) )

Valor

Descripción

Valor del Type

qty

Cantidad

item

magnitude

Magnitud

item

xprice

Precio total

item

qty

Cantidad

coupon

amount

Monto

coupon

points

Puntos

customer

amount

Saldo

customer

amount

Monto

payment

itemamount

Monto del Ítem

payment

amount

Monto

loyaltycard

use-set

Es la relación con la lista de sets.

order-criteria

Es el Criterio de ordenamiento. Los posibles valores son:

Valor

Nombre

OneLessExpensive

Uno mas barato por condicion

LessExpensiveFirst

Los mas baratos primero

OneMoreExpensive

Uno mas caro por condicion

MoreExpensiveFirst

Los mas caros primero

equivalence-attribute

Es el Atributo de equivalencia (si tiene). Los posibles valores son:

Valor

Descripción

Valor del Type

unitprice

Precio unitario

item

code

Codigo (SKU)

item

brand

Marca

item

supplier

Proveedor

item

level1

Departamento

item

level2

Familia

item

level3

Categoria

item

level4

Sub Categoria

item

all

Aplica a TODOS

item

discontinuous

Discontinuo

item

lowTurnover

Baja Rotacion

item

keyProduct

Producto Estrella

item

productCode

Cod. Producto

item

barcode

Cod. Barra Producto

item

id

Id

coupon

type

Tipo

coupon

qty

Cantidad

coupon

amount

Monto

coupon

all

Aplica a TODOS

coupon

type

Tipo

customer

profileCode

Perfil de cliente

customer

creditCampaignCode

Campaña crediticia

customer

id

Codigo

payment

type

Tipo

payment

bank

Banco

payment

plan

Plan

payment

installments

Cuotas

payment

itemamount

Monto del Ítem

payment

prefix

Prefijo

payment

all

Aplica a TODOS

payment

payCreditCampaign

Campaña crediticia

payment

prefixGroup

Grupo de Prefijos

payment

pocket

Bolsillo

payment

type

Tipo

loyaltycard

contract

Convenio

loyaltycard

inequivalence-attribute


Es el Atributo de inequivalencia (si tiene). Los posibles valores son:

Valor

Descripción

Valor del Type

brand

Marca

item

code

Codigo (SKU)

item

unitprice

Precio unitario

item

supplier

Proveedor

item

level1

Departamento

item

level2

Familia

item

level3

Categoria

item

level4

Sub Categoria

item

qty

Cantidad

item

magnitude

Magnitud

item

xprice

Precio total

item

all

Aplica a TODOS

item

discontinuous

Discontinuo

item

lowTurnover

Baja Rotacion

item

keyProduct

Producto Estrella

item

redeemOption

redeemOption

item

productCode

Cod. Producto

item

barcode

Cod. Barra Producto

item

id

Id

coupon

type

Tipo

coupon

qty

Cantidad

coupon

amount

Monto

coupon

all

Aplica a TODOS

coupon

type

Tipo

customer

profileCode

Perfil de cliente

customer

creditCampaignCode

Campaña crediticia

customer

id

Codigo

payment

type

Tipo

payment

bank

Banco

payment

plan

Plan

payment

installments

Cuotas

payment

amount

Monto

payment

itemamount

Monto del Ítem

payment

prefix

Prefijo

payment

all

Aplica a TODOS

payment

payCreditCampaign

Campaña crediticia

payment

prefixGroup

Grupo de Prefijos

payment

pocket

Bolsillo

payment

type

Tipo

loyaltycard

contract

Convenio

loyaltycard


Json de Beneficios

El elemento “benefits” es un objeto que tiene una lista de beneficios (“benefit”) que tiene la promoción con sus parámetros particulares. Aquí se muestra un ejemplo con dos beneficios uno con Cupón Calculado y otro con Beneficio Externo.

Ejemplo Json
"benefits": {
		"benefit": [
		    {
				"instance": "CalculatedCouponApplicationBenefit",					
				"nro": "60131bd5acb1e948c01a28a6",
				"parameter": [… Los parameros del beneficio …],
				"applied-elements": {
					"use-set": {
						"name": "60131abbacb1e948c01a2889"
					           }
				                     }
			  },
			{
				"instance": "ExternalBenefit",
				"nro": "60131bf5acb1e948c01a28a8",
				"parameter": [ … Los parameros del beneficio …],
				"applied-elements": {
					"use-set": {
						"name": "60131abbacb1e948c01a2889"
					           }
				                    }
		 	 }
                ]
         }

El siguiente es otro ejemplo con un beneficio Monedero:

Ejemplo 2 Json
"benefits": {
		  "benefit": {
			"instance": "WalletBenefit",
			"nro": "6171aaaee830a52d9c434b91",
			"parameter": [ … Los parameros del beneficio … ],
			"applied-elements": {
			  "use-set": {"name": "6171aabde830a52d9c434b95"}
			                     }
                       }
             }


Cada beneficio posee su tipo (instance), sus parámetros (parameter) y a quien aplica ese beneficio (applied-elements) este último se compone formando un único beneficio. Sus campos son:

instance

Son los códigos (code) del tipo de beneficio. Estos son los posibles valores de ese campo:

Valor

Descripción

CalculatedCouponApplicationBenefit

Aplicación de Cupón Calculado

WalletBenefit

Beneficio Monedero

ContractPercentageDiscount

Descuento por convenio

RedeemPointsBenefit

Redención de Puntos

CalculatedCouponBenefit

Cupón Calculado

CatalogRedeemBenefit

Canje de Puntos por Catálogo

RedeemWithOptionsBenefit

Canje con Opciones

ExternalBenefit

Beneficio Externo

BankRefundBenefit

Reintegro bancario

PercentLoyaltyBenefit

Porcentaje de fidelización

GeneralBenefit

Beneficio General

GiftBenefit

Regalo

PaymentPlanBenefit

Plan de pagos

CouponBenefit

Cupón

FactorLoyaltyBenefit

Coeficiente de fidelización

LoyaltyBenefit

Puntos de fidelización

PercentageDiscount

Descuento porcentaje

FixedDiscount

Descuento fijo

NewPrice

Nuevo precio

nro

Es el id de la base de datos cuando hace las operaciones (U: Actualizar / R: Cancelación) es un campo requerido.

Parameter

Es la lista de parámetros que tienen los tipos de beneficio. Aquí se muestran parámetros que tienen todos los beneficios y otros que son exclusivos. En el campo "Key code" se muestra la "key". El campo "value" son los valores (los que están en blanco son insertados por el usuario), algunos de ellos tienen valores predefinidos (Obtions values (codes)) como se ve abajo.

Parámetros generales:

Obtions value (codes)

Key code

Descripción


displayMessage


Mensaje en POS


TLOGMessage


Coca + Papas, lleva las papas gratis


printerMessage


Mensaje en impresora


account


Cuenta contable

{"code" : "cheapest-first","name" : "Mas baratos primero"

}


prorationMethod


Método de prorrateo 

{"code" : "most-expensive-first","name" : "Mas caros primero"}


prorationMethod

Método de prorrateo 

{"code" : "proportional","name" : "Proporcional"}

prorationMethod

Método de prorrateo 

{"code" : "benefited-price","name" : "Precio beneficiado"

}

applicationPriceType


Aplicar sobre.. 

{"code" : "original-price","name" : "Precio original"}

applicationPriceType


Aplicar sobre.. 

{"code" : "resume","name" : "Resumen"}

applicationMethod


Método de aplicación

{"code" : "lineByLine","name" : "Linea a linea"}

applicationMethod


Método de aplicación


name


El número de la promoción se necesita cuando se hacen las operaciones (U: Actualizar / R: Cancelar )


Parámetros exclusivos:

Obtions value (codes)

Key code

Descripción

Tipo de beneficio

Requerido

{"code":"na","name":"Todo"}

unit

Por cada unidad de

Nuevo precio

false


externalAmount

Precio informado por el POS

Nuevo precio

false


newprice

El siguiente precio ($)

Nuevo precio

false

{"code":"qty","name":"Cantidad"}

unit

Por cada unidad de

Nuevo precio

false

{"code":"magnitude","name":"Magnitud"}

unit

Por cada unidad de

Nuevo precio

false


recoveryValue

Valor del Recupero

Nuevo precio

false

{"code":"p","name":"Porcentaje"}

recoveryType

Tipo de Recupero

Nuevo precio

false

{"code":"a","name":"Monto fijo"}

recoveryType

Tipo de Recupero

Nuevo precio

false


prorateBCP

Prorratear entre participantes

Nuevo precio

false


amount

El siguiente monto ($)

Descuento fijo

true

{"code":"qty","name":"Cantidad"}

unit

Por cada unidad de

Descuento fijo

false

{"code":"magnitude","name":"Magnitud"}

unit

Por cada unidad de

Descuento fijo

false

{"code":"na","name":"Todo"}

unit

Por cada unidad de

Descuento fijo

false


recoveryValue

Valor del Recupero

Descuento fijo

false

{"code":"p","name":"Porcentaje"}

recoveryType

Tipo de Recupero

Descuento fijo

false

{"code":"a","name":"Monto fijo"}

recoveryType

Tipo de Recupero

Descuento fijo

false


prorateBCP

Prorratear entre participantes

Descuento fijo

false


percent

El siguiente porcentaje (%)

Descuento porcentaje

true

{"code":"qty","name":"Cantidad"}

unit

Por cada unidad de

Descuento porcentaje

false

{"code":"magnitude","name":"Magnitud"}

unit

Por cada unidad de

Descuento porcentaje

false

{"code":"na","name":"Todo"}

unit

Por cada unidad de

Descuento porcentaje

false


recoveryValue

Valor del Recupero

Descuento porcentaje

false

{"code":"p","name":"Porcentaje"}

recoveryType

Tipo de Recupero

Descuento porcentaje

false

{"code":"a","name":"Monto fijo"}

recoveryType

Tipo de Recupero

Descuento porcentaje

false


prorateBCP

Prorratear entre participantes

Descuento porcentaje

false


value

Otorgar puntos (cantidad)

Puntos de fidelización

true


type

De tipo

Puntos de fidelización

true

{"code":"qty","name":"Cantidad"}

unit

Por cada unidad de

Puntos de fidelización

false

{"code":"magnitude","name":"Magnitud"}

unit

Por cada unidad de

Puntos de fidelización

false

{"code":"na","name":"Todo"}

unit

Por cada unidad de

Puntos de fidelización

false


trxPointsLimit

Máximo de puntos por transacción

Puntos de fidelización

false


recoveryValue

Valor del Recupero

Puntos de fidelización

false

{"code":"p","name":"Porcentaje"}

recoveryType

Tipo de Recupero

Puntos de fidelización

false

{"code":"a","name":"Monto fijo"}

recoveryType

Tipo de Recupero

Puntos de fidelización

false


ignorePaidInPoints

Ignorar Pagado con Puntos

Puntos de fidelización

false


type

Otorgar puntos de tipo

Coeficiente de fidelización

true


factor

Con el siguiente factor

Coeficiente de fidelización

true


trxPointsLimit

Máximo de puntos por transacción

Coeficiente de fidelización

false


recoveryValue

Valor del Recupero

Coeficiente de fidelización

false

{"code":"p","name":"Porcentaje"}

recoveryType

Tipo de Recupero

Coeficiente de fidelización

false

{"code":"a","name":"Monto fijo"}

recoveryType

Tipo de Recupero

Coeficiente de fidelización

false


ignorePaidInPoints

Ignorar Pagado con Puntos

Coeficiente de fidelización

false


qty

Otorgar cupones (cantidad)

Cupón

true


couponid

De tipo/identificador

Cupón

true

{"code":"0","name":"nameInfoPos0"}

infoPos

Datos para el POS

Cupón

true

{"code":"1","name":"nameInfoPos1"}

infoPos

Datos para el POS

Cupón

true

{"code":"2","name":"nameInfoPos2"}

infoPos

Datos para el POS

Cupón

true


recoveryValue

Valor del Recupero

Cupón

false

{"code":"p","name":"Porcentaje"}

recoveryType

Tipo de Recupero

Cupón

false

{"code":"a","name":"Monto fijo"}

recoveryType

Tipo de Recupero

Cupón

false

applied-elements

Es el Json de la aplicación de la promoción


Applied-elements

El applied-elements es la aplicación del beneficio. Se aplica a los mas caros primero en base a 2 elementos.

Ejemplo Json
          "applied-elements": {
            "use-set": {
              "name": "628bedd8a6c1d243c013421e",
              "order-criteria": "MoreExpensiveFirst",
              " max ": "2.0",
              "attribute": "qty",
              " min ": "2.0"
            }
          }


Sus campos son:

CampoDetalle

name

Referencia a un set

order-criteria

Son los Criterios de ordenamento, sus posibles valores son :

Valor

Descripción

MoreExpensiveFirst

Los mas caros primero

LessExpensiveFirst

Los mas baratos primero

max

Es la Aplicación máxima (valor)

min

Es el Descuento mínimo a aplicar

attribute

Es la Aplicación máxima (medida), sus posibles valores son :

Valor

Descripción

qty

Cantidad

magnitude

Magnitud

xprice

Precio total


Escalones:

Son Escalones de la definición de promociones escalonadas de un beneficio.

Ejemplo Json
          "staggered": {
            "unit": "qty",
            "staggeredStep": {
              "nro": "629602c8a6c1d21bc8985ddb",
              "min": "1",
              "max": "1",
              "applyValue": "1"
            }
          }


Sus campos son:

unit

Es la Unidad de Escalonada.  Sus posibles valores son:

Valor

Descripción

qty

Cantidad

magnitude

Magnitud

xprice

Precio total

staggeredStep

Es una lista de la definición de la Escalones, sus campos son:

CampoDescripción

nro

Número de la base de datos cuando se hacen las operaciones (U: Actualizar / R: Cancelar ) es un dato requerido.

min

Ocurrencias mínimas

max

Ocurrencias máximas

applyValue

Es el Valor



Ejemplos

Ejemplo 1:

El siguiente es un ejemplo donde se inserta una nueva promoción con una condición simple y tiene un beneficio monedero.

Ejemplo Json
{
    "companyId": "napse",
    "promotions": [
        {
		"operation": "I",
		"name": "2305 Promo wal1",
		"reportParticipants": "false",
		"suggest": "not",
		"sets": {
		  "set": {
			"name": "6171aabde830a52d9c434b95",
			"type": "item",
			"attribute": "code",
			"comparator": "Into",
			"value": "111"
		  }
		},
		"condition": {
		  "type": "basic",
		  "name": "Exists",
		  "parameter": {
			"key": "use-set",
			"value": "6171aabde830a52d9c434b95"
		  }
		},
		"benefits": {
		  "benefit": {
			"instance": "WalletBenefit",
			"nro": "6171aaaee830a52d9c434b91",
			"parameter": [
			  {
				"key": "displayMessage",
				"value": "Promo wal1"
			  },
			  {
				"key": "printerMessage",
				"value": "Promo wal1"
			  },
			  {
				"key": "TLOGMessage",
				"value": "Promo wal1"
			  },
			  {
				"key": "applicationMethod",
				"value": "resume"
			  },
			  {
				"key": "prorationMethod",
				"value": "proportional"
			  },
			  {
				"key": "applicationPriceType",
				"value": "benefited-price"
			  },
			  {
				"key": "name",
				"value": "6171a7c5e830a52d9c434b89"
			  },
			  {
				"key": "wallet",
				"value": "w1"
			  },
			  {
				"key": "limitAmount",
				"value": "10"
			  },
			  {
				"key": "percent",
				"value": "50"
			  }
			],
			"applied-elements": {
			  "use-set": {"name": "6171aabde830a52d9c434b95"}
			}
		  }
		}
	  }
    ]
}


Ejemplo 2:

En el siguiente json se muestra como se inserta una promoción simple donde se otorga como beneficio un cupón.

Ejemplo 1 Json
{
	"companyId": "napse",
	"promotions": [
        {
         "operation": "I",
          "name": "Teste import 01",
          "reportParticipants": "false",
          "suggest": "not",
          "sets": {
            "set": {
              "name": "setCond1",
              "type": "item",
              "attribute": "code",
              "comparator": "Into",
              "value": "111"
            }
          },
          "condition": {
            "type": "basic",
            "name": "Exists",
            "parameter": {
              "key": "use-set",
              "value": "setCond1"
            }
          },
          "benefits": {
            "benefit": {
              "instance": "CouponBenefit",
              "nro": "610ae160e830a528c4383a44",
              "parameter": [
                {
                  "key": "displayMessage",
                  "value": "Teste import 01"
                },
                {
                  "key": "printerMessage",
                  "value": "Teste import 01 impreso"
                },
                {
                  "key": "TLOGMessage",
                  "value": "Teste import 01 tlog"
                },
                {
                  "key": "applicationMethod",
                  "value": "resume"
                },
                {
                  "key": "prorationMethod",
                  "value": "proportional"
                },
                {
                  "key": "applicationPriceType",
                  "value": "benefited-price"
                },
                {
                  "key": "name",
                  "value": "benefit01"
                },
                {
                  "key": "qty",
                  "value": "1"
                },
                {
                  "key": "couponid",
                  "value": "tipcupelectm1"
                },
                {
                  "key": "infoPos",
                  "value": "0"
                },
                {
                  "key": "recoveryValue",
                  "value": "0"
                },
                {
                  "key": "recoveryType",
                  "value": ""
                }
              ],
              "applied-elements": {
                "use-set": {"name": "setCond1"}
              }
            }
          }
        }
    ]
}

La siguiente imagen muestra como se ve el resumen de la promoción en la consola de Promo:


Ejemplo 3:

En este ejemplo se inserta una promoción que tiene una condición simple y una condición por composición (combo) y se dá como beneficio un descuento de 100% sobre 1 producto papas. Esta promo sería: si lleva 1 coca y 1 papas, lleva las papas gratis.

Ejemplo 2 Json
{
	"companyId": "napse",
	"promotions": [
		{
		  "operation": "I",
          "name": "Teste import 02",
          "reportParticipants": "false",
          "suggest": "not",
          "sets": {
            "set": [
              {
                "name": "setTeste1",
                "type": "item",
                "attribute": "code",
                "comparator": "Into",
                "value": "coca"
              },
              {
                "name": "setTeste2",
                "type": "item",
                "attribute": "code",
                "comparator": "Into",
                "value": "papas"
              },
              {
                "name": "setTeste3",
                "type": "item",
                "attribute": "code",
                "comparator": "Into",
                "value": "papas"
              }
            ]
          },
		  "condition": {
            "type": "basic",
            "name": "Exists",
            "parameter": {
              "key": "use-set",
              "value": "setTeste1"
            }
          },
          "combo": {
            "limit": "1",
            "combo-component": [
              {
                "min": "1",
                "max": "1",
                "attribute": "qty",
                "use-set": "setTeste1"
              },
              {
                "min": "1",
                "max": "1",
                "attribute": "qty",
                "use-set": "setTeste2"
              }
            ]
          },
          "benefits": {
            "benefit": {
              "instance": "PercentageDiscount",
              "parameter": [
                {
                  "key": "displayMessage",
                  "value": "1Promo Coca+ Papas, papas gratis"
                },
                {
                  "key": "printerMessage",
                  "value": "1Promo Coca+ Papas, papas gratis impreso"
                },
                {
                  "key": "TLOGMessage",
                  "value": "1Promo Coca+ Papas, papas gratis Tlog"
                },
                {
                  "key": "applicationMethod",
                  "value": "resume"
                },
                {
                  "key": "prorationMethod",
                  "value": "proportional"
                },
                {
                  "key": "applicationPriceType",
                  "value": "benefited-price"
                },
                {
                  "key": "name",
                  "value": "BeneficioTeste3"
                },
                {
                  "key": "percent",
                  "value": "100"
                },
                {
                  "key": "unit",
                  "value": "qty"
                },
                {
                  "key": "recoveryValue",
                  "value": "0"
                },
                {
                  "key": "recoveryType",
                  "value": ""
                },
                {
                  "key": "prorateBCP",
                  "value": "false"
                }
              ],
              "applied-elements": {
                "use-set": {
                  "name": "setTeste3",
                  "max": "1.0",
                  "attribute": "qty"
                }
              }
            }
          }
        }
    ]
}

La siguiente imagen muestra como se ve el resumen de la promoción en la consola de Promo:


Ejemplo 4:

En el siguiente ejemplo tiene condiciones de rango horario, condiciones simples y condiciones por composicion. Si realiza la compra dentro del rango de fechas y hora indicados y además cumple con la condición simple que en este caso es un evento específico y además debe cumplir con la condición por composición indicada se le dará como beneficio un descuento de $2 sobre 1 producto con código 0000118287.

Ejemplo 3 Json
{
	"companyId": "napse",
	"promotions": [
		  {
	      "operation": "I",
          "name": "Teste import 03",
          "code": "2237",
          "reportParticipants": "false",
          "suggest": "always",
          "descriptor": "[REQPREV|CUPON_VIRTUAL_DELIVERY_1800_VITA_C]-PRM CUPON DELIVERY 1800 VITA C MK 03-30 NOV20",
          "sets": {
            "set": [
              {
                "name": "setTeste1",
                "type": "event",
                "attribute": "value",
                "comparator": "Into",
                "value": "CUPON_VIRTUAL_DELIVERY_1800_VITA_C"
              },
              {
                "name": "setTeste2",
                "type": "item",
                "attribute": "code",
                "comparator": "Into",
                "value": "0000118287"
              },
              {
                "name": "setTeste3",
                "type": "item",
                "attribute": "code",
                "comparator": "Into",
                "value": "0000122033"
              },
              {
                "name": "setTeste4",
                "type": "item",
                "attribute": "code",
                "comparator": "Into",
                "value": "0000118287"
              }
            ]
          },
          "condition": {
            "type": "composite",
            "name": "And",
            "condition": [
              {
                "type": "composite",
                "name": "And",
                "condition": {
                  "type": "basic",
                  "name": "Exists",
                  "parameter": {
                    "key": "use-set",
                    "value": "setTeste1"
                  }
                }
              },
              {
                "type": "basic",
                "name": "Between",
                "parameter": [
                  {
                    "key": "attribute",
                    "value": "datetime"
                  },
                  {
                    "key": "valuefrom",
                    "value": "03/11/2020 00:00"
                  },
                  {
                    "key": "valueto",
                    "value": "30/12/2021 23:59"
                  }
                ]
              }
            ]
          },
          "combo": {
            "limit": "1",
            "combo-component": [
              {
                "min": "1",
                "max": "1",
                "attribute": "qty",
                "equivalence-attribute": "code",
                "use-set": "setTeste2"
              },
              {
                "min": "3",
                "max": "3",
                "attribute": "qty",
                "equivalence-attribute": "code",
                "use-set": "setTeste3"
              }
            ]
          },
          "benefits": {
            "benefit": {
              "instance": "FixedDiscount",
              "nro": "603e80c7e830a523b48a0739",
              "parameter": [
                {
                  "key": "displayMessage",
                  "value": "PRM CUPON DELIVERY 1800 VITA C MK 03-30 NOV20"
                },
                {
                  "key": "printerMessage",
                  "value": "PRM CUPON DELIVERY 1800 VITA C MK 03-30 NOV20 impreso"
                },
                {
                  "key": "TLOGMessage",
                  "value": "PRM CUPON DELIVERY 1800 VITA C MK 03-30 NOV20 tlog"
                },
                {
                  "key": "applicationMethod",
                  "value": "resume"
                },
                {
                  "key": "prorationMethod",
                  "value": "proportional"
                },
                {
                  "key": "applicationPriceType",
                  "value": "benefited-price"
                },
                {
                  "key": "name",
                  "value": "testeBenefit1"
                },
                {
                  "key": "amount",
                  "value": "2"
                },
                {
                  "key": "unit",
                  "value": "qty"
                },
                {
                  "key": "recoveryValue",
                  "value": "0"
                },
                {
                  "key": "recoveryType",
                  "value": ""
                }
              ],
              "applied-elements": {
                "use-set": {
                  "name": "setTeste4",
                  "max": "1.0",
                  "attribute": "qty"
                }
              }
            }
          }
        }
    ]
}

La siguiente imagen muestra como se ve el resumen de la promoción en la consola de Promo:


Ejemplo 5:

En el siguiente ejemplo se inserta una promoción con condiciones simples donde indica que el código del producto debe ser igual a: a, b y c , y debe tener los siguientes tipos de medios de pago: VISA y los medios de pago deben tener la siguiente cantidad de cuotas: 1, 2 o 3. El beneficio que se dará será un plan de pagos en 3 cuotas con el tipo de pago VISA para los productos a, b y c.

Ejemplo 4 Json
{
	"companyId": "napse",
	"promotions": [
		{
	      "operation": "I",
          "name": "Teste import 04",
          "reportParticipants": "false",
          "suggest": "not",
          "sets": {
            "set": [
              {
                "name": "setTeste1",
                "type": "item",
                "attribute": "code",
                "comparator": "Into",
                "value": "a,b,c"
              },
              {
                "name": "setTeste2",
                "type": "payment",
                "attribute": "type",
                "comparator": "Into",
                "value": "VISA"
              },
              {
                "name": "setTeste3",
                "type": "payment",
                "attribute": "installments",
                "comparator": "Into",
                "value": "1,2,3"
              }
            ]
          },
          "condition": {
            "type": "composite",
            "name": "And",
            "condition": [
              {
                "type": "basic",
                "name": "Exists",
                "parameter": {
                  "key": "use-set",
                  "value": "setTeste1"
                }
              },
              {
                "type": "basic",
                "name": "Exists",
                "parameter": {
                  "key": "use-set",
                  "value": "setTeste2"
                }
              },
              {
                "type": "basic",
                "name": "Exists",
                "parameter": {
                  "key": "use-set",
                  "value": "setTeste3"
                }
              }
            ]
          },
          "benefits": {
            "benefit": {
              "instance": "PaymentPlanBenefit",
              "parameter": [
                {
                  "key": "displayMessage",
                  "value": "CodifMedioPago3Cuotas"
                },
                {
                  "key": "printerMessage",
                  "value": "CodifMedioPago3Cuotas"
                },
                {
                  "key": "TLOGMessage",
                  "value": "CodifMedioPago3Cuotas"
                },
                {
                  "key": "applicationMethod",
                  "value": "resume"
                },
                {
                  "key": "prorationMethod",
                  "value": "proportional"
                },
                {
                  "key": "applicationPriceType",
                  "value": "benefited-price"
                },
                {
                  "key": "name",
                  "value": "benefitteste1"
                },
                {
                  "key": "paymentplanid",
                  "value": "1"
                },
                {
                  "key": "type",
                  "value": "VISA"
                },
                {
                  "key": "tender",
                  "value": "1"
                },
                {
                  "key": "installments",
                  "value": "1,2,3"
                },
                {
                  "key": "percenttype",
                  "value": "indistinct"
                },
                {
                  "key": "recoveryValue",
                  "value": "0"
                },
                {
                  "key": "recoveryType",
                  "value": ""
                }
              ],
              "applied-elements": {
                "use-set": {"name": "setTeste1"}
              }
            }
          }
        }
    ]
}

La siguiente imagen muestra como se ve el resumen de la promoción en la consola de Promo:


Ejemplo 6:

En el siguiente json se inserta una promoción con condición simple donde indica que debe comprar el producto 05935 y presentar el tipo de tarjeta de fidelidad 5. Obtendrá como beneficio: canje de puntos para el tipo de tarjeta y producto mencionados, el factor de conversión será: por cada peso se otorgarán 2 puntos.

Ejemplo 5 Json
{
	"companyId": "napse",
	"promotions": [
		{
	      "operation": "I",
          "name": "Teste import 05",
          "reportParticipants": "false",
          "suggest": "not",
          "sets": {
            "set": [
              {
                "name": "setTeste01",
                "type": "item",
                "attribute": "code",
                "comparator": "Into",
                "value": "05935"
              },
              {
                "name": "setTeste02",
                "type": "loyaltycard",
                "attribute": "type",
                "comparator": "Into",
                "value": "5"
              }
            ]
          },
          "condition": {
            "type": "composite",
            "name": "And",
            "condition": [
              {
                "type": "basic",
                "name": "Exists",
                "parameter": {
                  "key": "use-set",
                  "value": "setTeste01"
                }
              },
              {
                "type": "basic",
                "name": "Exists",
                "parameter": {
                  "key": "use-set",
                  "value": "setTeste02"
                }
              }
            ]
          },
          "benefits": {
            "benefit": {
              "instance": "RedeemPointsBenefit",
              "nro": "60f586dce830a518e09765dd",
              "parameter": [
                {
                  "key": "displayMessage",
                  "value": "Canje de puntos A"
                },
                {
                  "key": "printerMessage",
                  "value": "Canje de puntos A"
                },
                {
                  "key": "TLOGMessage",
                  "value": "Canje de puntos A"
                },
                {
                  "key": "applicationMethod",
                  "value": "resume"
                },
                {
                  "key": "prorationMethod",
                  "value": "proportional"
                },
                {
                  "key": "applicationPriceType",
                  "value": "benefited-price"
                },
                {
                  "key": "name",
                  "value": "promoBenefit"
                },
                {
                  "key": "type",
                  "value": "5"
                },
                {
                  "key": "factor",
                  "value": "2"
                },
                {
                  "key": "recoveryValue",
                  "value": "0"
                },
                {
                  "key": "recoveryType",
                  "value": ""
                },
                {
                  "key": "prorateBCP",
                  "value": "false"
                }
              ],
              "applied-elements": {
                "use-set": {"name": "setTeste01"}
              }
            }
          }
        }
    ]
}

La siguiente imagen muestra como se ve el resumen de la promoción en la consola de Promo:


Ejemplo 7:

En el siguiente ejemplo se inserta una promoción con condición simple donde indica que se debe comprar el producto 05935 o cualquier producto y como beneficio se podrán canejear puntos sobre el producto 05935 y te tomará por cada peso 2 puntos.

Ejemplo 6 Json
{
	"companyId": "napse",
	"promotions": [
		{
	      "operation": "I",
          "name": "Teste import 006",
          "reportParticipants": "false",
          "suggest": "not",
          "sets": {
            "set": [
              {
                "name": "setTeste01",
                "type": "item",
                "attribute": "code",
                "comparator": "Into",
                "value": "05935"
              },
              {
                "name": "61126855e830a505e41642a3",
                "type": "item"
              },
            ]
          },
          "condition": {
            "type": "composite",
            "name": "And",
            "condition": [
              {
                "type": "basic",
                "name": "Exists",
                "parameter": {
                  "key": "use-set",
                  "value": "setTeste01"
                }
              },
              {
                "type": "basic",
                "name": "Exists",
                "parameter": [
				  {
                   "key": "use-set",
                    "value": "61126855e830a505e41642a3"
                  },
				  {
					"key": "attribute",
					"value": "xprice"
				  },
				  {
					"key": "value",
					"value": "1000"
				  }
				]
              }
            ]
          },
          "benefits": {
            "benefit": {
              "instance": "RedeemPointsBenefit",
              "nro": "60f586dce830a518e09765dd",
              "parameter": [
                {
                  "key": "displayMessage",
                  "value": "Canje de puntos A"
                },
                {
                  "key": "printerMessage",
                  "value": "Canje de puntos A"
                },
                {
                  "key": "TLOGMessage",
                  "value": "Canje de puntos A"
                },
                {
                  "key": "applicationMethod",
                  "value": "resume"
                },
                {
                  "key": "prorationMethod",
                  "value": "proportional"
                },
                {
                  "key": "applicationPriceType",
                  "value": "benefited-price"
                },
                {
                  "key": "name",
                  "value": "promoBenefit"
                },
                {
                  "key": "type",
                  "value": "5"
                },
                {
                  "key": "factor",
                  "value": "2"
                },
                {
                  "key": "recoveryValue",
                  "value": "0"
                },
                {
                  "key": "recoveryType",
                  "value": ""
                },
                {
                  "key": "prorateBCP",
                  "value": "false"
                }
              ],
              "applied-elements": {
                "use-set": {"name": "setTeste01"}
              }
            }
          }
        }
   ]
}

La siguiente imagen muestra como se ve el resumen de la promoción en la consola de Promo:


Ejemplo 8:

En este ejemplo se inserta una promoción con condición simple donde indica que se puede llevar cualquier producto y en condición por composición indica que debe llevar 2 vestidos y obtendrá de beneficio el 100% de descuento sobre 1 de papas.

Ejemplo 7 Json
{
	"companyId": "napse",
	"promotions": [
		{
	      "operation": "I",
          "name": "Teste import 07",
          "reportParticipants": "false",
          "suggest": "not",
          "sets": {
            "set": [
              {
                "name": "setTest1",
                "type": "item"
              },
              {
                "name": "setTest2",
                "type": "item",
                "attribute": "code",
                "comparator": "Into",
                "value": "vestido"
              },
              {
                "name": "setTest3",
                "type": "item",
                "attribute": "code",
                "comparator": "Into",
                "value": "papas"
              }
            ]
          },
          "condition": {
            "type": "basic",
            "name": "Exists",
            "parameter": {
              "key": "use-set",
              "value": "setTest1"
            }
          },
          "combo": {
            "limit": "1",
            "combo-component": {
              "min": "2",
              "max": "2",
              "attribute": "qty",
              "use-set": "setTest2"
            }
          },
          "benefits": {
            "benefit": {
              "instance": "PercentageDiscount",
              "nro": "611183a0e830a505e4164209",
              "parameter": [
                {
                  "key": "displayMessage",
                  "value": "1Promo Coca+ Papas, papas gratis"
                },
                {
                  "key": "printerMessage",
                  "value": "1Promo Coca+ Papas, papas gratis"
                },
                {
                  "key": "TLOGMessage",
                  "value": "1Promo Coca+ Papas, papas gratis"
                },
                {
                  "key": "applicationMethod",
                  "value": "resume"
                },
                {
                  "key": "prorationMethod",
                  "value": "proportional"
                },
                {
                  "key": "applicationPriceType",
                  "value": "benefited-price"
                },
                {
                  "key": "name",
                  "value": "611183a0e830a505e416420b"
                },
                {
                  "key": "percent",
                  "value": "100"
                },
                {
                  "key": "unit",
                  "value": "qty"
                },
                {
                  "key": "recoveryValue",
                  "value": "0"
                },
                {
                  "key": "recoveryType",
                  "value": ""
                },
                {
                  "key": "prorateBCP",
                  "value": "false"
                }
              ],
              "applied-elements": {
                "use-set": {
                  "name": "setTest3",
                  "max": "1.0",
                  "attribute": "qty"
                }
              }
            }
          }
        }
    ]
}

La siguiente imagen muestra como se ve el resumen de la promoción en la consola de Promo:


Ejemplo 9:

Este ejemplo muestra como insertar una promoción con condición de rango horario y condiciones simples: comprando cualquier producto, presentando un cupón de tipo tc26, el cliente debe ser tipo vip y pertenecer al segmento abc1, debe pagar con medio de pago tipo VISA y contar con una tarjeta de fidelidad tipo 6, la compra debe realizarse en la Terminal 081 y debe pertenecer a Zona norte. De cumplirse con todas esas condiciones se otorgarán los siguientes beneficios: canje de cupón calculado , se le dará un beneficioo externo, tendrá un canje con opciones, tendrá un canje de puntos por catálogo, un descuento fijo de $200, un descuento por convenio de 10%, un descuento porcentaje de 50%, un descuento nuevo precio, un canje de puntos, un beneficio general, un coeficiente de fidelización, se le otrogará un cupón tipo tc26, se le otorgarán 100 cupones calculados tipo tc19 por valor 10, porcentaje de fidelización de 10%, se le otorgará un regalocon id bigbox1, se le otorgará un reintegro bancario con el plan ahora18.

Ejemplo 8 Json
{
	"companyId": "napse",
	"promotions": [
		{
		"operation": "I",
		"name": "Teste import 08",
		"code": "Teste import 08",
		"reportParticipants": "false",
		"suggest": "not",
		"sets": {
			"set": [{
					"name": "setTeste1",
					"type": "item"
				},
				{
					"name": "setTeste2",
					"type": "coupon",
					"attribute": "type",
					"comparator": "Into",
					"value": "tc26"
				},
				{
					"name": "setTeste3",
					"type": "customer",
					"attribute": "type",
					"comparator": "Into",
					"value": "vip"
				},
				{
					"name": "setTeste4",
					"type": "customer",
					"attribute": "segment",
					"comparator": "Into",
					"value": "abc1"
				},
				{
					"name": "setTeste5",
					"type": "payment",
					"attribute": "type",
					"comparator": "Into",
					"value": "visa"
				},
				{
					"name": "setTeste6",
					"type": "loyaltycard",
					"attribute": "type",
					"comparator": "Into",
					"value": "6"
				}
			]
		},
		"condition": {
			"type": "composite",
			"name": "And",
			"condition": [{
					"type": "composite",
					"name": "And",
					"condition": [{
							"type": "composite",
							"name": "And",
							"condition": [{
									"type": "composite",
									"name": "And",
									"condition": [{
											"type": "basic",
											"name": "Exists",
											"parameter": {
												"key": "use-set",
												"value": "setTeste1"
											}
										},
										{
											"type": "basic",
											"name": "Exists",
											"parameter": {
												"key": "use-set",
												"value": "setTeste2"
											}
										},
										{
											"type": "basic",
											"name": "Exists",
											"parameter": {
												"key": "use-set",
												"value": "setTeste3"
											}
										},
										{
											"type": "basic",
											"name": "Exists",
											"parameter": {
												"key": "use-set",
												"value": "setTeste4"
											}
										},
										{
											"type": "basic",
											"name": "Exists",
											"parameter": {
												"key": "use-set",
												"value": "setTeste5"
											}
										},
										{
											"type": "basic",
											"name": "Exists",
											"parameter": {
												"key": "use-set",
												"value": "setTeste6"
											}
										}
									]
								},
								{
									"type": "basic",
									"name": "Header",
									"parameter": [{
											"key": "attribute",
											"value": "terminal"
										},
										{
											"key": "value",
											"value": "081"
										}
									]
								}
							]
						},
						{
							"type": "basic",
							"name": "Header",
							"parameter": [{
									"key": "attribute",
									"value": "zone"
								},
								{
									"key": "value",
									"value": "norte"
								}
							]
						}
					]
				},
				{
					"type": "composite",
					"name": "And",
					"condition": [{
							"type": "basic",
							"name": "Between",
							"parameter": [{
									"key": "attribute",
									"value": "time"
								},
								{
									"key": "valuefrom",
									"value": "02:00"
								},
								{
									"key": "valueto",
									"value": "23:00"
								}
							]
						},
						{
							"type": "basic",
							"name": "Between",
							"parameter": [{
									"key": "attribute",
									"value": "datetime"
								},
								{
									"key": "valuefrom",
									"value": "28/01/2021 00:00"
								},
								{
									"key": "valueto",
									"value": "31/10/2021 23:59"
								}
							]
						}
					]
				}
			]
		},
		"benefits": {
			"benefit": [
			    {
					"instance": "CalculatedCouponApplicationBenefit",
					"parameter": [{
							"key": "displayMessage",
							"value": "superPromox"
						},
						{
							"key": "printerMessage",
							"value": "superPromox"
						},
						{
							"key": "TLOGMessage",
							"value": "superPromox"
						},
						{
							"key": "applicationMethod",
							"value": "resume"
						},
						{
							"key": "prorationMethod",
							"value": "proportional"
						},
						{
							"key": "applicationPriceType",
							"value": "benefited-price"
						},
						{
							"key": "name",
							"value": "60131a84acb1e948c01a2883"
						},
						{
							"key": "couponid",
							"value": "tc19"
						},
						{
							"key": "recoveryValue",
							"value": "0"
						},
						{
							"key": "recoveryType"
						}
					],
					"applied-elements": {
						"use-set": {
							"name": "setTeste1"
						}
					}
				},
				{
					"instance": "ExternalBenefit",
					"parameter": [{
							"key": "displayMessage",
							"value": "superPromox"
						},
						{
							"key": "printerMessage",
							"value": "superPromox"
						},
						{
							"key": "TLOGMessage",
							"value": "superPromox"
						},
						{
							"key": "applicationMethod",
							"value": "resume"
						},
						{
							"key": "prorationMethod",
							"value": "proportional"
						},
						{
							"key": "applicationPriceType",
							"value": "benefited-price"
						},
						{
							"key": "name",
							"value": "60131a84acb1e948c01a2883"
						},
						{
							"key": "type",
							"value": "compensacion"
						},
						{
							"key": "recoveryValue",
							"value": "0"
						},
						{
							"key": "recoveryType"
						}
					],
					"applied-elements": {
						"use-set": {
							"name": "setTeste1"
						}
					}
				},
				{
					"instance": "RedeemWithOptionsBenefit",
					"parameter": [{
							"key": "displayMessage",
							"value": "superPromox"
						},
						{
							"key": "printerMessage",
							"value": "superPromox"
						},
						{
							"key": "TLOGMessage",
							"value": "superPromox"
						},
						{
							"key": "applicationMethod",
							"value": "resume"
						},
						{
							"key": "prorationMethod",
							"value": "proportional"
						},
						{
							"key": "applicationPriceType",
							"value": "benefited-price"
						},
						{
							"key": "name",
							"value": "60131a84acb1e948c01a2883"
						},
						{
							"key": "recoveryValue",
							"value": "0"
						},
						{
							"key": "recoveryType"
						}
					],
					"applied-elements": {
						"use-set": {
							"name": "setTeste1"
						}
					},
					"redeemOptions": {
						"redeemOption": {
							"benefitToApplyOptionCode": "fixedDiscount",
							"forEachUnit": "qty",
							"requiredPoints": "1000",
							"applyValue": "100",
							"cardType": "6",
							"cardPoints": "100"
						}
					}
				},
				{
					"instance": "CatalogRedeemBenefit",
					"parameter": [{
							"key": "displayMessage",
							"value": "superPromox"
						},
						{
							"key": "printerMessage",
							"value": "superPromox"
						},
						{
							"key": "TLOGMessage",
							"value": "superPromox"
						},
						{
							"key": "applicationMethod",
							"value": "resume"
						},
						{
							"key": "prorationMethod",
							"value": "proportional"
						},
						{
							"key": "applicationPriceType",
							"value": "benefited-price"
						},
						{
							"key": "name",
							"value": "60131a84acb1e948c01a2883"
						},
						{
							"key": "type",
							"value": "6"
						},
						{
							"key": "recoveryValue",
							"value": "0"
						},
						{
							"key": "recoveryType"
						}
					],
					"applied-elements": {
						"use-set": {
							"name": "setTeste1"
						}
					}
				},
				{
					"instance": "FixedDiscount",
					"parameter": [{
							"key": "displayMessage",
							"value": "superPromox"
						},
						{
							"key": "printerMessage",
							"value": "superPromox"
						},
						{
							"key": "TLOGMessage",
							"value": "superPromox"
						},
						{
							"key": "applicationMethod",
							"value": "resume"
						},
						{
							"key": "prorationMethod",
							"value": "proportional"
						},
						{
							"key": "applicationPriceType",
							"value": "benefited-price"
						},
						{
							"key": "name",
							"value": "60131a84acb1e948c01a2883"
						},
						{
							"key": "amount",
							"value": "200"
						},
						{
							"key": "unit",
							"value": "qty"
						},
						{
							"key": "recoveryValue",
							"value": "0"
						},
						{
							"key": "recoveryType"
						}
					],
					"applied-elements": {
						"use-set": {
							"name": "setTeste1"
						}
					}
				},
				{
					"instance": "ContractPercentageDiscount",
					"parameter": [{
							"key": "displayMessage",
							"value": "superPromox"
						},
						{
							"key": "printerMessage",
							"value": "superPromox"
						},
						{
							"key": "TLOGMessage",
							"value": "superPromox"
						},
						{
							"key": "applicationMethod",
							"value": "resume"
						},
						{
							"key": "prorationMethod",
							"value": "proportional"
						},
						{
							"key": "applicationPriceType",
							"value": "benefited-price"
						},
						{
							"key": "name",
							"value": "60131a84acb1e948c01a2883"
						},
						{
							"key": "percent",
							"value": "10"
						},
						{
							"key": "unit",
							"value": "qty"
						},
						{
							"key": "balance",
							"value": "balance1"
						},
						{
							"key": "recoveryValue",
							"value": "0"
						},
						{
							"key": "recoveryType"
						}
					],
					"applied-elements": {
						"use-set": {
							"name": "setTeste1"
						}
					}
				},
				{
					"instance": "PercentageDiscount",
					"parameter": [{
							"key": "displayMessage",
							"value": "superPromox"
						},
						{
							"key": "printerMessage",
							"value": "superPromox"
						},
						{
							"key": "TLOGMessage",
							"value": "superPromox"
						},
						{
							"key": "applicationMethod",
							"value": "resume"
						},
						{
							"key": "prorationMethod",
							"value": "proportional"
						},
						{
							"key": "applicationPriceType",
							"value": "benefited-price"
						},
						{
							"key": "name",
							"value": "60131a84acb1e948c01a2883"
						},
						{
							"key": "percent",
							"value": "50"
						},
						{
							"key": "unit",
							"value": "qty"
						},
						{
							"key": "recoveryValue",
							"value": "0"
						},
						{
							"key": "recoveryType"
						}
					],
					"applied-elements": {
						"use-set": {
							"name": "setTeste1"
						}
					}
				},
				{
					"instance": "NewPrice",
					"parameter": [{
							"key": "displayMessage",
							"value": "superPromox"
						},
						{
							"key": "printerMessage",
							"value": "superPromox"
						},
						{
							"key": "TLOGMessage",
							"value": "superPromox"
						},
						{
							"key": "applicationMethod",
							"value": "resume"
						},
						{
							"key": "prorationMethod",
							"value": "proportional"
						},
						{
							"key": "applicationPriceType",
							"value": "benefited-price"
						},
						{
							"key": "name",
							"value": "60131a84acb1e948c01a2883"
						},
						{
							"key": "externalAmount",
							"value": "false"
						},
						{
							"key": "newprice",
							"value": "300"
						},
						{
							"key": "unit",
							"value": "qty"
						},
						{
							"key": "recoveryValue",
							"value": "0"
						},
						{
							"key": "recoveryType"
						}
					],
					"applied-elements": {
						"use-set": {
							"name": "setTeste1"
						}
					}
				},
				{
					"instance": "RedeemPointsBenefit",
					"parameter": [{
							"key": "displayMessage",
							"value": "superPromox"
						},
						{
							"key": "printerMessage",
							"value": "superPromox"
						},
						{
							"key": "TLOGMessage",
							"value": "superPromox"
						},
						{
							"key": "applicationMethod",
							"value": "resume"
						},
						{
							"key": "prorationMethod",
							"value": "proportional"
						},
						{
							"key": "applicationPriceType",
							"value": "benefited-price"
						},
						{
							"key": "name",
							"value": "60131a84acb1e948c01a2883"
						},
						{
							"key": "type",
							"value": "6"
						},
						{
							"key": "factor",
							"value": "10"
						},
						{
							"key": "recoveryValue",
							"value": "0"
						},
						{
							"key": "recoveryType"
						}
					],
					"applied-elements": {
						"use-set": {
							"name": "setTeste1"
						}
					}
				},
				{
					"instance": "GeneralBenefit",
					"parameter": [{
							"key": "displayMessage",
							"value": "superPromox"
						},
						{
							"key": "printerMessage",
							"value": "superPromox"
						},
						{
							"key": "TLOGMessage",
							"value": "superPromox"
						},
						{
							"key": "applicationMethod",
							"value": "resume"
						},
						{
							"key": "prorationMethod",
							"value": "proportional"
						},
						{
							"key": "applicationPriceType",
							"value": "benefited-price"
						},
						{
							"key": "name",
							"value": "60131a84acb1e948c01a2883"
						},
						{
							"key": "qty",
							"value": "10"
						},
						{
							"key": "generalid",
							"value": "33"
						},
						{
							"key": "generaltype",
							"value": "general"
						},
						{
							"key": "recoveryValue",
							"value": "0"
						},
						{
							"key": "recoveryType"
						}
					],
					"applied-elements": {
						"use-set": {
							"name": "setTeste1"
						}
					}
				},
				{
					"instance": "FactorLoyaltyBenefit",
					"parameter": [{
							"key": "displayMessage",
							"value": "superPromox"
						},
						{
							"key": "printerMessage",
							"value": "superPromox"
						},
						{
							"key": "TLOGMessage",
							"value": "superPromox"
						},
						{
							"key": "applicationMethod",
							"value": "resume"
						},
						{
							"key": "prorationMethod",
							"value": "proportional"
						},
						{
							"key": "applicationPriceType",
							"value": "benefited-price"
						},
						{
							"key": "name",
							"value": "60131a84acb1e948c01a2883"
						},
						{
							"key": "type",
							"value": "6"
						},
						{
							"key": "factor",
							"value": "10"
						},
						{
							"key": "trxPointsLimit",
							"value": "100"
						},
						{
							"key": "recoveryValue",
							"value": "0"
						},
						{
							"key": "recoveryType"
						}
					],
					"applied-elements": {
						"use-set": {
							"name": "setTeste1"
						}
					}
				},
				{
					"instance": "CouponBenefit",
					"parameter": [{
							"key": "displayMessage",
							"value": "superPromox"
						},
						{
							"key": "printerMessage",
							"value": "superPromox"
						},
						{
							"key": "TLOGMessage",
							"value": "superPromox"
						},
						{
							"key": "applicationMethod",
							"value": "resume"
						},
						{
							"key": "prorationMethod",
							"value": "proportional"
						},
						{
							"key": "applicationPriceType",
							"value": "benefited-price"
						},
						{
							"key": "name",
							"value": "60131a84acb1e948c01a2883"
						},
						{
							"key": "qty",
							"value": "1"
						},
						{
							"key": "couponid",
							"value": "tc26"
						},
						{
							"key": "infoPos",
							"value": "0"
						},
						{
							"key": "recoveryValue",
							"value": "0"
						},
						{
							"key": "recoveryType"
						}
					],
					"applied-elements": {
						"use-set": {
							"name": "setTeste1"
						}
					}
				},
				{
					"instance": "CalculatedCouponBenefit",
					"parameter": [{
							"key": "displayMessage",
							"value": "superPromox"
						},
						{
							"key": "printerMessage",
							"value": "superPromox"
						},
						{
							"key": "TLOGMessage",
							"value": "superPromox"
						},
						{
							"key": "applicationMethod",
							"value": "resume"
						},
						{
							"key": "prorationMethod",
							"value": "proportional"
						},
						{
							"key": "applicationPriceType",
							"value": "benefited-price"
						},
						{
							"key": "name",
							"value": "60131a84acb1e948c01a2883"
						},
						{
							"key": "couponid",
							"value": "tc19"
						},
						{
							"key": "amountApplicationType",
							"value": "percentage"
						},
						{
							"key": "calculatedCouponValue",
							"value": "10"
						},
						{
							"key": "qty",
							"value": "100"
						},
						{
							"key": "recoveryValue",
							"value": "0"
						},
						{
							"key": "recoveryType"
						}
					],
					"applied-elements": {
						"use-set": {
							"name": "setTeste1"
						}
					}
				},
				{
					"instance": "PercentLoyaltyBenefit",
					"parameter": [{
							"key": "displayMessage",
							"value": "superPromox"
						},
						{
							"key": "printerMessage",
							"value": "superPromox"
						},
						{
							"key": "TLOGMessage",
							"value": "superPromox"
						},
						{
							"key": "applicationMethod",
							"value": "resume"
						},
						{
							"key": "prorationMethod",
							"value": "proportional"
						},
						{
							"key": "applicationPriceType",
							"value": "benefited-price"
						},
						{
							"key": "name",
							"value": "60131a84acb1e948c01a2883"
						},
						{
							"key": "percent",
							"value": "10"
						},
						{
							"key": "type",
							"value": "6"
						},
						{
							"key": "trxPointsLimit",
							"value": "200"
						},
						{
							"key": "recoveryValue",
							"value": "0"
						},
						{
							"key": "recoveryType"
						}
					],
					"applied-elements": {
						"use-set": {
							"name": "setTeste1"
						}
					}
				},
				{
					"instance": "GiftBenefit",
					"parameter": [{
							"key": "displayMessage",
							"value": "superPromox"
						},
						{
							"key": "printerMessage",
							"value": "superPromox"
						},
						{
							"key": "TLOGMessage",
							"value": "superPromox"
						},
						{
							"key": "applicationMethod",
							"value": "resume"
						},
						{
							"key": "prorationMethod",
							"value": "proportional"
						},
						{
							"key": "applicationPriceType",
							"value": "benefited-price"
						},
						{
							"key": "name",
							"value": "60131a84acb1e948c01a2883"
						},
						{
							"key": "qty",
							"value": "1"
						},
						{
							"key": "giftid",
							"value": "bigbox1"
						},
						{
							"key": "gifttype",
							"value": "bigbox"
						},
						{
							"key": "recoveryValue",
							"value": "0"
						},
						{
							"key": "recoveryType"
						}
					],
					"applied-elements": {
						"use-set": {
							"name": "setTeste1"
						}
					}
				},
				{
					"instance": "BankRefundBenefit",
					"parameter": [{
							"key": "displayMessage",
							"value": "superPromox"
						},
						{
							"key": "printerMessage",
							"value": "superPromox"
						},
						{
							"key": "TLOGMessage",
							"value": "superPromox"
						},
						{
							"key": "applicationMethod",
							"value": "resume"
						},
						{
							"key": "prorationMethod",
							"value": "proportional"
						},
						{
							"key": "applicationPriceType",
							"value": "benefited-price"
						},
						{
							"key": "name",
							"value": "60131a84acb1e948c01a2883"
						},
						{
							"key": "paymentplanid",
							"value": "ahora18"
						},
						{
							"key": "type",
							"value": "credito"
						},
						{
							"key": "tender",
							"value": "visa"
						},
						{
							"key": "installments",
							"value": "18"
						},
						{
							"key": "bank",
							"value": "santander"
						},
						{
							"key": "limitamount",
							"value": "200000"
						},
						{
							"key": "percent",
							"value": "10"
						},
						{
							"key": "percenttype",
							"value": "discount"
						},
						{
							"key": "pocket"
						},
						{
							"key": "recoveryValue",
							"value": "0"
						},
						{
							"key": "recoveryType"
						}
					],
					"applied-elements": {
						"use-set": {
							"name": "setTeste1"
						}
					}
				}
			]
		}

	}]
}

La siguiente imagen muestra como se ve el resumen de la promoción en la consola de Promo:

 



Pasos para importar a la consola de Promo una promoción que está en un mapa xml


Una buena práctica cuando iniciamos en la confeccion del Json es tomar una promocion de un mapa existente o bien definirla en consola y obtener el mapa en formato xml para convertirlo en el Json equivalente y así poder por comparación lograr una comprensión para luego ya confeccionarlos por otros medios.

En este apartado se detalla un procedimiento propuesto para realizar la conversión de un mapa xml existente a el Json que se espera como imput (entrada) al sericio de importación de promociones.

1. Importación de una promoción desde un mapa .xml

Dado el siguiente mapa.xml

Mapa XML

<?xml version="1.0" encoding="UTF-8"?>

<promo-engine start-date="19/05/2022 00:00" end-date="26/05/2022 23:59" map-version="1" suggest="not">

<parameter key="Logging" value="true" />

<parameter key="LogConfigurationFile" value="logrsca.xml" />

<parameter key="LogConfigurationCategory" value="com.synthesis.promo" />

<parameter key="Descriptors" value="descriptor.properties" />

<parameter key="DAOConfigurationFeatures" value="com.synthesis.promo.engine.dao.ConfigurationFeatures" />

<parameter key="EvaluationAlgorithmClass" value="com.synthesis.promo.engine.evaluation.InStepsAlgorithm" />

<promotions>

<promotion nro="62867033c9512b0184381178" name="Promos con limites 1" code="30" className="com.synthesis.promo.engine.promotion.ModularPromotion" reportParticipants="false" suggest="not">

<sets>

<set name="62867340c9512b01843811b5" type="item" attribute="code" comparator="Into" value="111" />

</sets>

<condition type="composite" name="And">

<condition type="basic" name="Exists">

<parameter key="use-set" value="62867340c9512b01843811b5" />

</condition>

<condition type="basic" name="Header">

<parameter key="attribute" value="store" />

<parameter key="value" value="napse,napse2" /> </condition>

</condition> <benefits>

<benefit instance="FixedDiscount" nro="628670c9c9512b018438117f">

<parameter key="displayMessage" value="Promos con limites 1" />

<parameter key="printerMessage" value="Promos con limites 1" />

<parameter key="TLOGMessage" value="Promos con limites 1" />

<parameter key="applicationMethod" value="resume" />

<parameter key="prorationMethod" value="proportional" />

<parameter key="applicationPriceType" value="benefited-price" />

<parameter key="hasLimit" value="true" />

<parameter key="name" value="62867033c9512b0184381178" />

<parameter key="amount" value="300" />

<parameter key="unit" value="qty" />

<parameter key="prorateBCP" value="false" />

<parameter key="recoveryValue" value="0" />

<parameter key="recoveryType" value="" />

<applied-elements>

<use-set name="62867340c9512b01843811b5" /> </applied-elements>

</benefit>

</benefits>

</promotion>

</promotions>

<evaluation-algorithm>

<step>

<function name="ALL">

<function name="SIMPLE">

<promotion-usage name="Promos con limites 1" /> </function>

</function>

</step>

</evaluation-algorithm> </promo-engine>


Se deberá copiar solo la sección del bloque <promotion ….>, tal como se ve en la siguiente imagen:


XML -> Bloque promotion

<promotion nro="62867033c9512b0184381178" name="Promos con limites 1" code="30" className="com.synthesis.promo.engine.promotion.ModularPromotion" reportParticipants="false" suggest="not">

<sets>

<set name="62867340c9512b01843811b5" type="item" attribute="code" comparator="Into" value="111" />

</sets>

<condition type="composite" name="And">

<condition type="basic" name="Exists">

<parameter key="use-set" value="62867340c9512b01843811b5" />

</condition>

<condition type="basic" name="Header">

<parameter key="attribute" value="store" />

<parameter key="value" value="napse,napse2" /> </condition>

</condition> <benefits>

<benefit instance="FixedDiscount" nro="628670c9c9512b018438117f">

<parameter key="displayMessage" value="Promos con limites 1" />

<parameter key="printerMessage" value="Promos con limites 1" />

<parameter key="TLOGMessage" value="Promos con limites 1" />

<parameter key="applicationMethod" value="resume" />

<parameter key="prorationMethod" value="proportional" />

<parameter key="applicationPriceType" value="benefited-price" />

<parameter key="hasLimit" value="true" />

<parameter key="name" value="62867033c9512b0184381178" />

<parameter key="amount" value="300" />

<parameter key="unit" value="qty" />

<parameter key="prorateBCP" value="false" />

<parameter key="recoveryValue" value="0" />

<parameter key="recoveryType" value="" />

<applied-elements>

<use-set name="62867340c9512b01843811b5" /> </applied-elements>

</benefit>

</benefits>

</promotion>


2. Cómo convertir el xml en json

Luego, ir a la web https://www.oxygenxml.com/xml_json_converter.html, para convertir el xml a formato json.

Pegar el xml dentro del campo XML y generar el Json presionando el botón con la flecha ( ->).


Esto generará el siguiente resultado, del cual solo se deberá copiar lo que está dentro de "promotion": { marcado en azul, tal como se muestra en el siguiente ejemplo:

JSON generado

{

"promotion": {

"nro": "62867033c9512b0184381178",

"name": "Promos con limites 1",

"code": "30",

"className": "com.synthesis.promo.engine.promotion.ModularPromotion", "reportParticipants": "false",

"suggest": "not",

"sets": {

"set": {

"name": "62867340c9512b01843811b5",

"type": "item",

"attribute": "code",

"comparator": "Into",

"value": "111"

}

},

"condition": {

"type": "composite",

"name": "And",

"condition": [

{

"type": "basic",

"name": "Exists",

"parameter": {

"key": "use-set",

"value": "62867340c9512b01843811b5"

}

},

{

"type": "basic",

"name": "Header",

"parameter": [

{

"key": "attribute",

"value": "store"

},

{

"key": "value",

"value": "napse,napse2"

}

]

}

]

},

"benefits": {

"benefit": {

"instance": "FixedDiscount",

"nro": "628670c9c9512b018438117f",

"parameter": [

{

"key": "displayMessage",

"value": "Promos con limites 1"

},

{

"key": "printerMessage",

"value": "Promos con limites 1"

},

{

"key": "TLOGMessage",

"value": "Promos con limites 1"

},

{

"key": "applicationMethod",

"value": "resume"

},

{

"key": "prorationMethod",

"value": "proportional"

},

{

"key": "applicationPriceType",

"value": "benefited-price"

},

{

"key": "hasLimit",

"value": "true"

},

{

"key": "name",

"value": "62867033c9512b0184381178"

},

{

"key": "amount",

"value": "300"

},

{

"key": "unit",

"value": "qty"

},

{

"key": "prorateBCP",

"value": "false"

},

{

"key": "recoveryValue",

"value": "0"

},

{

"key": "recoveryType",

"value": ""

}

],

"applied-elements": {

"use-set": {"name": "62867340c9512b01843811b5"}

}

}

}

}

}


3. Cómo enviar el json obtenido a través del servicio Importación Masiva de Promociones a la consola de Promo

Una vez copiado todo el contenido marcado en azul, se deberá actualizar el formato estándar de importación de promociones. Por ejemplo:

  • Deberá pegar el contenido copiado dentro después de “operation”: I, tal como se ve en la siguiente imagen.


Esto da el siguiente resultado con el formato de importación ya completo y listo para usar desde POSTMAN:

Resultado del JSON de importación de promoción

El contenido pegado está marcado en azul

{

"companyId":"napse",

"promotions": [

{

"operation":"I",

"nro": "62867033c9512b0184381178",

"name": "Promos con limites 1",

"code": "30",

"className": "com.synthesis.promo.engine.promotion.ModularPromotion", "reportParticipants": "false",

"suggest": "not",

"sets": {

"set": {

"name": "62867340c9512b01843811b5",

"type": "item",

"attribute": "code",

"comparator": "Into",

"value": "111"

}

},

"condition": {

"type": "composite",

"name": "And",

"condition": [ {

"type": "basic",

"name": "Exists",

"parameter": {

"key": "use-set",

"value": "62867340c9512b01843811b5"

}

},

{

"type": "basic",

"name": "Header",

"parameter": [

{

"key": "attribute",

"value": "store"

},

{

"key": "value",

"value": "napse,napse2"

}

]

}

]

},

"benefits": {

"benefit": {

"instance": "FixedDiscount",

"nro": "628670c9c9512b018438117f",

"parameter": [

{

"key": "displayMessage",

"value": "Promos con limites 1"

},

{

"key": "printerMessage",

"value": "Promos con limites 1"

},

{

"key": "TLOGMessage",

"value": "Promos con limites 1"

},

{

"key": "applicationMethod",

"value": "resume"

},

{

"key": "prorationMethod",

"value": "proportional"

},

{

"key": "applicationPriceType",

"value": "benefited-price"

},

{

"key": "hasLimit",

"value": "true"

},

{

"key": "name",

"value": "62867033c9512b0184381178"

},

{

"key": "amount",

"value": "300"

},

{

"key": "unit",

"value": "qty"

},

{

"key": "prorateBCP",

"value": "false"

},

{

"key": "recoveryValue",

"value": "0"

},

{

"key": "recoveryType",

"value": ""

}

],

"applied-elements": {

"use-set": {"name": "62867340c9512b01843811b5"}

}

}

}

}

]

}


Importación del json desde POSTMAN:



4. Resultado

Promo importada y creada correctamente en la consola de Promo:




  • Sem rótulos