...
Elemento | Propiedad | Tipo de dato | Descripción | Requerido | Valor ante ausencia |
Ítem | unitprice | Numérico positivo | Precio unitario del artículo en cuestión. | Si |
|
| xprice | Numérico positivo | Precio extendido del artículo en cuestión. Es igual a la cantidad por el precio unitario. | Si |
|
| qty | Entero positivo | Cantidad de artículos en la línea. | Si |
|
| magnitude | Numérico positivo | Si el artículo es mensurable por otro unidad que no sea la cantidad, deberá ser expresad en esta propiedad. | No | 0 |
| code | Alfanumérico | Código propio del artículo. | No | "-" |
| brand | Alfanumérico | Marca del artículo. | No | "-" |
| supplier | Alfanumérico | Proveedor al que pertenece el artículo. | No | "-" |
| discountable | Alfanumérico | Si el artículo es puede recibir descuentos o no. | No | "-" |
| level1 | Alfanumérico | Nivel 1 de categorización del artículo. Anteriormente este nivel se conocía con el nombre de Departamento. | No | "-" |
| level2 | Alfanumérico | Nivel 2 de categorización del artículo. Anteriormente este nivel se conocía como la Familia del artículo. | No | "-" |
| level3 | Alfanumérico | Nivel 3 de categorización del artículo. Anteriormente este nivel se conocía como la Categoría del artículo. | No | "-" |
| level4 | Alfanumérico | Nivel 4 de categorización del artículo. Anteriormente este nivel se conocía como la subcategoría del artículo. | No | "-" |
discontinuous | booleano | Determina si el producto es un producto discontinuo | No | false | |
lowTurnover | booleano | Determina si el producto es un producto de baja rotación | No | false | |
keyProduct | booleano | Determina si el producto es un producto estrella | No | false | |
applyCatalogRedeem | booleano | Determina si el producto participa en el Canje de Puntos por Catálogo | No | false | |
taxes | Numérico positivo | Valor de los impuestos discriminados respecto al precio unitario. (Ver atributo valueWithTaxes) | No | 0 | |
qty2 | Entero positivo | (Version > 7.EP2.1) Cantidad del producto a superar para otorgar el precio 2 (price2). Solo para Promociones de Nuevo Precio que indican usar monto externo. | No | 0 | |
price2 | Numérico positivo | (Version > 7.EP2.1) Precio una vez superada la cantidad 2 (qty2). Solo para Promociones de Nuevo Precio que indican usar monto externo. | No | 0 | |
qty3 | Entero positivo | (Version > 7.EP2.1) Cantidad del producto a superar para otorgar el precio 3 (price3). Solo para Promociones de Nuevo Precio que indican usar monto externo. | No | 0 | |
price3 | Numérico positivo | (Version > 7.EP2.1) Precio una vez superada la cantidad 3 (qty3). Solo para Promociones de Nuevo Precio que indican usar monto externo. | No | 0 | |
redeemOption | Alfanumérico | (Version > 7.EP2.1) Beneficio "Canje con opciones" - informara las opciones entre las que puede elegir el cliente para acceder a un determinado beneficio canjeando una determinada cantidad de puntos (del cliente y/o tarjeta de fidelidad) Mas detalle en Apéndice I - Canje con opciones | No | ||
Coupon | amount | Numérico positivo | Se utiliza para indicar el valor monetario del cupón. Si no tiene no se utiliza. | No | 0 |
| type | Alfanumérico | Tipo de cupón. | No | "-" |
| qty | Entero positivo | Cantidad | No | 1 |
| id | Alfanumérico | Identificador del cupón. | No | "-" |
LoyaltyCard | type | Alfanumérico | Tipo de tarjeta loyalty | No | "-" |
| id | Alfanumérico | Idenficiador de la tarjeta loyalty | Si | "-" |
| amount | Numérico positivo | Saldo de la tarjeta loyalty | No | 0 |
| chargeAmount | Numérico positivo | Saldo a acreditar a una tarjeta loyalty | No | 0 |
| consumeAmount | Numérico positivo | Saldo a debitar a una tarjeta loyalty | No | 0 |
| status | Alfanumérico | ENABLED o DISABLED para habilitar o deshabilitar una tarjeta fidelidad (solo valido en status LoyatyActivation) | No | "ENABLED" |
nextExpDate | Numérico | Fecha de la proxima expiracion de puntos en format YYYYmmdd. Solo es informado en tarjetas que posean vencimiento de carga definido. | No | "-" | |
nextExpValue | Numérico | Cantidad de puntos que venceran en el proximo vencimiento (nextExpDate) y se informa solo si la tarjeta posee vencimiento de carga definido. | No | "-" | |
reason | Alfanumérico | Código del motivo por el cual se está realizando el chargeAmount o consumeAmount pertinente. Este código corresponde a los valores de motivos definidos en la consola de Promo | No | "-" | |
cvv | Alfanumérico | Corresponde al codigo de seguridad o cvv asociado a la tarjeta. | No | "-" | |
validFrom | Alfanumérico | Fecha de inicio de vigencia . Formato "YYYY-MM-DD" (Año-Mes-Dia) .Ejemplo"2021-07-16" | No | "-" | |
validTo | Alfanumérico | Fecha de fin de vigencia . Formato "YYYY-MM-DD" (Año-Mes-Dia) .Ejemplo"2021-07-16" | No | "-" | |
Customer | type | Alfanumérico | Tipo de cliente. | No | "-" |
| id | Alfanumérico | Identificador del clienteIdentifica al cliente a través del Código. | No | "-" |
| remainingAmount | Numérico positivo | Propiedad que se puede utilizar para indicar el saldo a favor o en contra del cliente en cuestión. (compatibilidad con PROMO 4 y versiones anteriores) | No | 0 |
| points | Entero positivo | Saldo que posee el cliente. (compatibilidad con PROMO 4 y versiones anteriores) | No | 0 |
| Alfanumérico | Atributo incluido para la consulta de clientes | No | "" | |
| name | Alfanumérico | Atributo incluido para la consulta de clientes | No | "" |
| lastName | Alfanumérico | Atributo incluido para la consulta de clientes | No | "" |
| Identifier | Numérico positivo | Atributo incluido para la consulta de clientes | No | "" |
| cardNumber | Numérico positivo | Atributo incluido para la consulta de clientes | No | "" |
creditCampaignCode | Alfanumérico | Código de la Campaña crediticia | No | "" | |
profileCode | Alfanumérico | Código del perfil del cliente | No | "" | |
limitedBenefits | Alfanumérico | Consiste en un listado de Limites asociados a Convenios. El mismo es del tipo: limitedBenefits:"limite1:valor1;limite2:valor2;limite3:valor3.....". Estos valores pueden ser informados desde el Punto de Venta o bien son obtenidos mediante una respuesta a LoyaltyValidation y reinjectados por parte del Puntos de venta como han sido recibidos. | No | "" | |
segment | Alfanumérico | Lista de Códigos de Segmento a los cuales pertenece el cliente, separados por ; | No | "" | |
amount | Numérico positivo | Propiedad que se puede utilizar para indicar el saldo correspondiente a un cliente | No | 0 | |
raffleData | Alfanumérico | Datos para imprimir en cupones informativos, orientado princialmente a sorteos. Ver Manual de Usuario para información sobre cupones Informativos. | No | "-" | |
"Payment Los atributos amount e itemamount son excluyentes y su uso depende de la versión de la promoción codificada que se | type | Alfanumérico | Tipo de medio de pago. | No | "-" |
| id | Alfanumérico | Identificador del pago. | No | "-" |
| plan | Alfanumérico | Plan del medio de pago. | No | "-" |
| amount | Numérico positivo | Dinero que se utiliza con ese medio de pago. Dado que el monto del pago (PA) se calcula como PA = PIA (1 - %desc) o PA = PIA * (1+%recargo)* | No | 0 |
| bank | Alfanumérico | Banco relacionado con el medio de pago. | No | "-" |
| itemamount | Numérico positivo | Dinero que representa el monto de items que se desea pagar. | No | 0 |
| balance | Booleano | Indica si con este medio de pago se cancela el saldo de la transacción.Si el valor es true, entonces no es necesario enviar el amount o itemaount. | No | false |
pointsType | Alfanumérico | Identifica el tipo de pago con puntos (ver manual de usuario Final Promo 7 - "Ignorar pago con Puntos" - Ver también beneficio PromotionPaidInPoints) | No | "" | |
installments | Numérico positivo | Indica la cantidad de cuotas asociadas al pago | No | "" | |
prefix | Alfanumérico | Indica el Prefijo asociado al pago | No | "" | |
Alfanumérico | Indica el Bolsllo asociado al pago | No | "" | ||
prefixGroup | Alfanumérico | Indica el grupo de Prefijos asociado al pago | No | "" | |
payCreditCampaign | Alfanumérico | Indica la Campaña Crediticia asociada al pago | No | "" | |
Event | type | Alfanumérico | Tipo de evento. | No | "-" |
| id | Alfanumérico | Identificador del evento. | No | "-" |
| value | Alfanumérico | Valor que representa el evento. | No | "-" |
Benefit | id | Alfanumérico | Identificador del beneficio externo. | Si | |
type | Alfanumérico | Tipo de beneficio externo. | Si | ||
amount | Numérico positivo | Se utiliza para indicar el monto a descontar o el porcentaje de descuento (de acuerdo al benefitType). | Si | ||
benefitType | Alfanumérico | Indica el tipo de beneficio a generar.
| No | "desc" | |
seqItem | Alfanumérico | Número de secuencia de los items a los cuales hay que aplicar el descuento. Si no viene el atributo o viene vacio se asume que es para todo el ticket. En caso de tener varios secuencias, las mismas deben venir separados por coma. Si algun alguna secuencia tiene mas de una cantidad, se debe concatenar con un =. Ejemplo: 1=2,2,3=3 (indica que el descuento se aplica a dos elementos de la secuencia uno, uno de la secuencia dos y tres la secuencia 3 | No |
...
Las opciones que propone el beneficio "canje con opciones" (RedeemWithOptionsBenefit) tienen los siguientes atributos
atributo | tipo | Descripción |
---|---|---|
id | Alfanumérico | Identificador de la opción** |
requiredPoints | Numérico | Puntos requeridos a canjear para aplicar el beneficio |
cardType | Alfanumérico | Tipo de tarjeta a la cual se puede hacer el canje de puntos de tarjeta (cardPoints) |
cardPoints | Numérico | Puntos de tarjetas requeridos a canjear para aplicar el beneficio |
benefitType | Alfanumérico | Tipo de calculo a aplicar (fixedDiscount / percentageDiscount / newPrice) |
unit | Alfanumérico | Unidad de Medida a aplicar en el calculo (qty / magnitude) |
value | Numérico | Valor aplicar en el calculo según el benefitType (fixedDiscount:DescuentoFijo, percentageDiscount:porcentaje, newPrice: nuevoPrecio) a su vez a este valor se le restara el valuePoints del item-apply |
Ejemplo:
Bloco de código | ||||||
---|---|---|---|---|---|---|
| ||||||
<redeemOptions> <option benefitType="percentageDiscount" cardPoints="200.0" cardType="089" id="5e567f0506773d1c14528761_0" requiredPoints="100.0" unit="qty" value="10.0"/> <option benefitType="percentageDiscount" cardPoints="1000.0" cardType="089" id="5e567f0506773d1c14528761_2" requiredPoints="0.0" unit="qty" value="20.0"/> <option benefitType="percentageDiscount" cardPoints="0.0" cardType="-" id="5e567f0506773d1c14528761_3" requiredPoints="500.0" unit="qty" value="20.0"/> </redeemOptions> |
...
Bloco de código | ||||||
---|---|---|---|---|---|---|
| ||||||
<message companyId="sts" store="00001" terminal="010" date-time="2017-06-04 12:30:00" messageId="0010" void-trx="false" response="true" init-tck="true" evaluate="true" " status="returnFinish" originalTransaction="001_025_20161212134555" map-version="15" suggest="true" suggest-seq="3"> <item-add seq="2" qty="1" code="1" magnitude="0" xprice="100" unitprice="100"/> <payment-add seq="1" type="CreditCard" amount="100" id="000009" planId="10"/> <loyaltycard-add seq="5" id="3330000000133" /> <coupon-add seq="1" qty="1" id="xxxxxxxxxx" type="yyy" /> <customer-add seq="1" id="1"/> </message> |
Informações | ||
---|---|---|
| ||
El atributo void-trx es solo informativo para dejar registro, pero no realiza ningún cambio en la operatoria. |
CatalogRedeemValidation
Basado en los items que se informen en el request y teniendo en cuanta la tienda desde la cual se realiza la transacción, informará los productos existentes en la tabla de Canje de Puntos por Catálogo (explicado en este documento mas adelante).
...
Se agregan al mensaje de respuesta aquellos cupones que han sido otorgados como resultado de los beneficios de una promoción. Vale aclarar que se trata del detalle de los cupones otorgados, es decir, si como resultado de evaluar una promoción han sido otorgados X cantidad de cupones de algún tipo, entonces la respuesta de fidelidad contendrá el detalle de esos X cupones otorgados. En <!\[CDATA\[.....\]\]> estará la información que viene en el cuerpo del cupón y surge en base a la plantilla del cupón. Es necesario enviarlo al POS para que reciba el contenido del cupón.
Bloco de código | ||||||
---|---|---|---|---|---|---|
| ||||||
<message companyId="sts" ack="0" engine="2.6" mapversion="1" messageId="1" store="1" terminal="1" transaction="1_1_20170515152511"> <loyalty> <loyaltycards/> <coupons> <coupon ack="0" barcode="1000010019411" benefitNro="58d2a8f8ef5a63133c3ca31d" couponId="TC_IM" format="PRINTED"" encoding="EAN13" promotionName="Emisión C-impreso" promotionNro="58d2acdaef5a63133c3ca346">*<!\[CDATA\[.....\]\]>* </coupon> </coupons> <errors/> <customers/> </loyalty> </message> |
...
Las Opciones disponibles tienen los siguientes atributos
atributo | tipo | Descripción |
---|---|---|
id | Alfanumérico | Identificador de la opción** |
requiredPoints | Numérico | Puntos requeridos a canjear para aplicar el beneficio |
cardType | Alfanumérico | Tipo de tarjeta a la cual se puede hacer el canje de puntos de tarjeta (cardPoints) |
cardPoints | Numérico | Puntos de tarjetas requeridos a canjear para aplicar el beneficio |
benefitType | Alfanumérico | Tipo de calculo a aplicar (fixedDiscount / percentageDiscount / newPrice) |
unit | Alfanumérico | Unidad de Medida a aplicar en el calculo (qty / magnitude) |
value | Numérico | Valor aplicar en el calculo según el benefitType (fixedDiscount:DescuentoFijo, percentageDiscount:porcentaje, newPrice: nuevoPrecio) a su vez a este valor se le restara el valuePoints del item-apply |
Aviso | ||
---|---|---|
| ||
**El Identificador id del elemento option se genera desde el motor con el id del beneficio concatenado con "_" mas un indice (por ejemplo "5db9b4afa171f2314ce5704e_1", en donde el código 5db9b4afa171f2314ce5704e es el identificador de beneficio y el 1 representa a la segunda opción del mismo comienza desde 0), se definió así para evitar, que el ítem del mensaje se aplique a dos opciones simultáneamente. Ya que en la generación del código fuente del beneficio en el motor, no hay un identificador por promoción que permita la unicidad de promocion_beneficio_opcion |
...
Las Opciones disponibles tienen los siguientes atributos
atributo | tipo | Descripción |
---|---|---|
redeemOption | Alfanumérico | Identificador la opción seleccionada (Cuando no se quiera seleccionar ninguna opción el valor debe ser "0" )| |
usedPoints | Numérico | Puntos canjeados para aplicar el beneficio(xprice*requiredPoints) |
cardType | Alfanumérico | Tipo de tarjeta la cual se canjearon puntos |
cardUsedPoints | Numérico | Puntos de tarjeta canjeados |
benefitTypeOption | Alfanumérico | Tipo de calculo a aplicar (fixedDiscount / percentageDiscount / newPrice) |
benefitUnitOption | Alfanumérico | Unidad de Medida a aplicar en el calculo (qty / magnitude) |
valuePoints | Numérico | Equivalente en pesos de los puntos canjeados ( usedPoints * redeemPointsPriceFactor) |
priceInPoints | Numérico | Valor del ítem en puntos (xprice/redeemPointsPriceFactor) |
nominalDiscount | Numérico | Es el Descuento Nominal (value +valuePoints) |
percentageDiscount | Numérico | Valor a aplicar en el descuento cuando el benefitTypeOption = percentageDiscount) |
fixedDiscount | Numérico | Valor a aplicar en el descuento cuando el benefitTypeOption =fixedDiscount |
newPrice | Numérico | Valor a aplicar en el descuento cuando el benefitTypeOption =newPrice |
Aviso | ||
---|---|---|
| ||
El calculo del value dependerá del benefitTypeOption(percentageDiscount/fixedDiscount/newPrice) Y a dicho calculo se le restara valuePoints |
...