Skip to main content

Get promotions for contact

This endpoint is used to fetch all available promotions assigned to a contact:

GET /api/v3/promotion-assignments

In the query string you will send:

The contactId of the contact (required). If you have some other contact identifier, use this endpoint to get the contactId.

The redemptionChannelType (optional), either ECOM, POS or OTHER. If left out, all promotions will be returned.

An example request looks like this:

GET /api/v3/contacts/67ea5555-0e09-484f-b4c4-aa3e00e1e24c/promotions?redemptionChannelType=ECOM

The response will look something like this:

[
  {
    "id": "a08c6a49-41b1-4f04-978f-adce009e081a",
    "promotionId": "5b64c747-0594-41d0-bb14-330fb48131ad",
    "externalId": 123214-413434-413443,
    "type": "Multichannel",
    "name": "3 for 2 Jeans",
    "expiresOn": "2024-09-23T08:58:15.034Z",
    "heading": null,
    "description": null,
    "redeemed": false,
    "redeemedOn": null,
    "imageUrl": null,
    "link": null,
    "redemptionChannels": [
      {
        "type": "ECOM",
        "valueType": "EXTERNALOFFER",
        "value": "DISCOUNTCODE",
        "instruction": “This is just an instruction”
      }
    ]
  },
  {
    "id": "594d98e1-ef73-40e3-9799-add400eaab05",
    "promotionId": "f1ad86ae-f6b2-48a1-be13-28bdae59580b",
    "externalId": null,
    "type": "Multichannel",
    "name": "20% off t-shirts",
    "expiresOn": "2023-11-02T23:59:59+01:00",
    "heading": "You get a discount!",
    "description": "Hope you will enjoy this gift. ",
    "redeemed": false,
    "redeemedOn": null,
    "imageUrl": "https://images.eclub.se/images/voyadodemoeng/64DC1720689E4F5A0E1EAD92F3E9A6AFC0863D18.jpg",
    "link": "https://www.shop.com/sv-se/man/t-shirts/mfavouritetee-901-s-21350901003",
    "redemptionChannels": [
      {
        "type": "POS",
        "valueType": "PERCENT",
        "value": 20,
        "instruction": null
      }
    ]
  },
  {
    "id": "3cb87804-6b3b-4f24-a15a-ae8a00e0eacf",
    "promotionId": "f1ad86ae-f6b2-48a1-be66-28bdae59580b",
    "externalId": null,
    "type": "Multichannel",
    "name": "Monetary discount 10€",
    "expiresOn": "2022-05-15T23:59:59+02:00",
    "heading": null,
    "description": null,
    "redeemed": true,
    "redeemedOn": "2022-05-03T13:39:49+02:00",
    "imageUrl": null,
    "link": null,
    "redemptionChannels": [
      {
        "type": "POS",
        "valueType": "MONEY",
        "value": {
            "currency": "EUR",
            "amount": 10
          }
        "instruction": null
      }
    ]
  }
]

Important

A request to this endpoint will only return those promotions where the assigned promotion AND the main promotion are active, with a start date that is not in the future. This query will not filter out redeemed promotions as long as they otherwise fulfill the criteria for being active.

Redemption channels

The object redemptionChannels in the response specifies if a promotion is a percentage, a monetary amount to be withdrawn from the total amount of the transaction, or an external discount code that refers to a price rule in your platform.

redemptionChannels.type declares which channel the promotion applies to.

redemptionChannels.valueType declares which type of discount we want to assign (percentage, monetary or external code).

redemptionChannels.value is the percentage, monetary amount or the external code referring to the external price rule. With a monetary discount we also expose the group currency set in Engage for the specific client.

redemptionChannels.instruction is an instruction that can be added to the promotion by the Engage user to, for example, give some information to store staff regarding the promotion.

These can be displayed in all currencies declared for the client installation of Engage.

A POS promotion with a percentage discount

"redemptionChannels": [
    {
        "type": "POS",
        "valueType": "PERCENT",
        "value": 15,
        "instruction": "POS instructions."
    }
]

An e-com promotion with an external discount code

"redemptionChannels": [
    {
        "type": "ECOM",
        "valueType": "EXTERNALOFFER",
        "value": "DISCOUNTCODE",
        "instruction": "POS instructions."
    }
]

A POS promotion with a monetary discount

"redemptionChannels": [
    {
        "type": "POS",
        "valueType": "MONEY",
        "value": {
            "currency": "EUR",
            "amount": 10
        }
    }    
]