Skip to main content

All Offers

GET 

/client/users/:correlation_id/offers

Retrieve the list of all targeted offers available to the user 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.

Targeted offers may be targeted to individuals or households (specifically the Primary household member). Completed offers are put at the bottom of the response.

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 query parameters to provide query information at the end of the request URL and refine your search.

ParameterDescriptionFormatNote
maxResultsMaximum number of results (number)NumberIf the number > 100, then the API returns the first 100 (the maximum number of offers that can be returned. Ex.: /offers?maxResults=105 will return 100 offers; maxResults=5 will return 5 offers. If maxResults is not passed, then the default number of offers set in configuration are returned.
fromTimestamp in Epoch formatNumberEx.: /offers?from=1553544407000
untilNumber of days after the "from" time stampNumberEx.: /offers?from=1553544407000&until=10
localeLocale of the offer(s) returned in the responseString, 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.
businessUnitBusiness unit for offer(s) returned in responseStringOptional. 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 are not returned using this call. See the Get Mass Offers calls in this documentation.

Request

Body

This request does not have a body.

Response

AttributeDefinitionFormatNotes
idThe offer IDString
typeThe type of offerEnum: "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
rankSets the ranking priority of the offerNumber: 0-9Smaller numbers are higher ranks
acceptanceStateWhether or not the offer has been acceptedEnum: "ACCEPTED", "NONE", or "COMPLETED"
acceptanceMethodThe method by which the offer was acceptedString: "LTC"With LTC (Load to Card), the offer must be accepted by targeted member before performing the requested behaviour.
shortDescription1Additional field for offer copyStringAny string value that is valid per corresponding regex restriction
shortDescription2Additional field for offer copyStringAny string value that is valid per corresponding regex restriction
longDescriptionOffer description used for displayStringAny string value that is valid per corresponding regex restriction
promotionHeadlinePrimary offer title copy used for displayStringAny string value that is valid per corresponding regex restriction
tcMessageThe Terms and Conditions messageString
expirationDateThe date on which the offer expiresString
effectiveDateThe date on which the offer becomes effectiveString
smallImageURIURI of small imageStringAny string value that is valid per corresponding regex restriction
largeImageURIURI of large imageStringAny string value that is valid per corresponding regex restriction
smallHDImageURIURI of small high-definition imageStringAny string value that is valid per corresponding regex restriction
largeHDImageURIURI of large high-definition imageStringAny string value that is valid per corresponding regex restriction
rewardAmountThe amount of the rewardNumber
rewardDescriptionDescription of the reward to be hadStringFor instance: "Spend 20, get 500 points."
progressTracks progress toward fulfillment of a frequency offerObjectReq. for frequency offers. Tracks completions, transactions (if multiple required), and spend toward the requirements of the frequency offer
completionsNumber of times the offer has been completedNumberRequired
transactionsTransactions required to fulfill the offerObjectOptional, used if >1 txns are required
completedHow many qualified transactions have been completedNumber
requiredHow many qualified transactions are requiredNumber
spend or quantityAmount of spending or quantity of products bought required to fullfil the offerObjectspend = spend a specific value or more, quantity = buy a specific number or more of this item
totalThe total spent towards this offerNumber
unusedThe spend that has not yet been used toward fulfillment of the offerNumber
nextThe additional spend required (plus unused) to meet the offer thresholdNumber
requiredThe total amount that must be spent to fulfill the offerNumber
promptMessageIDContains ID of messages for the POS operator or member associated with the offer displayedArray
productTargetingList of CSV format file(s) or logic used for product targetingObject (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
fileNameName of CSV file(s), including .csv extension, used for product targetingStringUsed if list-based product targeting is used
groupDefines group of logical query elementsObjectUsed if logic-based product targeting is used; contains groupOperator
groupOperatorDefines the operator that relates the elements in the conditions groupString: "AND" or "OR"Used if logic-based product targeting is used; contains conditions
conditionsContains each element of the logical queryArray with objects in itEach object is one product descriptor within the conditions. Contains field, conditionOperator, and value.
fieldThe type of field selectedString
conditionOperatorThe operator relating the value(s) to the fieldString: "IN" or "NOT IN"
valueThe applicable values defined by the fieldArrayEach value is a string within the value array
businessUnitThe business unit relevant to the offer.String.One or more business unit name values can be passed in using the query parameters, which will result in only offers for that (or those) business units being in the response. If this query parameter is not used, then offers for all business units are returned.

Error Responses

statusCodeerrorMessageerrorCodeDefinition
400 Bad Requestfrom value must be within last 1 year from today's dateINVALID_REQUESTfrom value must be within the last 1 year from today's date
400 Bad RequestInvalid business unit(s) provided.INVALID_BUSINESS_UNIT

Request

Responses

200 - All Offers Returned with No Product Targeting

Response Headers
    Date
    Example: Thu, 21 May 2020 03:56:11 GMT
    Content-Length
    Example: 2926
    Connection
    Example: keep-alive
    x-amzn-RequestId
    Example: 49af928e-a4e9-4df9-a28b-999dabe09acb
    Referrer-Policy
    Example: no-referrer
    X-XSS-Protection
    Example: 1;mode=block
    Access-Control-Allow-Origin
    Example: *
    Expect-CT
    Example: max-age=86400
    Strict-Transport-Security
    Example: max-age=31536000
    Feature-Policy
    Example: vibrate 'none'; geolocation 'none'
    X-Frame-Options
    Example: sameorigin
    Content-Security-Policy
    Example: connect-src 'none';object-src https://*.cloudfront.net;script-src https://*.cloudfront.net
    x-amz-apigw-id
    Example: M3RKMGktIAMF2Fg=
    cache-control
    Example: no-cache, no-store, must-revalidate
    X-Content-Type-Options
    Example: nosniff
    X-Amzn-Trace-Id
    Example: Root=1-5ec5fbda-abbf0c0c0dbf6ef1550673b7;Sampled=0