modify existing promotion, what happens to the user profiles who already have it?

591 views Asked by At

I have created a promotion promoxyz with unilimited access and create coupon couponxyz which uses promoxyz, and gave it to user1 , he used it so promoxyz is saved in his active promotions as unlimited.

No after some time the business wanted the promoxyz to be limited to max use of "1", so the max number of uses is changed to "1" and published through BCC.

Now my question is why is the user1 is able to continue to use it as unlimited, Aparantly the updated promotion has no effect on user1. Is there a way to force the user1 promotions to point the latest setting in this case only once usage ?

Thanks

2

There are 2 answers

0
Vihung On BEST ANSWER

The recommended approach is to not modify existing promotions.

You should expire the current promotion (by adding an end date), and create a new one with an appropriate start date.

0
Mani manasa mylavarapu On

It is not effected becoz the latest change in the promotion asset is done in the BCC ie., in publishing server .But where as when user1 is using the promotion it is taking this promotion copy from production server.So unless you have the latest copy in production.You cant see the effected change.But still you can go in short cut.There are two ways

  1. Deploy the version of your promotion in production server again.This is traditional way.
  2. Else go to dyn admin of production and then to claimable repository/Product catalog (where ever your promotion repository item is) and use

    <update-item item-descriptor="your promo item descriptor" id="your promo id">
          <set-property name="global"><![CDATA[false]]></set-property> <!-- Automatically apply to all orders -->
          <set-property name="giveToAnonymousProfiles"><![CDATA[false]]></set-property> <!-- Give to anonymous customers -->
    </update-item>
    

and in your API code do grant the promotion explicitly to that user to whom you want to.

PromotionTools.grantPromotion("userId(not login id)", "promotionId");