Personal Reward Bank Create
📌 Purpose
Reward Banks allow you to offer customers the ability to exchange their loyalty points for specific rewards, such as coupons tied to campaigns. This recipe explains how to create a Personal Reward Bank, which enables targeted rewards for individual customers based on their wallet. The setup includes assigning a point cost to each reward and enforcing a limit on how many times the reward can be claimed. For full technical details, refer to the Create a Reward Bank with Rewards API.
🖼 Recipe Overview
This guide outlines the process of creating a Personal Reward Bank using the API. Personal Reward Banks are designed for targeted promotions and can include multiple reward campaigns. Once set up, wallets with sufficient points can exchange them for the selected rewards.
- Upon completion of this recipe, your Reward Bank will have the following configuration:
- Targeted to specific wallets (not open to all)
- Includes multiple campaign-based rewards
- Fixed point cost per reward
- One-time redemption limit per wallet
📋 Prerequisites
- Eagle Eye API access
- Company unit’s clientId & secret
- A three-level company hierarchy
- An active points scheme (schemeId)
- One or more active campaignIds that will serve as rewards
📤 Outputs
After completing this recipe, capture the following output:
| Output Name | Purpose |
|---|---|
| pointsRewardBankId | The unique identifier for your Reward Bank used to create links and use the exchange API |
| pointsRewardBankRewardId | he unique identifier(s) for each campaign-based reward to use in the exchange API |
📒 Steps
Step 1: Prepare the request payload
- 1.1 Define a clear and descriptive name for the Reward Bank
- 1.2 Set mode to PERSONAL and status to ACTIVE
- 1.3 Set the exchangeLimit of 1 to allow a one-time redemption per wallet
- 1.4 In the rewards array, include each campaign reward with the following fields:
- resourceType of CAMPAIGN
- Use your campaignId as the resourceId
- cost: Number of points required to redeem the reward
- status: Set to ACTIVE
Step 2: Call POST /banks/pointsreward
{
"mode": "PERSONAL",
"status": "ACTIVE",
"name": "Get multiple coupons for 2500 points",
"exchangeLimit": 1,
"rewards": [
{
"resourceType": "CAMPAIGN",
"resourceId": "101161654",
"cost": 2000,
"status": "ACTIVE"
},
{
"resourceType": "CAMPAIGN",
"resourceId": "101161652",
"cost": 500,
"status": "ACTIVE"
}
]
}{
"pointsRewardBankId": "84606",
"status": "ACTIVE",
"mode": "PERSONAL",
"reference": "000084606",
"name": "Get multiple coupons for 2500 points",
"dateCreated": "2025-06-18T19:24:19+00:00",
"lastUpdated": "2025-06-18T19:24:19+00:00",
"exchangeLimit": 1,
"rewards": [
{
"pointsRewardBankRewardId": "186279",
"pointsRewardBankId": "84606",
"resourceType": "CAMPAIGN",
"resourceId": "101161654",
"threshold": 2000,
"cost": 2000,
"status": "ACTIVE",
"dateCreated": "2025-06-18T19:24:19+00:00",
"lastUpdated": "2025-06-18T19:24:19+00:00",
"reasonCode": null
},
{
"pointsRewardBankRewardId": "186280",
"pointsRewardBankId": "84606",
"resourceType": "CAMPAIGN",
"resourceId": "101161652",
"threshold": 500,
"cost": 500,
"status": "ACTIVE",
"dateCreated": "2025-06-18T19:24:19+00:00",
"lastUpdated": "2025-06-18T19:24:19+00:00",
"reasonCode": null
}
]
}✅ Business Readiness Checklist
Use these steps to validate the setup of your reward bank:
- Call GET Points Reward Bank to validate the response matches the POST request
- Call POST Exchange to exchange points for a coupon reward
🔧 Troubleshooting Tips
Issue | Possible Cause & Resolution |
|---|---|
207 (multi-status) response | Verify the campaigns included as rewards are active using the GET campaign endpoint |
Updated about 5 hours ago
