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

1


magnitude

Numérico positivo

Si el artículo es mensurable por otra unidad que no sea la cantidad, deberá ser expresada en esta propiedad.

No

0


code

Alfanumérico

Código propio del artículo.

No

"-"


loyaltyProgram

Alfanumérico

Identificador del Codigo del programa de Apego al que aplica el Item

(Disponible a partir de la version 7.9.1 del Motor de Promo)

No

"-"


ProductcodeAlfanumérico

Código del Producto.

Soporta múltiples valores.

No

BarcodeAlfanumérico

Código de Barras del Producto.

Soporta múltiples valores.

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.

Soporta múltiples valores.

No

"-"


level2

Alfanumérico

Nivel 2 de categorización del artículo. Anteriormente este nivel se conocía como la Familia del artículo.

Soporta múltiples valores.

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.

Soporta múltiples valores.

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.

Soporta múltiples valores.

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

(Versión > 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

(Versión > 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

(Versión > 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

(Versión > 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(Versión > 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 elemento 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 (Aclaración: el tipo de cupón externo son cupones no administrados por PROMO. Este tipo de cupón es emitido y/o redimido por un sistema externo a PROMO).

No

"-"


qty

Entero positivo

Cantidad

No

1


id

Alfanumérico

Identificador del cupón.

No

"-"

LoyaltyCard

type

Alfanumérico

Tipo de elemento de fidelidad loyalty

No

"-"


id

Alfanumérico

Identificador del elemento de fidelidad loyalty

Si

"-"


amount

Numérico positivo

Saldo del elemento de fidelidad loyalty

No

0


chargeAmount

Numérico positivo

Saldo a acreditar a un elemento de fidelidad loyalty

No

0


consumeAmount

Numérico positivo

Saldo a debitar a un elemento de fidelidad loyalty

No

0


status

Alfanumérico

ENABLED o DISABLED para habilitar o deshabilitar un elemento de fidelidad  (solo valido en status LoyatyActivation)

ENABLED para habilitar un elemento de fidelidad (solo valido en status FINISH)

No

"ENABLED"


nextExpDate

NuméricoFecha de la próxima expiración de puntos en format YYYYmmdd.  Solo es informado en elementos de fidelidad que posean vencimiento de carga definido.No"-"

nextExpValue

NuméricoCantidad de puntos que vencerán en el próximo vencimiento (nextExpDate) y se informa solo si el elemento de fidelidad 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 código de seguridad o cvv asociado al elemento de fidelidad.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

Identifica 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 reinyectados 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 ;. Se listarán los segmentos que tenga el cliente (internos o externos). Si posee segmentos internos y externos, solo taerá los externos porque los toma como prioritarios.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 principalmente 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 ítems que se desea pagar.

No

0


balance

Booleano

Indica si con este medio de pago se cancela el saldo de la transacción. Sí 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 Bolsillo 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.

No

typeAlfanumérico

Tipo de beneficio externo.

No

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 ítems a los cuales hay que aplicar el descuento. Si no viene el atributo o viene vacío se asume que es para todo el ticket. En caso de tener varios secuencias, las mismas deben venir separados por coma. Si algún 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

...

  1. Monetarios:
    1. FixedDiscount
      • Es un descuento fijo que se realiza sobre un conjunto de artículos.
    2. PercentageDiscount
      • Representa un porcentaje de descuento sobre un conjunto de artículos.
    3. NewPrice
      • Asigna un nuevo precio a uno o varios artículos.
    4. TenderDiscountBenefit
      • Representa un % de descuento o recargo sobre un conjunto de artículos. La información para calcular este porcentaje se obtiene de los planes de pago (PaymentPlanBenefit) aplicados.
    5. RedeemPointsBenefit
      • Realiza la conversión de saldo a dinero e informa un monto de descuento a aplicar en base al valor informado.
    6. CalculatedCouponApplicationBenefit
      • Aplica como descuento el monto informado por un cupón calculado
    7. ContractPercentageDiscountBenefit
      • Descuento Porcentual que se aplica a un determinado Convenio y limitado por un saldo asociado al mismo
    8. CatalogRedeemBenefit
      • Realiza una conversión de puntos y otorga un monto de descuento basado en datos tabulares definidos para los productos
    9. RedeemWithOptionsBenefit
      • (A partir de Promo 7.0-EP2) Realiza la redención de una determinada cantidad de puntos (Cliente/Elementos de fidelidad) para habilitar un descuento monetario. Para mas información sobre el beneficio ver Anexo I en este documento
    10. ExternalBenefit
      • Representa un beneficio externo

    11. LoyaltyProgramBenefit
      1. (Disponible a partir de la version 7.9.1 de Promo). Representa la aplicacion del beneficio de Programa de Apego. 


  1. No monetarios
    1. PaymentPlanBenefit
      • Otorga un plan de pagos específico para una serie de artículos o para la compra.
    2. CouponBenefit
      • Otorga una cierta cantidad de cupones específicos al cliente.
    3. GiftBenefit
      • Entrega al cliente uno o más regalos específicos.
    4. GeneralBenefit
      • Entrega al cliente uno o más beneficios generales.
    5. LoyaltyBenefit
      • Beneficia al cliente con una cierta cantidad de saldo de fidelidad (millas, puntos de monedero, dinero, etc.). A partir de la versión 2.8.0, este beneficio calcula la cantidad de saldo por cada elemento de aplicación y la cantidad de saldo en total que otorga.
    6. FactorLoyaltyBenefit
      • Representa el otorgamiento de puntos, dinero, millas, etc. de fidelidad en relación a un factor dado.
    7. PercentLoyaltyBenefit
      • Representa el otorgamiento de puntos, dinero, millas, etc. de fidelidad en relación a un porcentaje dado. Este beneficio calcula la cantidad de puntos, dinero, millas, etc. por cada elemento de aplicación y la cantidad de puntos, dinero, millas, etc. en total que otorga.
    8. CalculatedCouponBenefit
      • Representa el otorgamiento de un cupón cuyo monto de descuento a otorgar está definido por un porcentaje de los participantes.
    9. BankRefundBenefit

      • Otorga un descuento por un reintegro bancario para una serie de artículos o para la compra.

...

ContractPercentageDiscount




unit

Alfanumérico

No

Indicará si debe aplicarse el porcentaje de descuento a cada unidad o al total. Los valores que puede tener son los indicados anteriormente.

discountPercentage

Real positivo

Si

Porcentaje de descuento que se realizará sobre los elementos participantes. El valor a descontar a cada artículo variará dependiendo de la unidad de aplicación.

name

Alfanumérico

No

Nombre de la promoción que ha originado el beneficio.

prorationMethod

Alfanumérico

Si

Método que se utilizará para prorratear el beneficio entre los elementos aplicados. Los valores que a tomar son los mismos indicados anteriormente.


LoyaltyProgramBenefit (disponible a partir de Promo V-7.9.1)








loyaltyProgram

Alfanumérico

Si

Codigo del Programa de Apego

magnitude

Real positivo

Si

Se aplica el descuento a cada unidad de cantidad)

qty

Numerico

Si

Se aplica el descuento a cada unidad de cantidad

qtyBenefied

Numerico

Si

Cantidad de Items beneficiados

qtyCut

Numerico

Si

Valor de corte del PA.

value

Numerico

Si

Valor del descuentos

valueWithTaxes

Numerico

Si

Valor del descuento con impuestos


Ejemplos:

Bloco de código
languagexml
themeEmacs
titleFixedDiscount XML
<message companyId="sts" store="MX" mapversion="3241" messageId="160" terminal="100" engine="2.6" ack="0">
<optional>
<promo id="Promoción navideña" nro="1">
<conditionParticipants>
<item code="0056" brand="PANASONIC" xprice="99.0" magnitude="0.0" family="TV" type="qty" dept="ELECTRONIC" qty="1.0" seq="2"/>
<customer seq="2" id="000004" type="preferred" />
<coupon seq="1" id="0001" amount="" qty="1.0" type="A" />
</conditionParticipants>
<benefit order="1" benefitType="FixedAmount" displayMessage="" printerMessage="" unit="qty" prorationMethod="PROPORTIONAL" applicationMethod="lineByLine" nro="3" amount="20.00" baseAmount="165.00">

… participantes de combo y/o elementos aplicados …

</benefit>
</promo>
</optional>
</message>

...

Informações
titleEjemplo JSON

{
  "message": {
    "companyId": "sts",
    "store": "MX",
    "mapversion": "3241",
    "messageId": "160",
    "terminal": "100",
    "engine": "2.6",
    "ack": "0",
    "optional": [{
       … promociones que componen la opción … ,
       … promociones que componen la opción …
    ],
    "suggestions": {… promociones que pueden ser sugeridas …}
  }
}

...



Programa de Apego

(Disponible a partir de Promo V-7.9.1)

Cuando durante la transaccion el cliente aplique y acumule (con los elementos de su transaccion) a algun programa de apego vigente se sumara a la respuesta del motor el bloque <loyaltyPrograms> </loyaltyPrograms>

Aqui se informara en tiempo real la acumulacion para un determinado programa de apego del cliente durantee la transaccion.

PropiedadTipo de datoDescripción
id
code

Alfanumérico

Nombre de la promoción.

descriptor

Alfanumérico

Descripción de sugerencia de la promoción. Puede no estar en la etiqueta si no fue especificado para la promoción que se sugiere.

item-seq

Lista de números

Las secuencias de tipo ítem que hacen posible que la promoción sea sugerida. Si no hubiera secuencias de este tipo para la promoción, entonces este atributo no se incluye en la etiqueta.

payment-seq

Lista de números

Las secuencias de
stringCódigo SKU identificador del producto/s que aplican al Programa de Apego  (ej: "333").
counterdecimalCantidad actual acumulada para el cliente en ese SKU (ej: 1.000).
namestringNombre descriptivo del Programa de Apego (ej: "Acumula - 4x3").
programIdstringCódigo Identificador del programa de apego asociado (ej: "pa003").
qtyBenefieddecimalCantidad de productos bonificados al cumplir el objetivo (ej: 1.000).
qtyCutdecimalCantidad objetivo a acumular para obtener el beneficio (ej: 4.000).


Bloco de código
languagexml
themeEmacs
titleEjemplo
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<message ack="0" companyId="napse" engine="7.9.1" mapversion="624" messageId="1" store="1" terminal="1">
   <optional>
       … promociones que componen la opción …
   </optional>
   <suggestions>
       … promociones que pueden ser sugeridas …
   </suggestions>
   <loyaltyPrograms>
     <itemCounter code="333" counter="1.000" name="Acumula - 4x3" programId="pa003" qtyBenefied="1.000" qtyCut="4.000"/>
   </loyaltyPrograms>
</message> 



Promociones sugeridas

Como se mencionó anteriormente, cada una de las sugerencias contendrá una o más promociones. Estas estarán identificadas por su nombre. Las promociones estarán representadas con la etiqueta <promo>, teniendo el atributo id representando su nombre.

Propiedad

Tipo de dato

Descripción

id

Alfanumérico

Nombre de la promoción.

descriptor

Alfanumérico

Descripción de sugerencia de la promoción. Puede no estar en la etiqueta si no fue especificado para la promoción que se sugiere.

item-seq

Lista de números

Las secuencias de tipo ítem que hacen posible que la promoción sea sugerida. Si no hubiera secuencias de este tipo para la promoción, entonces este atributo no se incluye en la etiqueta.

payment-seq

Lista de números

Las secuencias de tipo medio de pago que hacen posible que la promoción sea sugerida. Si no hubiera secuencias de este tipo para la promoción, entonces este atributo no se incluye en la etiqueta.

customer-seq

Lista de números

Las secuencias de tipo cliente que hacen posible que la promoción sea sugerida. Si no hubiera secuencias de este tipo para la promoción, entonces este atributo no se incluye en la etiqueta.

event-seq

Lista de números

Las secuencias de tipo evento que hacen posible que la promoción sea sugerida. Si no hubiera secuencias de este tipo para la promoción, entonces este atributo no se incluye en la etiqueta.

coupon-seq

Lista de números

Las secuencias de tipo cupón que hacen posible que la promoción sea sugerida. Si no hubiera secuencias de este tipo para la promoción, entonces este atributo no se incluye en la etiqueta.

loyaltycard-seq

Lista de Elementos de fidelidad de Fidelidad

Las secuencias de tipo elementos de fidelidad de fidelidad que hacen posible que la promoción sea sugerida. Si no hubiera secuencias de este tipo para la promoción, entonces este atributo no se incluye en la etiqueta.

...

Mensaje loyaltyValidationEx

...

Bloco de código
languagexml
themeEmacs
titlerequest
<message companyId="napse" store="Tienda1" terminal="1" date-time="2024-07-10 15:33:00" init-tck="true" messageId="100" void-trx="false" response="true" status="loyaltyValidationEx" evaluate="true" suggest="true" extendedResponse="true" map-version="22">

...


    <customer-add seq="1" id="15390395-6" />

...


</message>

...


Bloco de código
languagexml
themeEmacs
titleresponse
<?xml version="1.0" encoding="UTF-8"?><message ack="0" companyId="napse" engine="7.4.0#32" mapversion="22" messageId="100" store="Tienda1" terminal="1" transaction="napse_Tienda1_1_20240710153300">

...


  <loyalty>

...


    <loyaltycards/>

...


    <coupons/>

...


    <errors/>

...


    <customers>

...


      <customer age="0" birthday="false" code="15390395-6" email="

...

ldigiacomo@gmail.com" identifier="15390395-6" incompleteData="false" lastName="Di Giacomo" limitedBenefits="" name="LUCAS" phone="1999999999" segment="a_municipalidad_tigre" seq="1" type="EMPLEADO">

...


        <limit amount="50000.00" benefitId="668e9d00240ddb3db0849361" companyId="napse" currentValue="0.00" customerId="15390395-6" id="null" limitId="668ea76d240ddb3db08498f3" limitType="benefiedProductTotal" maxValue="50000.00" promotionDescription="" promotionId="668c3eac809ba0525478fd73" promotionName="Promo precio especial en surtidor 93 octanos" scope="CUSTOMER" storeId="-"/>

...


      </customer>

...


    </customers>

...


    <redeemTable/>

...


    <goalsPrograms/>

...


    <stores>

...


      <store address="-" chain="-" channel="-" code="Tienda1" format="-" name="Tienda1" subZone="-" zone="-"/>

...


    </stores>

...


  </loyalty>

...


  <suggestions>
    <promo benefitAttribute="" benefitMaxUnit="qty" benefitMaxValue="-1" benefitNumber="668c4765809ba0525478fd90" benefitType="PercentageDiscount" benefitValue="50.00" customer-cond="a_municipalidad_tigre" customer-seq="1" descriptor="Te damos 50% de descuento en combustible" id="Promo si llevas Diesel tenés descuento" itemCondAttribute="code:description" itemCondOperator="Into" itemCondValue="diesel:diesel" nro="667c0f0d64915c6b942d9628" priceChange="false" suggest="hyper"/>

...


    <promo benefitAttribute="qty" benefitMaxUnit="qty" benefitMaxValue="-1" benefitNumber="668e9d00240ddb3db0849361" benefitType="FixedDiscount" benefitValue="10000.00" customer-cond="a_municipalidad_tigre" customer-seq="1" descriptor="Llevá combustible 93 octanos y tendrás precio especial" id="Promo precio especial en surtidor 93 octanos" image="C:\Promo7.4\Promo\images\promotion/668c3eac809ba0525478fd73.jpg" itemCondAttribute="code:description" itemCondOperator="Into" itemCondValue="93:93OCTANOS" limitCurrentValue="0.00" limitMaxValue="50000.00" limitType="benefiedProductTotal" nro="668c3eac809ba0525478fd73" priceChange="true" suggest="hyper"/>

...


  </

...

suggestions>
</message>



Informações
titleImportante

Existen otros campos que no están en ese mensaje y podrían aparecer y eso dependerá de cómo esté armada la promoción. Por ejemplo:

  • item-seg
  • coupon-seq
  • payment-seq
  • event-seq
  • loyaltycard-seq

Otro campo nuevo (desde Promo 7.4) que no está en ese mensaje y podría aparecer es:

  • coupon-cond


También podrían aparece (desde Promo 7.8) los siguientes campos:

  • hyperDailyTrxMax: cantidad diaria máxima permitida configurada en PROMO, este valor se tomará de la configuración del parámetro, deberá mostrar los valores acá seteados.
  • hyperDailyTrxStatus: cantidad de transacciones asociadas a un Id cliente que hayan aplicado un beneficio hiperpersonalizado.
  • hyperDailyTrxMaxReached: TRUE/FALSE cuando los parámetros dailyLimitOfCustomerIdForAlert => numberOfTransactionPerCustomerID entonces se mostrará TRUE en caso contrario, se muestra FALSE.


Aviso
titleUPDATE V7.8

    En el bloque de cupones dentro de loyaltyValidationEx, se han agregado nuevos atributos que detallan la información del cupón:       

  • name: Nombre del cupón.
       
  • validFrom: Fecha de inicio de vigencia del cupón.
       
  • validTo: Fecha de expiración del cupón. (Cuando el cupón no tiene fecha de vencimiento (configurado en el sistema como "Sin vencimiento"), validTo mostrará una fecha que corresponde a 100 años en el futuro.)


Ejemplo de respuesta de un cupón:

<coupon ack="0" amount="0.00" barcode="101pse0018666" couponId="cupi" name="El Cupi" validFrom="20230908" validTo="20331008"/>
<coupon ack="0" amount="0.00" barcode="104T100040000000002147483647" couponId="cupinovence" name="el cupi que no vence" validFrom="20240605" validTo="21240512"/>




Respuesta del mensaje loyaltyValidationEx

A partir de la versión 7.8 de Promo, se implementó una nueva funcionalidad en el mensaje loyaltyValidationEx. Ahora, el sistema incluye en el campo itemCondValue los códigos y nombres de los productos disponibles, permitiendo una mejor identificación de los ítems sugeridos. Esta mejora está diseñada para facilitar la visualización y selección de productos por parte del usuario.

El sistema mostrará dentro del campo itemCondValue (en la etiqueta de sugerencias) el código y nombre del producto, siguiendo el formato establecido.


Ejemplo de salida:

itemCondValue="super95:Nafta Super 95,pr98:Nafta Premium 98,a1040:Aceite 10w40,a1540:Aceite 15w40"


Formato:

itemCondValue="Código1:Nombre1,Código2:Nombre2,Código3:Nombre3"


Nota
titlePrecondición

 El catálogo de ítems debe estar cargado previamente. En caso contrario, el sistema devolverá únicamente el formato código:código.




A partir de la versión de Promo 7.4, se devuelven mas campos por cada una de las promociones sugeridas. A continuación el detalle:

PropiedadDescripción
benefitAttribute(campo nuevo desde Promo 7.4) Muestra xprice porque está basado en Precio Total (Aplicación Máxima (medida))
benefitMaxUnit(campo nuevo desde Promo 7.4) define la unidad máxima aplicable para un beneficio de promoción, como cantidad (qty) o precio (xprice), determinando el límite sobre el cual se aplicará dicho beneficio.
benefitMaxValue(campo nuevo desde Promo 7.4) Aplicación Máxima (valor), es el máximo de xprice. Nota: por default este campo si no se lo utiliza viene en -1.
benefitNumber(campo nuevo desde Promo 7.4) Es el "id del beneficio" en la sección "Beneficios a Otorgar"
benefitType(campo nuevo desde Promo 7.4) Es la "Clase de beneficio" en la sección "Beneficios a Otorgar"
benefitValue(campo nuevo desde Promo 7.4) Es el valor del beneficio a otorgar de acuerdo al tipo de beneficio seleccionado en la sección "Beneficios a Otorgar"
codeEs el código de la promoción
customer-cond(campo nuevo desde Promo 7.4) Son los segmentos presentes en la condición de esta promoción, si es que se a condicionado por segmento.
customer-seqEs la secuencia con que fue ingresado el customer
descriptorEs el "Mensaje de la sugerencia"
idEs el nombre de la promoción
image
(campo nuevo desde Promo 7.4) 

Para las promociones que tengan sugerencia hyper e imagen cargada, en el mapa generado que contenga esa promoción en el tag 'promotion' aparecerá el atributo "image" el cual tiene la URL de la imagen.

La URL de imagen tiene como base, el valor configurado en "promocache.imagesURL", en Administración\Información de Configuración, y el servidor lo guarda en el path configurado en "promotion.images.path" .  

itemCondAttribute(campo nuevo desde Promo 7.4) El atributo de ítem de la condición que va a utilizarse en la evaluación (en este ejemplo es por código sku). Para que la hiperpersonalizada funcione tiene que estar armada la promoción por sku. Este campo corresponde a la condición de ítem para que se otorgue la promoción.
itemCondOperator(campo nuevo desde Promo 7.4) Es el operador que dispara la condición (que pueden ser into: IGUAL o distinct: DISTINTO). Este campo corresponde a la condición de ítem para que se otorgue la promoción.
itemCondValue

(campo nuevo desde Promo 7.4) El valor del atributo de ítem, ej en este caso: super95. Puede ser uno o varios separados por coma (El formato es: itemCondValue="Codigo1:Nombre1,Codigo2:Nombre2,Codigo3:Nombre3"). Este campo corresponde a la condición de ítem para que se otorgue la promoción.

Nota
titleRequisitos del Catálogo de Ítems

Para que el sistema PROMO pueda proporcionar el nombre completo de los productos en la mensajería, el catálogo de ítems debe estar previamente cargado en el sistema. Si el catálogo no está cargado, el sistema solo devolverá el código del producto. Esto es esencial para que las promociones personalizadas puedan mostrarse adecuadamente en el POS, ya que permite a los usuarios identificar fácilmente los productos elegibles en las promociones.

En caso de que el catálogo no esté cargado nextSegmento esta incompleto, la respuesta de la mensajería mostrará únicamente el código del producto en el campo itemCondValue, sin el nombre.


limitCurrentValue(campo nuevo desde Promo 7.4) Cantidad de usos de la promoción. Este campo solo se enviará si en la promoción se configuraron los límites de aplicación.
limitMaxValue(campo nuevo desde Promo 7.4) Valor del límite definido (Valor Máximo que el cliente puede cargar). Este campo solo se enviará si en la promoción se configuraron los límites de aplicación.
limitType

(campo nuevo desde Promo 7.4) Que tipo de límite es. Este campo solo se enviará si en la promoción se configuraron los límites de aplicación.

  • Se agregó un Límite por “Monto Total” viene como: limitType="benefiedProductTotal"
  • Se agregó la cantidad máxima de veces que se puede aplicar el beneficio dentro del límite de "Monto Total", se presentara como limitType="benefitApplicationCount" 
nro(campo nuevo desde Promo 7.4) Es el número (o id) de la promoción
priceChange(campo nuevo desde Promo 7.4) Es booleano. Aceptará "true" o "false" y se utilizará para indicar al POS si esa promoción es para realizar un cambio de precio. Vendrá por default en "false". Cuando en el beneficio de la promoción se haya activado el atributo "Cambio de precio" en la creación o edición de un beneficio de tipo "Monetario"
suggest(campo nuevo desde Promo 7.4) Este campo se utilizará para indicar si la promoción es "Hiperpersonalizada" traerá el valor "hyper", para el resto de las promociones traerá el valor "simple".
item-seqNo siempre se mostrará, dependerá de cómo esté armada la promoción. Muestra las secuencias de tipo ítem que hacen posible que la promoción sea sugerida. Si no hubiera secuencias de este tipo para la promoción, entonces este atributo no se incluye en la etiqueta
coupon-seqNo siempre se mostrará, dependerá de cómo esté armada la promoción. Muestra las secuencias de tipo cupón que hacen posible que la promoción sea sugerida. Si no hubiera secuencias de este tipo para la promoción, entonces este atributo no se incluye en la etiqueta.
payment-seqNo siempre se mostrará, dependerá de cómo esté armada la promoción. Muestra las secuencias de tipo medio de pago que hacen posible que la promoción sea sugerida. Si no hubiera secuencias de este tipo para la promoción, entonces este atributo no se incluye en la etiqueta.
event-seqNo siempre se mostrará, dependerá de cómo esté armada la promoción. Muestra las secuencias de tipo evento que hacen posible que la promoción sea sugerida. Si no hubiera secuencias de este tipo para la promoción, entonces este atributo no se incluye en la etiqueta
loyaltycard-seqNo siempre se mostrará, dependerá de cómo esté armada la promoción. Muestra las secuencias de tipo elementos de fidelidad de fidelidad que hacen posible que la promoción sea sugerida. Si no hubiera secuencias de este tipo para la promoción, entonces este atributo no se incluye en la etiqueta.
coupon-cond(campo nuevo desde Promo 7.4) No siempre se mostrará, dependerá de cómo esté armada la promoción. Se mostrará si hay una condición por cupón

Mensaje sale

Request

<message companyId="napse" store="Tienda1" terminal="1" date-time="2024-07-10 15:33:00" init-tck="false" messageId="100" void-trx="false" response="true" status="sale" evaluate="true" suggest="true" extendedResponse="true" map-version="22">

...

PropiedadDescripción
segmentsegmento actual
nextSegment(a partir de Promo 7.4) es el próximo segmento
nextSegmentRemaining(a partir de Promo 7.4) es lo que falta para pasar al próximo segmento
lastPurchasees la fecha de la última compra
lastIncrementes la fecha del último incremento del Progrma de Objetivos
ides el código del Programa de Objetivos
valuees el saldo actual acumulado en el Programa de Objetivos



Response - Programas de Apego

(A partir de Promo 7.9.1) el mensaje loyaltyValidation mostrará en su respuesta información sobre el Programa de Apego


Bloco de código
themeEmacs
    <loyaltyPrograms>
      <loyaltyProgram counterValue="0.00" customerId="47111542" lastPurchase="20250725" programId="pa003" sku="333"/>
    </loyaltyPrograms>


PropiedadDescripción
counterValueValor actual de acumulación en el PA
customerIdIdentificador del cliente consultado en el LV y que acumula en el PA.
lastPurchaseUltima Actualizacion del PA del cliente consultado.
programIdPrograma de apego en el que acumula el cliente consultado.
skuSKU que acumula el cliente en ese PA.


Âncora
_Consulta_de_Tarjeta
_Consulta_de_Tarjeta
Âncora
_Activación_de_tarjeta
_Activación_de_tarjeta
Âncora
_Toc513731685
_Toc513731685
Response - Activación del elemento de fidelidad (en LoyaltyActivation)

...