Future Offers
GET/client/users/:correlation_id/offers/future
This request returns offers that have an effective date in the future for the user from the current session. Future offers are offers that are effective any time between tomorrow and one year from tomorrow. For example, if the request is sent on July 1, 2024, the response returns offers from July 2, 2024 to July 2, 2025.
The list of future targeted offers available to the user is based on criteria set in the Exchange Solutions Console, which may include: age, gender, extended member (internal/external) attributes, partner associations, badge eligibility, and member tier.
Note: If the maxResults query parameters is not passed or is not a valid value, then the maximum number of offers returned will be the default set in configuration. If maxResults is set, up to 100 offers can be returned.
Query Parameters
You can add optionally add query parameters to control the number of future offers returned and the locale to get results for the language specified.
| Parameter | Description | Format | Note |
|---|---|---|---|
| maxResults | Maximum number of results (number) | Number | |
| locale | Locale of the offer(s) returned in the response | String, values currently supported are: "en-CA", "en-US" and "fr-CA"; "EN" and "FR" can be used as well, but only for the member record (on the account level) | Optional. Priority order: (1) this query parameter; (2) locale set on the account; (3) environment locale. If locale is not provided or is not a valid value, system default ("en-CA") is used. |
| businessUnit | Name of business unit(s) for which offers should be returned. | String | Can provide name of one businessUnit (only data for that BU is returned) or more than one by having a "businessUnit" name value for each. If this parameter is not used, then offers for all BUs are returned. |
Note: Mass offers do not show up from using this call.
Request
Body
This request does not have a body.
Response
| Attribute | Definition | Format | Notes |
|---|---|---|---|
| id | The offer ID | String | |
| type | The type of offer | Enum: "FLAT", "MULTIPLIER", or "PERCENTAGE" | FLAT = rewards exact number of points when reward fires; MULTIPLIER = reward a multiple of base points; PERCENTAGE = reward a number of points based on the eligible spend equivalent to the percentage spent |
| rank | Sets the ranking priority of the offer | Number: 0-9 | Smaller numbers are higher ranks |
| acceptanceState | Whether or not the offer has been accepted | Enum: "ACCEPTED", "NONE", or "COMPLETED" | |
| acceptanceMethod | The method by which the offer was accepted | String: "LTC" | With LTC (Load to Card), the offer must be accepted by targeted member before performing the requested behaviour. |
| shortDescription1 | Additional field for offer copy | String | Any string value that is valid per corresponding regex restriction |
| shortDescription2 | Additional field for offer copy | String | Any string value that is valid per corresponding regex restriction |
| longDescription | Offer description used for display | String | Any string value that is valid per corresponding regex restriction |
| promotionHeadline | Primary offer title copy used for display | String | Any string value that is valid per corresponding regex restriction |
| tcMessage | The Terms and Conditions message | String | |
| expirationDate | The date on which the offer expires | String | |
| effectiveDate | The date on which the offer becomes effective | String | |
| smallImageURI | URI of small image | String | Any string value that is valid per corresponding regex restriction |
| largeImageURI | URI of large image | String | Any string value that is valid per corresponding regex restriction |
| smallHDImageURI | URI of small high-definition image | String | Any string value that is valid per corresponding regex restriction |
| largeHDImageURI | URI of large high-definition image | String | Any string value that is valid per corresponding regex restriction |
| rewardAmount | The amount of the reward | Number | |
| rewardDescription | Description of the reward to be had | String | For instance: "Spend 20, get 500 points." |
| progress | Tracks progress toward fulfillment of a frequency offer | Object | Req. for frequency offers. Tracks completions, transactions (if multiple required), and spend toward the requirements of the frequency offer |
| completions | Number of times the offer has been completed | Number | Required |
| transactions | Transactions required to fulfill the offer | Object | Optional, used if >1 txns are required |
| completed | How many qualified transactions have been completed | Number | |
| required | How many qualified transactions are required | Number | |
| spend or quantity | Amount of spending or quantity of products bought required to fullfil the offer | Object | spend = spend a specific value or more, quantity = buy a specific number or more of this item |
| total | The total spent towards this offer | Number | |
| unused | The spend that has not yet been used toward fulfillment of the offer | Number | |
| next | The additional spend required (plus unused) to meet the offer threshold | Number | |
| required | The total amount that must be spent to fulfill the offer | Number | |
| promptMessageID | Contains ID of messages for the POS operator or member associated with the offer displayed | Array | |
| productTargeting | List of CSV format file(s) or logic used for product targeting | Object (empty if product targeting is not used) | Contains fileName of one or more list-based product targeting file(s) or logic used for product targeting |
| fileName | Name of CSV file(s), including .csv extension, used for product targeting | String | Used if list-based product targeting is used |
| group | Defines group of logical query elements | Object | Used if logic-based product targeting is used; contains groupOperator |
| groupOperator | Defines the operator that relates the elements in the conditions group | String: "AND" or "OR" | Used if logic-based product targeting is used; contains conditions |
| conditions | Contains each element of the logical query | Array with objects in it | Each object is one product descriptor within the conditions. Contains field, conditionOperator, and value. |
| field | The type of field selected | String | |
| conditionOperator | The operator relating the value(s) to the field | String: "IN" or "NOT IN" | |
| value | The applicable values defined by the field | Array | Each value is a string within the value array |
Error Responses
| statusCode | errorMessage | errorCode | Definition |
|---|---|---|---|
| 400 Bad Request | Invalid business unit(s) provided. | INVALID_BUSINESS_UNIT |
Request
Responses
- 200
- 400
200 - Future Offers Returned with No Product Targeting
Response Headers
Thu, 20 Aug 2020 20:16:40 GMT1918keep-alivec829e6e6-e5d4-43d7-8476-c8e56ded4bcdno-referrer1;mode=block*ES-CB-V144c98877-75b3-49fa-9e7c-6e0162445935max-age=86400max-age=31536000vibrate 'none'; geolocation 'none'sameoriginconnect-src 'none';object-src https://*.cloudfront.net;script-src https://*.cloudfront.netAugust 20th 2020, 8:16:40RlcGRGSdoAMFW_A=no-cache, no-store, must-revalidatecd4e126a-f0fa-c00e-f1e3-fc2d319203c7nosniffRoot=1-5f3eda28-9a2320c6d1636274938ba3fc;Sampled=0400 - Business Unit Not Valid