Skip to main content

Update a promotion

You can update a multichannel promotions through the Engage API. Only draft promotions can be updated, not active promotions. It is possible to update the entire promotion or only the validity, and each method has a different API endpoints which is described below.

Updating the entire promotion

To update the entire multichannel promotion, used this endpoint:

PUT /api/v2/promotions/multichannels/{id}

Send a payload in the same format as when you created the promotion, including your updates:

{
  "id": "24138ab3-0421-4688-a4b0-40a3c410fa4f",
  "status": "Draft",
  "externalId": "externalIdentifier",
  "name": "Promotion Name",
  "validity": {
    "startDate": "2019-10-15T11:18:50.5258317+02:00",
    "assignedValidity": {
      "unit": "Months",
      "amount": 3
    }
  },
  "presentation": {
    "heading": "Promotion presentation title",
    "description": "Promotion presentation description",
    "link": "http://www.example.com"
  },
  "redemptionChannels": [
    {
      "type": "POS",
      "valueType": "EXTERNALOFFER",
      "value": "PromotionCode123",
    },
    {
      "type": "ECOM",
      "valueType": "EXTERNALOFFER",
      "value": "PromotionCode123"
    }
  ]
}

Updating the promotion's validity

To update just the duration of an existing multichannel promotion, send a PUT to this endpoint:

PUT /api/v2/promotions/multichannels/{id}/validity

With a payload formatted like this:

{
  "startDate": "2019-10-14T09:18:50.885+01:00",
  "endDate": "2021-10-14T09:18:50.885+01:00",
  "assignedValidity": {
    "unit": "Months",
    "amount": 4
  }
}