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 otro otra unidad que no sea la cantidad, deberá ser expresad expresada en esta propiedad.

No

0


code

Alfanumérico

Código propio del artículo.

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

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

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

Idenficiador 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 sólo los segmentos externos.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 Bolsllo asociado 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.

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

...

Aviso
Importante: Si se agrega un elemento al contexto con un número de secuencia ya utilizado por un elemento del mismo tipo, el último enviado reemplazará al anterior.


Aviso
titleIMPORTANTE

Si el ítem es mensurable, se debe colocar el valor de magnitude, no es necesario colocar qty. Pero en el caso de ponerlo, este valor debe ser qty= 1. El motor prevalecerá el valor de Magnitud al valor de cantidad.



Ejemplo:
A continuación se presenta un ejemplo de un mensaje que agrega a la sesión del Motor de Promociones un ítem y un medio de pago (ambos con secuencia "1"), y elimina un cupón (de secuencia "2"):

...

1

Valor de ack

Descripción

Acción recomendada

2

9000

El mensaje no posee un ticket asociado.

Reenviar el mensaje y si el error persiste re validar su formato. Verificar la secuencia que mensajes que se está enviando.

3

9001

Existe una transacción pendiente. Se ha recibido una nueva transacción para ser procesada pero existe una anterior que se encuentra pendiente.

Se debe enviar un mensaje con status=commit/rollback para finalizar la transacción anterior.

4

9002

No existe transacción pendiente. Se ha recibido un mensaje con status=commit o rollback pero no existía una transacción previa pendiente.

Revisar la mensajería que se está enviando al motor, mayormente en su secuencia lógica.

5

9003

Se ha solicitado la información de una transacción previa pero no se ha informado el identificador de la misma.

Verificar que la propiedad originalTransaction tenga un valor y sea válido.

6

9004

Se ha solicitado la información de una transacción previa pero la transacción no existe.

Verificar el identificador de la transacción original que se está informando.

7

9005

Indica que la Consola está en modo Offline

En algunos casos como loyaltyTransfer, si la consola está en modo Offline, esta operación no se puede realizar. Contactar al administrador de PROMO para que chequee el equipo donde se encuentra corriendo la consola de PROMO.

8

9006

Job de Finalización de Transacciones

Contactar al administrador de la aplicación y revisar las configuraciones de la consola para restablecer el servicio.

9

9007

No se indica "CompanyId" en el header del mensaje.

Verificar los datos enviados

109008

Se obtiene este valor cuando se detecta una devolución parcial hecha previamente para la transacción que se trata de hacer la devolución total sin escaneo de items.

Verificar que no existan este tipo de transacciones pendientes.

11

9101

No se ha encontrado el Cupón

Verificar los datos solicitados

12

9102

Cupón Consumido

Verificar que el cupón no haya sido utilizado

13

9103

Cupón Inactivo

Verificar que el cupón solicitado se encuentre activo.

14

9104

No se ha encontrado el tipo de cupón

Verificar valor informado en el mensaje.

15

9105

El Cupón ha expirado.

La fecha de vencimiento del cupón se ha alcanzado, con lo cual verificar dicha situación.

16

9106

Se ha alcanzado el máximo número de usos

Verificar dicha situación

17

9107

El cupón es nominado y no se ha informado un cliente o bien el cliente informado no se corresponde con el cliente asociado al cupón

Verificar dicha situación

18

9108

El tipo de cupón no está activo

Verificar el tipo de cupón

19

9109

El monto enviado no corresponde al monto del cupón

Verificar monto del cupón

20

9110

Cupón no usado

El cupón ingresado a la transacción no ha participado de ninguna promoción.

21

9111

Cupón utilizado ParcialmenteIndica que el cupón no adminte admite uso parcial pero se está intentando usar parcialmente.  En este caso si un commit es enviado confirmando la transacción el cupón será consumido (Detección de Fraudes).
22

9112

El cupón es "Sin Expiración"Cuando en la mensajería se pone un valor en el campo validTo. También si se quiere actualizar un cupón, se pone una un valor en el campo validTo, pero el estado del cupón no es inactivo/activo/expirado.
23

9113

