PROMO 7.4 - Ejemplo de Ignorar Pago con Puntos


CONTENIDO


Se define una promoción, con el ítem de "Ignorar Pago con Puntos"  destildado:

Por defecto, el flag vendrá destildado (false) indicando que no se deberán acumularse puntos sobre los pagos que se realizaron con puntos.


  • Promoción 1: Canje con Opciones (Redime puntos - "Pago Puntos")

  • Promoción 2: Coeficiente de fidelización (Otorga Puntos)


Mapa

  • Paso1:
    • Promoción 1 (bajo función Todas)
  • Paso 2:
    • Promoción 2 (bajo función Todas)


Se vende un ítem de $43900
El motor informara la aplicación del beneficio Canje con opciones, donde el cliente deberá de elegir consumir los 500 puntos para acceder al beneficio del -20% sobre el ítem vendido.                        También el motor informara, en este punto, que se están otorgando 62 puntos por la aplicación del beneficio de coeficiente de fidelización.

Request
<?xml version="1.0" encoding="UTF-8"?><message ack="0" channel="T" companyId="napse" engine="7.3.0-ORC1 #122" mapversion="12" messageId="" store="0013" terminal="022">
  <optional>
    <promo code="4280468" id="Canje con opciones - Redime puntos" nro="61545e4116f79a304cced688">
      <benefit TLOGMessage="Canje con opciones" a789="1" account="" applicationMethod="lineByLine" baseAmount="43900" benefitType="RedeemWithOptionsBenefit" displayMessage="Canje con opciones" name="61545e4116f79a304cced688" nro="6154627416f79a304cced6a8" order="1" printerMessage="Canje con opciones" prorationMethod="PROPORTIONAL" usedPoints="0">
        <apply>
          <item magnitude="0.000" qty="1.000" seq="1" value="0" valueWithTaxes="0" xprice="43900"/>
        </apply>
        <redeemOptions>dfgdfgdfgdfg
          <option benefitType="percentageDiscount" cardPoints="0.0" cardType="-" id="6154627416f79a304cced6a8_0" requiredPoints="500.0" unit="qty" value="20.0"/>
        </redeemOptions>
      </benefit>
    </promo>
    <promo code="4280467" id="Otorga Puntos" nro="6153983116f79a304cced625">
      <benefit TLOGMessage="Otorga Puntos de Fidelidad" account="" applicationMethod="lineByLine" baseAmount="43900" benefitType="FactorLoyaltyBenefit" displayMessage="Otorga Puntos de Fidelidad" name="6153983116f79a304cced625" nro="61545cc816f79a304cced685" factor="0" order="2" printerMessage="Otorga Puntos de Fidelidad" totalpoints="62" type="external">
        <apply>
          <item magnitude="0.000" points="62.71" qty="1.000" seq="1" value="0" valueWithTaxes="0" xprice="43900"/>
        </apply>
      </benefit>
    </promo>
  </optional>
</message>

Al enviarse desde el POS la aplicación de la opción de canje de puntos elegida por el cliente, el motor devolverá el beneficio de canje con opciones ya con la información correspondiente al consumo de los 500 Puntos así como el valor del descuento aplicado. En este punto, al detectarse en el motor que se realizara un "pago" con puntos correspondiente a la aplicación de canje con opciones, el beneficio que otorga puntos se vera afectado y se informara el nuevo monto de puntos, que en este caso será de 50.

Response
<?xml version="1.0" encoding="UTF-8"?><message ack="0" channel="T" companyId="napse" engine="7.3.0-ORC1 #122" mapversion="12" messageId="" store="0013" terminal="022">
  <optional>
    <promo code="4280468" id="Canje con opciones - Redime puntos" nro="61545e4116f79a304cced688">
      <benefit TLOGMessage="Canje con opciones" a789="1" account="" applicationMethod="lineByLine" baseAmount="43900" benefitType="RedeemWithOptionsBenefit" displayMessage="Canje con opciones" name="61545e4116f79a304cced688" nro="6154627416f79a304cced6a8" order="1" printerMessage="Canje con opciones" prorationMethod="PROPORTIONAL" usedPoints="500">
        <apply>
          <item benefitTypeOption="percentageDiscount" benefitUnitOption="qty" cardType="-" cardUsedPoints="0" magnitude="0.000" nominalDiscount="8780" percentageDiscount="20" priceinPoints="6271" qty="1.000" redeemOption="6154627416f79a304cced6a8_0" seq="1" usedPoints="500" value="5280" valuePoints="3500" valueWithTaxes="5280" xprice="43900"/>
        </apply>
      </benefit>
    </promo>
    <promo code="4280467" id="Otorga Puntos" nro="6153983116f79a304cced625">
      <benefit TLOGMessage="Otorga Puntos de Fidelidad" account="" applicationMethod="lineByLine" baseAmount="35120" benefitType="FactorLoyaltyBenefit" displayMessage="Otorga Puntos de Fidelidad" name="6153983116f79a304cced625" nro="61545cc816f79a304cced685" factor="0" order="2" printerMessage="Otorga Puntos de Fidelidad" totalpoints="50" type="external">
        <apply>
          <item magnitude="0.000" points="50.17" qty="1.000" seq="1" value="0" valueWithTaxes="0" xprice="43900"/>
        </apply>
      </benefit>
    </promo>
  </optional>
