Gamification

This implementation example features a new customer who plays a game to win an offer that provides a discount in their cart as they make a transaction at checkout.

Customer Experience

First, the customer signs up for a loyalty program, creating an account with basic biographical information. The data they provide during the sign-up process becomes the basis for the customer's profile on the SMP. Once the account is created, the customer can review their available campaigns. In step 3, the customer, Samantha, decides to follow a link that reveals a variety of "Play & Win" games, such as puzzles, spinners and slots (shown in step 4).

Samantha selects a game to play and wins a 10% discount offer, which is shown in step 5. She can then apply the discount on a subsequent purchase. So, in step 6, Samantha applies/redeems the offer in her cart as part of a larger purchase transaction. The cart contains jeans and a blazer, at a cost that has been discounted by 10%. When Samantha clicks the "Place Order" button and completes the transaction, she will enjoy a discount that totals out at $64.00.

APIs Enabling Customer Experience

While the sequence in the section above centers primarily on the customer's focus, each step along the way is enabled by a corresponding API that requires a specific endpoint. The endpoints that implement the mobile app screens above are available in several SessionM APIs.

Step Action Supporting API Routes Related Use Case
1 Signs up. /priv/v1/apps/:api_key/users Create, Modify, and Forget Customer Profile
2 Views campaigns. /priv/v1/apps/:api_key/users/:user_id/campaigns
/priv/v1/apps/:api_key/external/users/:external_id/campaigns
/priv/v1/apps/:api_key/campaigns?auth_token=xxxxx
Display Eligible Campaigns and Activity Feed Tiles
Filter for Campaign and Opt in Customer
Display Customer Loyalty Information
3 Follows link to Cataboom game.
(Optional integration add-on.)
Contact your SessionM representative for Cataboom integration details. Not applicable
4 Selects Cataboom game to play.
(Optional integration add-on.)
Contact your SessionM representative for Cataboom integration details Not applicable
5 Wins game level. Event sent to SessionM and offer added to wallet. /priv/v1/apps/:api_key/users/:user_id/events
/priv/v1/apps/:api_key/external/users/:external_id/events

/api/2.0/offers/get_user_offers

Integrate Campaign with External System
Integrate Offer with External System

6 Applies and redeems offer. Transaction sent to SessionM. /api/2.0/lock
/api/2.0/offers/redemption/redeem
/api/2.0/send_transaction

Buy and Redeem Reward Store Offer in Purchase Transaction
Award Outcome for Transaction Based on Product SKU
Manage Return and Adjust Related Loyalty Outcome

Example Screen

Consider one screen typical of a mobile app implemented with the platform: The "Koalla" campaign page. Its purpose is to provide the customer with access to games that have been integrated with the app. It also provides some key data that may compel the customer to play a game and - most importantly - to shop! They can see that they currently have 150 points that can be spent in a reward store and may decide that winning a game can enhance their purchase power.

It's worth noting that this page provides a look at the customer's tier status, which provides yet another way to motivate shoppers to take actions that can move them into another tier level.

Each screen built with the SMP presents opportunities to the customer who is navigating a mobile app. Pages can offer customers a few different categories of interaction with the platform's data, including data to display, games to play and actions to take. The following table describes the endpoint and the response object fields related to each component of the mobile app that's been implemented:

Callout Description Supporting API Routes Response Object and Field
1 Cataboom gamification integration via SMP campaign.
(Optional integration add-on.)
/priv/v1/apps/:api_key/users/:user_id/campaigns
/priv/v1/apps/:api_key/external/users/:external_id/campaigns
/api/v1/apps/:api_key/campaigns?auth_token-xxxx

Contact your SessionM representative for Cataboom integration details.
Not applicable.
2 Display available point balance. /api/2.0/offers/get_user_offers
/api/2.0/lookup
/priv/v1/apps/:api_key/users/:user_id?user/[user_profile]=true?expand_incentives=true
payload.available_points
PointAccount[ ].available_balance
user.available_points