Versões comparadas

Chave

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

...

Propiedad

Tipo de dato

Descripción

Requerido

Valor ante ausencia

companyId

Alfanumérico

Identifica la compañía que envía el mensaje

SI


store

Alfanumérico

Identifica el local que envía el mensaje.


channelAlfanuméricoIdentifica el canal donde asociado a la transacción.No""

terminal

Numérico

Identifica la terminal emisora


date-time

YYYY-MM-DD HH:MM:SS

Fecha y hora del mensaje. (date-time="2017-03-21 15:20:26")


messageId

Numérico positivo

Identifica cada uno de los mensajes enviados por la terminal, siendo este número utilizado por el Motor de Promociones como identificador cuando envíe una respuesta.


void-trx

Booleano

Indica si la transacción es una devolución.

No

"false"

response

Booleano

Indica si se desea que el Motor dé una respuesta ante el mensaje enviado. (deprecado a partir de 6.5)

No

"false"

init-tck

Booleano

Indica si con este mensaje se debe iniciar una nueva sesión.

No

"false"

evaluate

Booleano

Le indica al motor que calcule las promociones utilizando los elementos ingresado hasta ese momento.

No

"false"

status

Alfanumérico

Indica en que estado se encuentra el punto de venta

  • sales
  • total
  • payment
    Existen valores específicos de esta propiedad que serán presentados en la sección de Fidelidad

No

""

msg-version

Alfanumérico

Indica la versión del mensaje en cuestión

No

""

map-version

Entero positivo

Indica al motor que mapa utilizar. Tendrá sentido sólo si el valor de "void-trx" es verdadero.

No

""

suggest

Booleano

Le indica al motor si debe sugerir promociones o no. Si suggest-seq y suggest-seq-type no están presentes se tomará todo el contexto para realizar la sugerencia.

No

"false"

suggest-seq

Numérico

Indica el número de secuencia sobre el que el motor realizará la sugerencia en caso de que el atributo suggest="true". Este atributo será acompañado por el suggest-seq-type, que de no ser especificado, se asumirá suggest-seq-type="item"

No

"1" o null

suggest-seq-type

Alfabético

Indica el tipo de línea sobre la que deberá hacerse la sugerencia en caso de que el atributo suggest="true". Este atributo será acompañado por el suggest-seq, que de no estar especificado, se asumirá sugget-seq="1". Los valores que puede tomar este atributo son: item, coupon, payment, event, customer.

No

"item" o null

suggest-per-type

Booleano

Le indica al motor si deben sugerir promociones teniendo en cuenta el tipo de los conjuntos participantes de la promoción o no. Si suggest-filter-type no está presente se sugerirán todas las promociones que estén disponibles para sugerencia teniendo en cuenta el atributo suggest del mapa y las promociones. Si está presente y en verdadero, los atributos suggest, suggest-seq y suggest-seq-type serán ignorados.

No

"false"

suggest-filter-type

Alfabético

Indica el tipo de conjunto participante de la promoción que deberá tenerse en cuenta para la sugerencia en caso de que el atributo suggest-per-type="true". Los valores que puede tomar este atributo son: item, coupon, payment, event, customer. Si no estuviera presente, se asume todos los tipos de conjuntos.

No

"null"

suggest-extended

Booleano

Le indica al motor si debe mostrar la información de los beneficios de cada promoción sugerida. Si suggest es false, el valor de este campo no tiene relevancia.

No

"false"

offline

Booleano

Le indica al motor que la transacción será tratada en modo offline, es decir ante una contingencia de comunicación con PROMO Central se almacenará para su posterior envío (ver nota debajo "Comportamiento de Promo en modo offline").

No

"false"

originalTransaction

Alfabético

Para el caso de un valor de status = requestTransaction, esta propiedad indicará la transacción que se requiere consultar

No

""

chosenOptionEntero positivoEn el caso de que el resultado de la evaluación haya resultado en una serie de opciones (varios bloques "optional") este atributo permite que el sistema externo informe al motor de Promo, cual de esas opciones fue la que finalmente se han aplicado u otorgado al cliente.  El valor es basado en 0, es decir la primer opción es la número 0, la siguiente la número 1 y así sucesivamente.No0
storeChainAlfabéticoIdentificador de la "Cadena" a la que pertenece la tienda (Store) de la transacción.  Puede ser utilizada en la condición de una promoción.No""
formatAlfabéticoIdentificador del Formato al cual pertenece la tienda (Store) de la transacción.  Puede ser utilizada en la condición de una promoción.No""
zoneAlfabéticoIdentificador de la Zona a la cual pertenece la tienda (Store) de la transacción.  Puede ser utilizada en la condición de una promoción.No""
subZoneAlfabéticoIdentificador de la SubZona a la cual pertenece la tienda (Store) de la transacción.  Puede ser utilizada en la condición de una promoción.No""
tenderGroupCodeAlfabéticoCuando se utilice preciadores, si se envía el valor "cr" retornara el precio a crédito, en caso de otro valor o de no enviarlo retornara el precio de venta.No""
currencyCodeAlfabéticoCódigo de la moneda en la cual se está realizando la transacción. Puede ser utilizada en la condición de una promoción, por ejemplo para condicionar la entrega de puntos a esa moneda.No""
limitBalancesBooleanoCuando se envíe en 'true' se devolverá en la respuesta del motor al POS los saldos de limites de Tienda y General (retail) que tengan definido las promociones que hayan participado de la transacción en curso. Valor por defecto "false" (A partir de Promo 7.0.2)No"false"
extendedResponseBooleanoPermite consultar al motor de Promo las respuestas extendidas para un cliente determinado.

extendedResponseFilterAlfabético(A partir de Promo 7.4) funciona en conjunto con el atributo extendedResponse. Con estos atributos se podrá consultar al motor de Promo las respuestas extendidas para un cliente determinado.

...

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


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

...

En el tab goalsPrograms se podrá ver la siguiente información sobre Programas de Objetivos:

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

...