</message>

El cliente podrá luego optar por saldar la transacción también con puntos de fidelidad, y podrá solicitar al motor que dicho pago con puntos no sea tomado en cuenta para el calculo de los puntos ya otorgados por la promoción 2.Para esto, deberá incorporarse en la mensajería que informa el pago (<payment-add/>) el atributo pointsType=, informando allí el tipo de tarjeta que acumula los puntos o en caso de tratarse de puntos externos, la palabra "external"

<?xml version="1.0" encoding="UTF-8"?>
<message channel="T" cia="napse" ciudad="58" companyId="napse" date-time="2023-08-24 14:00:17" evaluate="true" format="H" init-tck="false" limitBalances="true" localidad="1" map-version="12"
 status="sale" store="0013" storeChain="S" subZone="1" terminal="022" tipologia="hi" zonaprecio="E22" zone="1">
<payment-add amount="35120" balance="true" itemamount="35120" pointsType="external" seq="2" type="11"/>
</message>

De esta forma, el motor incorporara al mensaje enviado al POS el nuevo beneficio "PromotionPaidInPoints" donde se informaran los puntos que deberán ser descontados de los puntos ya otorgados previamente.

<?xml version="1.0" encoding="UTF-8"?><message ack="0" channel="T" companyId="napse" engine="7.3.0-ORC1 #122" mapversion="13" messageId="" store="0013" terminal="022">
  <optional>
    <promo code="4280468" id="Canje con opciones - Redime puntos" nro="61545e4116f79a304cced688">
      <benefit TLOGMessage="Canje con opciones" a789="1" account="" applicationMethod="lineByLine" baseAmount="43900" benefitType="RedeemWithOptionsBenefit" displayMessage="Canje con opciones" name="61545e4116f79a304cced688" nro="6154627416f79a304cced6a8" order="1" printerMessage="Canje con opciones" prorationMethod="PROPORTIONAL" usedPoints="500">
        <apply>
          <item benefitTypeOption="percentageDiscount" benefitUnitOption="qty" cardType="-" cardUsedPoints="0" magnitude="0.000" nominalDiscount="8780" percentageDiscount="20" priceinPoints="6271" qty="1.000" redeemOption="6154627416f79a304cced6a8_0" seq="1" usedPoints="500" value="5280" valuePoints="3500" valueWithTaxes="5280" xprice="43900"/>
        </apply>
      </benefit>
    </promo>
    <promo code="4280467" id="Otorga Puntos" nro="6153983116f79a304cced625">
      <benefit TLOGMessage="Otorga Puntos de Fidelidad" account="" applicationMethod="lineByLine" baseAmount="35120" benefitType="FactorLoyaltyBenefit" displayMessage="Otorga Puntos de Fidelidad" name="6153983116f79a304cced625" nro="61545cc816f79a304cced685" factor="0" order="2" printerMessage="Otorga Puntos de Fidelidad" totalpoints="50" type="external">
        <apply>
          <item magnitude="0.000" points="50.17" qty="1.000" seq="1" value="0" valueWithTaxes="0" xprice="43900"/>
        </apply>
      </benefit>
    </promo>
    <promo id="PromotionPaidInPoints" nro="0">
      <benefit TLOGMessage="" account="" applicationMethod="" baseAmount="35120" benefitType="LoyaltyBenefit" displayMessage="" order="3" printerMessage="" totalpoints="-5" type="external" unit="" value="-5">
        <apply>
          <item magnitude="0.000" points="-4.99" qty="1.000" seq="1" value="0" valueWithTaxes="0" xprice="35120"/>
        </apply>
      </benefit>
    </promo>
  </optional>
</message>

Luego de que se reciba esa información del motor, el POS hará el calculo descontando de los puntos a otorgar para el type=external (el utilizado en este ejemplo) los puntos que se informen en la promoción “PromotionPaidInPoints”.(Para mas información sobre los cálculos utilizados en la aplicación del beneficio "PromotionPaidInPoints" ver manual de integración Promo 7 - Motor)








  • Sem rótulos