El rango validTo y validFrom de un cupón es anterior a la fecha inicio de vigenciaCuando se quiere actualizar un cupon cupón y la fecha del campo validTo y la fecha de fin de validez son anteriores a la fecha de inicio de vigencia.
24

9114

Barcode duplicadoYa existe un cupón con el mismo barcode.
25

9201

No se encontró el encabezado de la transacción.

Normalmente debido a un error interno, consultar con el administrador del sistema.

26

9500

No se encontró el elemento de fidelidad loyalty

Verificar los datos solicitados

27

9501

Elemento de fidelidad inhabilitada

Verificar los datos solicitados. Para algunas acciones, solo se puede procesar Elementos de fidelidad habilitadas

28

9502

Elemento de fidelidad cancelada

Verificar los datos solicitados. No se puede interactuar con elementos de fidelidad canceladas

29

9503

No se encontró el Tipo de elemento de fidelidad loyalty

Verificar los datos solicitados

30

9504

Tipo de elemento de fidelidad no activa

Verificar los datos solicitados. No se puede interactuar con tipos de elementos de fidelidad inactivos

31

9505

Tipo de fidelidad no recargable

Verificar los datos solicitados. Para opciones de Carga o Recarga, el tipo de elemento de fidelidad debe ser recargable

32

9506

El elemento de fidelidad ya tiene un cliente asociado

Verificar que el elemento de fidelidad en la activación el customer enviado.

33

9507

El estado enviado del elemento de fidelidad no existe.

Verificar que se haya enviado un estado del elemento de fidelidad, en la activación, valido (ENABLED, DISABLED) – En Mayúscula –

34

9508

El elemento de fidelidad no aplica al beneficio

Verificar que el tipo de elemento de fidelidad sea recargable o que el elemento de fidelidad este habilitada. Otro error puede ser que el tipo de elemento de fidelidad con el que se armó el beneficio, este inactivo o no exista en la transacción.

35

9509

El elemento de fidelidad requiere un cliente

Verificar si el tipo de elemento de fidelidad es requerido, en la transacción debe viajar al menos un cliente.

36

9510

Elemento de fidelidad no autorizado

Existen varias situaciones en las que se puede obtener este código de error:

  1. El cvv es requerido y no se ha informado o es erróneo.
  2. El tipo de elemento de fidelidad es nominada con asignación desde archivo y se intenta asignar desde el punto de venta (motor).
  3. El elemento de fidelidad está vencido o cancelado.
  4. El elemento de fidelidad no es nominado y se intenta asignar un cliente.
37

9511

Amount invalido

Cuando se intenta descontar un amount que es mayor al total del amount del elemento de fidelidad, este mensaje aparecerá. Verificar que el amount sea menor al total.
Se informara este error cuando el tipo de elemento de fidelidad exija consumo total del monto en una sola transacción y se esté enviando un amount con valor menor
Se informara este error cuando el tipo de elemento de fidelidad exija transferencia total del monto a otro elemento del mismo tipo y se esté enviando un chargeAmount con valor menor.

38

9512

Se requiere al menos dos elementos de fidelidad

Este mensaje se utiliza para las transferencias. Se requiere que haya dos tarjetas en el mensaje. La de origen en la Seq="1" y la de destino en la Seq="2"

39

9513

El elemento de fidelidad no admite transferencia.

Verificar que el elemento de fidelidad origen admita Transferencia. Ya sea parcial o total.

40

9514

El elemento de fidelidad destino esta activo

Verificar que el elemento de fidelidad destino esta inactiva para realizar una transferencia total.

41

9515

Los tipos de elementos de fidelidad no son iguales

Verificar que los tipos de elemento de fidelidad sean iguales, es decir, el mismo.

42

9516

El saldo ingresado es mayor al tope de saldo

Verificar que el valor ingresado para la carga de un elemento de fidelidad, no sea mayor al Tope de saldo del tipo de elemento de fidelidad.

43

9517

El tipo de elemento de fidelidad no admite asignación de clientesEste error es especifico del servicio de próximo número del elemento de fidelidad tarjeta cuando el tipo de elemento de fidelidad no tarjeta es nominado por archivo de alta masiva.
44

9518

