Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

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

"-"


discontinuousbooleanoDetermina si el producto es un producto discontinuoNofalse

lowTurnoverbooleanoDetermina si el producto es un producto de baja rotaciónNofalse

keyProductbooleanoDetermina si el producto es un producto estrellaNofalse

applyCatalogRedeembooleanoDetermina si el producto participa en el Canje de Puntos por CatálogoNofalse

taxesNumérico positivoValor de los impuestos discriminados respecto al precio unitario. (Ver atributo valueWithTaxes)No0

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.No0

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.No0

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.No0

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.No0

redeemOptionAlfanumé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 opcionesNo

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)

ENABLED para habilitar una tarjeta fidelidad (solo valido en status FINISH)

No

"ENABLED"


nextExpDate

NuméricoFecha de la proxima expiracion de puntos en format YYYYmmdd.  Solo es informado en tarjetas que posean vencimiento de carga definido.No"-"

nextExpValue

NuméricoCantidad 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 PromoNo"-"

cvv

Alfanumérico

Corresponde al codigo de seguridad o cvv asociado a la tarjeta.No"-"

validFromAlfanuméricoFecha de inicio de vigencia . Formato "YYYY-MM-DD" (Año-Mes-Dia) .Ejemplo"2021-07-16"No"-"

validToAlfanuméricoFecha 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

 

email

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

""

segmentAlfanuméricoLista de Códigos de Segmento a los cuales pertenece el cliente, separados por ;No""

amountNumérico positivoPropiedad que se puede utilizar para indicar el saldo correspondiente a un clienteNo0

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
configure en el motor para manejar los pagos parciales.

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)*
se obtiene que el monto de los ítems que se desea pagar (PIA) se calcula como PIA = PA / (1 - %desc) o PIA = PA / (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


pointsTypeAlfanuméricoIdentifica el tipo de pago con puntos (ver manual de usuario Final Promo 7 - "Ignorar pago con Puntos" - Ver también beneficio PromotionPaidInPoints)No""

installmentsNumérico positivo

Indica la cantidad de cuotas asociadas al pago

No""

prefixAlfanuméricoIndica el Prefijo asociado al pagoNo""

pocketAlfanuméricoIndica el Bolsllo asociado al pago No""

prefixGroupAlfanuméricoIndica el grupo de Prefijos asociado al pagoNo""

payCreditCampaignAlfanuméricoIndica la Campaña Crediticia asociada al pagoNo""

Event

type

Alfanumérico

Tipo de evento.

No

"-"

 

id

Alfanumérico

Identificador del evento.

No

"-"

 

value

Alfanumérico

Valor que representa el evento.

No

"-"

BenefitidAlfanumérico

Identificador del beneficio externo.

Si

typeAlfanumérico

Tipo de beneficio externo.

Si

amountNumérico positivo

Se utiliza para indicar el monto a descontar o el porcentaje de descuento (de acuerdo al benefitType).

Si

benefitTypeAlfanumérico

Indica el tipo de beneficio a generar.

  • desc: aplica el descuento sobre los ítem. Valor por defecto.
  • porc: porcentaje de descuento
No"desc"

seqItemAlfanumé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

idAlfanuméricoIdentificador de la opción**
requiredPointsNuméricoPuntos requeridos a canjear para aplicar el beneficio
cardTypeAlfanuméricoTipo de tarjeta a la cual se puede hacer el canje de puntos de tarjeta (cardPoints)
cardPointsNuméricoPuntos de tarjetas requeridos a canjear para aplicar el beneficio
benefitTypeAlfanuméricoTipo de calculo a aplicar (fixedDiscount percentageDiscount newPrice)
unitAlfanuméricoUnidad de Medida a aplicar en el calculo (qty / magnitude)
valueNumé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
languagebash
themeEmacs
titleRedeemOptions
<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
languagexml
themeEmacs
titleRequest
<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
titleNota

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
languagexml
themeEmacs
titleRequest
<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

atributotipoDescripción
idAlfanuméricoIdentificador de la opción**
requiredPointsNuméricoPuntos requeridos a canjear para aplicar el beneficio
cardTypeAlfanuméricoTipo de tarjeta a la cual se puede hacer el canje de puntos de tarjeta (cardPoints)
cardPointsNuméricoPuntos de tarjetas requeridos a canjear para aplicar el beneficio
benefitTypeAlfanuméricoTipo de calculo a aplicar (fixedDiscount / percentageDiscount / newPrice)
unitAlfanuméricoUnidad de Medida a aplicar en el calculo (qty / magnitude)
valueNumé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
titleId del elemento Option
**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


atributotipoDescripción
redeemOption
AlfanuméricoIdentificador la opción seleccionada (Cuando no se quiera seleccionar ninguna opción el valor debe ser "0" )|
usedPoints
NuméricoPuntos canjeados para aplicar el beneficio(xprice*requiredPoints)
cardTypeAlfanuméricoTipo de tarjeta la cual se canjearon puntos
cardUsedPointsNuméricoPuntos de tarjeta canjeados
benefitTypeOption
AlfanuméricoTipo de calculo a aplicar (fixedDiscount / percentageDiscount / newPrice)
benefitUnitOption
AlfanuméricoUnidad de Medida a aplicar en el calculo (qty / magnitude)
valuePoints
NuméricoEquivalente en pesos de los puntos canjeados ( usedPoints * redeemPointsPriceFactor)
priceInPoints
NuméricoValor del ítem en puntos (xprice/redeemPointsPriceFactor)
nominalDiscount
NuméricoEs el Descuento Nominal (value +valuePoints)
percentageDiscountNuméricoValor a aplicar en el descuento cuando el benefitTypeOption = percentageDiscount)
fixedDiscountNuméricoValor a aplicar en el descuento cuando el benefitTypeOption =fixedDiscount
newPriceNuméricoValor a aplicar en el descuento cuando el benefitTypeOption =newPrice


Aviso
titleCalculo del Value

El calculo del value dependerá del benefitTypeOption(percentageDiscount/fixedDiscount/newPrice) Y a dicho calculo se le restara valuePoints

...