Skip to main content

Hosted Offer Redemption

Overview​

Hosted Offer Redemption is a single managed offer redemption experience, hosted on the GetintheLoop Platform. It allows a fast and easy way to integration offer usage into a product via a single-page "check out" experience for your users. Hosted Offer Redemption is a configurable option for each Property.

The Hosted Offer Redemption page includes:

  • Your branding
  • Details of the offer
  • The ability to use the offer directly from the page
  • The ability to return to your website or app
caution

Currently, the Hosted Offer Redemption feature requires that users be Identified. If you are allowing anonymous or unidentified users to use some offers, Hosted Offer Redemption will not work for you.

Getting Started​

1. Enable Hosted Offer Redemption​

Enable Hosted Offer Redemption for your property in the Customer Portal.

2. Direct Users to Hosted Offer Redemption​

When a user taps on an offer to get more details from your website or app, you can direct them to the Hosted Offer Redemption page.

The offer.redeemUrl property on the GetintheLoop offer model is the root Hosted Offer Redemption URL for that offer.

For each user, you must add the following URL parameters to this URL:

ParameterRequiredDetails
uYesUser Identification Token. See details below.
lNobusiness.location.id. If set, the offer will be displayed with this particular location set. If not set, the closest location to the user will be used.
bNoURL of page to allow user to return to on completion (ie. the “back” action). Useful if the page is going to open in a new tab and normal browser “back” history is going to be broken.

Example

<offer.redeemUrl>?u=<USER_IDENTIFICATION_TOKEN>&l=<BUSINESS_LOCATION_UUID>

User Identification Token​

The Hosted Offer Redemption page requires authorization information for the current user, passed via the u property. This authorization is implemented as a per-user signing token. It must be securely generated and then added to the Hosted Redemption URL.

This authorization is used to:

  • Verify the user comes from you and prevent 3rd party abuse.
  • Identify the current user to ensure that features like limited offers and punch cards work correctly.

The User Identification Token is a Base64 string computed for each user. It is valid for 15 minutes from time of generation.

It is generated as follows:

  1. Generate a User Verification Token for the current user
  2. Concatenate the unique userId and User Verification Token together, separated by a :
  3. Base64 encode the concatenated string. This is the User Identification Token for the current user.

Example​

const userId = 'USER_ID';
const verificationToken = 'VERIFICATION_TOKEN';

const identificationToken = Buffer.from(`${userId}:${verificationToken}`).toString('base64');