No se ha especificado el parámetro companyIdEste error es especifico del servicio de proximo próximo número cuando no se informa el identificador de la empresa que realiza el pedido.
45

9519

CompanyId inválidoNo se ha podido encontrar el companyId especificado.
46

9520

Operación InválidaLa operación solcitada solicitada no corresponde a una operación válida
47

9521

Rango inválido en  elemento de fidelidadCuando se quiere crear un elemento de fidelidad, cuyo tipo está vencido; o cuando el tipo tiene rango de vigencia y se trata de crear un elemento con el rango invertido ( validFrom <validTo).
48

9603

Cliente inexistente

Verificar datos de cliente ingresado en la transacción

49

9610

identificador de cliente vacío

Verificar datos de cliente ingresado en la transacción

50

9611

Nombre de cliente vacío

Verificar datos de cliente ingresado en la transacción

51

9612

Apellido de cliente vacío

Verificar datos de cliente ingresado en la transacción

52

9613

ID de cliente Vacío

Verificar datos de cliente ingresado en la transacción

53

9614

No se recibieron parámetros del cliente

Verificar datos de cliente ingresado en la transacción

54

9620

Cliente ya existente

Verificar datos de cliente ingresado en la transacción

55

9629

Cliente inactivo

Verificar datos de cliente ingresado en la transacción

56

9901

Error de Cupón inesperado.

Todo error relacionado al procesamiento de cupones que no se encuentre tipificado en los códigos anteriores. Consultar al administrador del sistema.

57

9999

Error inesperado

Todo error en el procesamiento de PROMO Central que no se encuentre tipificado en los casos anteriores.

...

  1. Creación de clientes:  Si se envía información de cliente completa (es decir email o identifier) y el cliente no existe en Promo, el mismo será dado de alta automáticamente.


Aviso
titleIMPORTANTE

Si se envía el teléfono y el cliente no existe en Promo, el mismo será dado de alta automáticamente.


2. Actualización de clientes: Si se recibe información de un cliente completa y el cliente existe, entonces se considera que la validación no es una mera consulta de datos sino que al enviar datos como el "nombre del cliente" se requiere hacer una actualización de los mismos.


(Ver también,Engine Response - LoyaltyValidation)
Esta acción no requiere tercer mensaje (commit o rollback), y cancela el elemento fidelidad que se informe.

...

Por ejemplo, el último número de elemento activo para el tipo tip2 es el "aaa2600000009" es el 333000000000000007, al realizar la consulta solo con el tipo de elemento, Promo devolverá el id de tarjeta 333000000000000008 "2600000010" que corresponde al próximo número de elemento inactivo y sin cliente disponible.

Bloco de código
languagexml
themeEmacs
titleInput Message XML
<?xml version="1.0" encoding="UTF-8"?><message companyId="2napse" store="1napse31" terminal="1" date-time="2023-0410-1005 1815:3000:00" init-tck="true" messageId="1" void-trx="false" response="true" status="loyaltyValidationloyaltyvalidation" evaluate="true" tckpath="Y" suggest="true">
<loyaltycard-add seq="1" type="1tip2" />
</message>


Informações
titleInput Message JSON

{
  "message": {
    "companyId": "2napse",
    "store": "1napse31",
    "terminal": "21",
    "date-time": "2023-0410-10 1205 15:00:00",
    "init-tck": "true",
    "messageId": "1",
    "void-trx": "false",
    "response": "true",
    "status": "loyaltyvalidation",
    "evaluate": "true",
    "tckpath": "Y",
    "suggest": "false",
    "loyaltycard-add": [{
      "seq": "1",
      "type": "1tip2"
    }]
  }
}


Bloco de código
languagexml
themeEmacs
titleOutput Message XML
---- message ------
<?xml version="1.0" encoding="UTF-8"?><message ack="0" companyId="2napse" engine="7.3.0RC1#590RC3#71" mapversion="2031" messageId="1" store="1napse31" terminal="1" transaction="2napse_1napse31_1_2023041018300020231005150000">
  <loyalty>
    <loyaltycards/><loyaltycards>
    <coupons/>
    <errors>
      <error <loyaltycard ack="95000" cardTypeid="12600000010" info="1" seq="1" type="QUERYtip2"/>
    </errors>/loyaltycards>
    <coupons/>
    <errors/>
    <customers/>
    <redeemTable/>
    <goalsPrograms/>
  </loyalty>
