Skip to main content

Voyado Engage

Redeem a promotion

If you were to fetch a contact's promotion data, you will get back something like this:

    "id": "bb247ef7-80bb-440c-beb7-ab4172e56666",
    "promotionId": "1a50b7aa-d697-4dc6-3ce7-ab2c00b3a920",
    "externalId": "SO-14034",
    "type": "Multichannel",
    "redemptionChannels": [
        "type": "POS",
        "valueType": "EXTERNALOFFER",
        "value": "10056",
        "instruction": null
        "type": "ECOM",
        "valueType": "EXTERNALOFFER",
        "value": "10056",
        "instruction": null

You'll notice that a promotion has two ids:

  • promotionId - This is the id of the promotion's template. Several users can have the same value in this field, since it just refers to the template. It can't be used to redeem the individual promotion.

  • id - This identifies a specific instance of that promotion. It is unique to that contact and is used to redeem the promotion.


The value id is the one you must use to redeem a promotion.

How to redeem

A promotion can be redeemed for a contact using the unique promotion id. The redemption channel can be POS, ECOM or OTHER. Since a promotion id is always connected to a unique contact, the contact's details do not have to be used when redeeming, only the promotion id (and the redemption channel).

To redeem the promotion, send a POST request to this endpoint:


There is a risk of confusion here. Be sure to use the id value of the promotion. Despite the name, do not use the promotionId from the contact's promotion data here, otherwise you will get an error.

The request payload will look like this. Values of redemptionChannel are ECOM, POS and OTHER.

   "redemptionChannel": "ECOM" 

Response codes

'200' : OK

'400' : NotAValidRedemptionChannel, InvalidPromotionIdNoData

'404' : PromotionNotFound, PromotionNotAssociatedWithContact

'409' : PromotionNotValidForRedemptionChannel, PromotionAlreadyRedeemed, PromotionAlreadyRedeemed