PROMO 7.
...
8 - Manual de Integración - Motor
Painel | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
|
...
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. | Sí | |
channel | Alfanumérico | Identifica el canal donde asociado a la transacción. | No | "" |
terminal | Numérico | Identifica la terminal emisora | Sí | |
date-time | YYYY-MM-DD HH:MM:SS | Fecha y hora del mensaje. (date-time="2017-03-21 15:20:26") | Sí | |
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. | Sí | |
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
| 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 | "" |
chosenOption | Entero positivo | En 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. | No | 0 |
storeChain | Alfabético | Identificador 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 | "" |
format | Alfabético | Identificador del Formato al cual pertenece la tienda (Store) de la transacción. Puede ser utilizada en la condición de una promoción. | No | "" |
zone | Alfabético | Identificador 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 | "" |
subZone | Alfabético | Identificador 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 | "" |
tenderGroupCode | Alfabético | Cuando 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 | "" |
currencyCode | Alfabético | Có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 | "" |
limitBalances | Booleano | Cuando 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" |
extendedResponse | Booleano | Permite consultar al motor de Promo las respuestas extendidas para un cliente determinado. | ||
extendedResponseFilter | Alfabé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. |
...
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 | "-" | |
Productcode | Alfanumérico | Código del Producto. Soporta múltiples valores. | No | ||
Barcode | Alfanumé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 | "-" | |
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 | (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. | No | 0 | |
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. | No | 0 | |
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. | No | 0 | |
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. | No | 0 | |
redeemOption | Alfanumé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 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 (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) | No | "ENABLED" | |
nextExpDate | Numérico | Fecha 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érico | Cantidad 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 Promo | No | "-" | |
cvv | Alfanumérico | Corresponde al código de seguridad o cvv asociado al elemento de fidelidad. | 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 | 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 | |
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 | "" | |
segment | Alfanumérico | Lista 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 | "" | |
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 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 | 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 í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 | |
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 Bolsillo 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. | SiNo | |
type | Alfanumérico | Tipo de beneficio externo. | SiNo | ||
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 í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 |
...
Informações | ||
---|---|---|
| ||
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 | |||||
---|---|---|---|---|---|
| |||||
En el bloque de cupones dentro de loyaltyValidationEx, se han agregado nuevos atributos que detallan la información del cupón: Ejemplo de respuesta de un cupón: <coupon ack="0" amount="0.00" barcode="101pse0018666" couponId="cupi" name="El Cupi" validFrom="20230908" validTo="20331008"/> Respuesta del mensaje A partir de la versión 7.8 de Promo, se implementó una nueva funcionalidad en el mensaje El sistema mostrará dentro del campo 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"
|
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:
Propiedad | Descripció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" | |||||||
code | Es 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-seq | Es la secuencia con que fue ingresado el customer | |||||||
descriptor | Es el "Mensaje de la sugerencia" | |||||||
id | Es 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) Cantidad de usos de la promoción. Este campo solo se enviará si en la promoción se (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.
| limitCurrentValue |
| |||||
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.
| |||||||
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-seq | No 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-seq | No 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-seq | No 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-seq | No 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-seq | No 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:
Propiedad | Descripción |
---|---|
segment | segmento 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 |
lastPurchase | es la fecha de la última compra |
lastIncrement | es la fecha del último incremento del Progrma de Objetivos |
id | es el código del Programa de Objetivos |
value | es el saldo actual acumulado en el Programa de Objetivos |
...
Aviso | ||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||
|
Dica | |||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||||||||||||||||
Desde la versión Promo 7.4.3, se incorporó soporte para la creación automática de clientes durante el proceso de validación de fidelidad (
Configuraciones necesariasPara habilitar esta funcionalidad, deben configurarse los siguientes parámetros: 1. En
Lógica de creación del cliente y tarjeta
Ejemplo de mensaje XML con creación automática
Ejemplo de respuesta XML (cliente + tarjeta generada)
|
Expandir | ||
---|---|---|
| ||
Veamos ahora un ejemplo de intercambio de estos mensajes: Realizamos una petición con loyaltyValidation y el cliente no existe: <message companyId="napse" store="1" terminal="10" date-time="2018-08-09 10:51:50" init-tck="true" messageId="1" void-trx="false" response="true" status="loyaltyValidation" evaluate="true" offline="false" >
<message ack="0" companyId="napse" engine="6.4.6" mapversion="1" messageId="1" store="1" terminal="10" transaction="napse_1_10_20180809105150">
En este caso enviamos datos del cliente pero no completamos todos los campos necesarios: <message companyId="napse" store="1" terminal="10" date-time="2018-08-09 10:51:50" init-tck="true" messageId="1" void-trx="false" response="true" status="loyaltyValidation" evaluate="true" offline="false" >
<message ack="0" companyId="napse" engine="6.4.6" mapversion="1" messageId="1" store="1" terminal="10" transaction="napse_1_10_20180809105150"> { Ahora enviamos TODOS los datos obligatorios para que el cliente sea creado <message companyId="napse" store="1" terminal="10" date-time="2018-08-09 10:51:50" init-tck="true" messageId="1" void-trx="false" response="true" status="loyaltyValidation" evaluate="true" offline="false" >
La respuesta es: <?xml version="1.0" encoding="UTF-8"?>
Ahora vamos a enviar el mensaje que enviamos en el punto 1, el cual tiene solo los datos básicos del cliente y por el cual en el punto 1 nos retornaba valores por defecto (el cliente no era conocido) mientras que ahora nos tendría que retornar todos los datos que ya conocemos y creamos en el punto 3. <message companyId="napse" store="1" terminal="10" date-time="2018-08-09 10:51:50" init-tck="true" messageId="1" void-trx="false" response="true" status="loyaltyValidation" evaluate="true" offline="false" > {
<?xml version="1.0" encoding="UTF-8"?> { |
...