</message>

...

Informações
titleOutput Message JSON

{
  "message": {
    "ack": "0",
    "companyId": "2napse",
    "engine": "7.23.4#2640RC3#71",
    "mapversion": "031",
    "messageId": "1",
    "store": "1napse31",
    "terminal": "21",
    "transaction": "2napse_napse31_1_2_2023041013000020231005150000",
    "loyalty": {
      "loyaltycards": {},
      "coupons": {},
      "errors": {
        "error": [{
          "ack": "95000",
          "cardType": "1tip2",
          "info": "1",
          "seq": "1",
          "type": "QUERY"
        }]
      },
      "customers": {
        "customer": [{
          "code": "1",
          "email": "promonapse@gmail.com",
          "identifier": "12345",
          "lastName": "perez",
          "limitedBenefits": "",
          "name": "juan",
          "segment": "",
          "seq": "1",
          "type": "empleado",
          "coupon": [
            {
              "ack": "0",
              "amount": "0.00",
              "barcode": "1010010016471",
              "couponId": "1"
            },
            {
              "ack": "0",
              "amount": "0.00",
              "barcode": "1020010016470",
              "couponId": "2"
            }
          ],
          "loyaltycard": [{
            "ack": "0",
            "amount": "0.00",
            "amountChargeLimit": "0.00",
            "contract": "",
            "id": "10000000092600000010",
            "status": "Activa",
            "type": "1tip2",
            "usePartial": "true"
          }]
        }]
      },
      "redeemTable": {}
    }
  }
}

...


Aviso

...

title

...

Importante

Esta funcionalidad aplica a tipos de tarjetas de fidelidad que sean nominadas por api (canal de ventas) y no nominadas.

Ej. para un tipo de Tarjeta de Fidelidad, no nominada. El último número de tarjeta activa para el tipo "13" (no nominada) es el 2000000009, al realizar la consulta solo con el tipo de tarjeta, Promo devolverá el id de tarjeta 2000000000 que corresponde al próximo número de tarjeta inactivo y sin cliente disponible. 

Bloco de código
languagexml
themeEmacs
titleRequest XML
<message<?xml companyId="version="1.0" encoding="UTF-8"?><message companyId="napse" store="napse31" terminal="1" date-time="2023-10-05 15:00:00" init-tck="true" messageId="1" void-trx="false" response="true" status="loyaltyvalidation" evaluate="true" suggest="true">
<loyaltycard-add seq="1" type="tip1" />
</message>


Bloco de código
languagexml
themeEmacs
titleResponse
---- message ------
<?xml version="1.0" encoding="UTF-8"?><message ack="0" companyId="napse" engine="7.3.0RC3#71" mapversion="31" messageId="1" store="napse31" terminal="1" transaction="napse_napse31_1_20231005150000">
  <loyalty>
    <loyaltycards>
      <loyaltycard ack="0" id="2000000000" seq="1" type="tip1"/>
    </loyaltycards>
    <coupons/>
    <errors/>
    <customers/>
    <redeemTable/>
    <goalsPrograms/>
  </loyalty>
</message>


Âncora
_LoyaltyActivation
_LoyaltyActivation
LoyaltyActivation

Realiza la activación de un elemento de fidelidad.
Para activar un elemento de fidelidad que se encuentre en estado inactiva podrá enviarse un mensaje con Status="loyaltyActivation".
Deberá enviarse con el formato y atributos que se muestran en los siguientes ejemplos.

Bloco de código
languagexml
themeEmacs
titleRequest XML
<message companyId="2" store="2" terminal="1" date-time="2023-04-10 19:00:00" init-tck="true" messageId="1" void-trx="false" response="true" status="loyaltyactivation" evaluate="true" suggest="false">
<loyaltycard-add seq="1" id="20"/>
</message>  

...

Bloco de código
languagexml
themeEmacs
titleRequest XML
<message companyId="testnapse" store="testnapse31" terminal="0011" date-time="20202023-1210-2810 1109:05:2500" messageId="00111" void-trx="false" response="true" init-tck="truefalse" evaluate="true" status="finishex">
<customer-add seq="1" id="12345" />
<coupon-add seq="1" id="1010BCup10000x1100BCeso0000" />
<item-add seq="1" qty="1" code="111" magnitude="0" xprice="5000" unitprice="5000" />
</message>
 


Informações
titleRequest JSON

{
  "message": {
    "companyId": "testnapse",
    "store": "testnapse31",
    "terminal": "0011",
    "date-time": "20202023-12-28 11:2510-10 09:05:00",
    "messageId": "00111",
    "void-trx": "false",
    "response": "true",
    "init-tck": "truefalse",
    "evaluate": "true",
    "status": "finishex",
    "customer-add": [{
      "seq": "1",
      "id": "12345"
    }],
    "coupon-add": [{
      "seq": "1",
      "id": "1010BCup10000x1100BCeso0000"
    }],
    "item-add": [{
      "seq": "1",
      "qty": "1",
      "code": "111",
      "magnitude": "0",
      "xprice": "5000",
      "unitprice": "5000"
    }]
  }
}

...

Bloco de código
languagexml
themeEmacs
titleRequest XML
<message ack="0" companyId="testnapse" engine="27.3.60RC3#71" mapversion="233" messageId="00141" store="testnapse31" terminal="0011" transaction="testnapse_testnapse31_0011_2020122811280220231010091500">
<loyalty><loyaltycards/>
<coupons/>
<errors/>
<customers/>
<redeemTable/>
</loyalty>
</message>

...

Informações
titleRequest JSON

{
  "message": {
    "ack": "0",
    "companyId": "testnapse",
    "engine": "27.3.60RC3#71",
    "mapversion": "233",
    "messageId": "00141",
    "store": "testnapse31",
    "terminal": "0011",
    "transaction": "testnapse_testnapse31_0011_2020122811280220231010091500",
    "loyalty": {
      "loyaltycards": {},
      "coupons": {},
      "errors": {},
      "customers": {},
      "redeemTable": {}
    }
  }
}

...

Bloco de código
languagexml
themeEmacs
titleRequest XML
<message<?xml version="1.0" encoding="UTF-8"?><message ack="8296" companyId="testnapse" engine="27.3.60RC3#71" mapversion="233" messageId="00111" store="testnapse31" terminal="0011" transaction="testnapse_testnapse31_0011_2020122811250120231010090500">
  <loyalty>
    <loyaltycards/>
    <coupons/>
    <errors>
      <error ack="91019110" id="1010BCup10000x1100BCeso0000" info="1010BCup10000x1100BCeso0000" seq="1" type="coupon-redeem"/>
    </errors>
<customers>
<customer code="123456" email="[email protected]" identifier="1" lastName="perez" limitedBenefits="" name="jorge" segment="" seq="1" type="
test"/>
</customers>
<redeemTable/>
 <customers/>
    <redeemTable/>
    <goalsPrograms/>
  </loyalty>
</message>
 


Informações
titleRequest JSON

{
  "message": {
    "ack": "8296",
    "companyId": "testnapse",
    "engine": "27.3.60RC3#71",
    "mapversion": "233",
    "messageId": "00111",
    "store": "testnapse31",
    "terminal": "0011",
    "transaction": "testnapse_testnapse31_0011_2020122811250120231010090500",
    "loyalty": {
      "loyaltycards": {},
      "coupons": {},
      "errors": {
        "error": [{
          "ack": "9101",
          "id": "1010BCup10000x1100BCeso0000",
          "info": "1010BCup10000x1100BCeso0000",
          "seq": "1",
          "type": "coupon-redeem"
        }]
      },
      "customers": {
        "customer": [{
          "code": "123456",
          "email": "jorge.perez@correo.com",
          "identifier": "1",
          "lastName": "perez",
          "limitedBenefits": "",
          "name": "jorge",
          "segment": "",
          "seq": "1",
          "type": "\ntest"
        }]
      },
      "redeemTable": {}
    }
  }
}


Aviso
titleIMPORTANTE

En una transacción cuando se usa la función FINISHEX, esta primero evalúa el formato de tipo de cupón y si externo o informativo no lo valida.


Herramienta para métricas de fidelidad

...