ROOKDocs
Back to Use Cases
Loyalty & Rewards Blueprint

Perks and Rewards

Build high-engagement loyalty and card reward programs. Calculate dynamic cash-back, multiplier points, and merchant-funded boosts in real-time as transactions authorize, managing secondary reward ledgers with automatic redemption and disbursement.

System Architecture & Flow

REAL-TIME REWARD COMPUTATION & ACCRUAL SEQUENCESub-second Accrual
1
Card Authorization

User transacts at merchant. Rook sends auth event containing MCC and merchant data.

2
Rule Engine Match

Platform identifies eligible campaigns: e.g. 5% dining boost or merchant affiliate bonus.

3
Pending Ledger Post

Accrue pending reward points to the user's secondary points ledger account.

4
Settlement & Payout

Upon transaction clearing, pending points convert to active balance or statement credit.

1Configure Reward Campaign Rules

Define reward tier rules, category multipliers (e.g. 3x on restaurants, 2x on travel), and merchant-funded affiliate boost partners.

POST /v1/rewards/campaignsCreate Reward Program
curl -X POST "https://api.sandbox.rookpayments.com/v1/rewards/campaigns" \
  -H "Authorization: Bearer rk_test_..." \
  -H "X-Program-ID: 7c9e6679-7425-40de-944b-e07fc1f90ae7" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Summer Dining & Transit 3X",
    "reward_type": "points",
    "base_multiplier": 1.0,
    "rules": [
      { "mcc_group": "dining", "multiplier": 3.0 },
      { "mcc_group": "transit", "multiplier": 2.0 }
    ],
    "merchant_boosts": [
      { "merchant_name": "UBER", "bonus_percentage": 5.0, "funded_by": "affiliate_partner" }
    ]
  }'

2Accrue Reward Points in Secondary Ledger

Track customer rewards in a dedicated double-entry reward points ledger account, keeping points valuation strictly partitioned from depository cash.

POST /v1/ledgers/rewards/journalsRecord Points Accrual
curl -X POST "https://api.sandbox.rookpayments.com/v1/ledgers/rewards/journals" \
  -H "Authorization: Bearer rk_test_..." \
  -H "Content-Type: application/json" \
  -d '{
    "reference_transaction_id": "txn_cleared_99182",
    "user_rewards_account_id": "acc_rew_usr_1029",
    "entries": [
      { "direction": "debit", "account": "sys_rewards_liability_pool", "units": 450 },
      { "direction": "credit", "account": "acc_rew_usr_1029", "units": 450 }
    ],
    "description": "3X Points on Dining - Merchant: Sweetgreen"
  }'

3Disburse Instant Cash-Back or Statement Credits

Allow users to redeem accumulated reward points instantly as a direct statement credit against their card balance, or push to bank account via FedNow.

POST /v1/rewards/redemptionsRedeem Statement Credit
curl -X POST "https://api.sandbox.rookpayments.com/v1/rewards/redemptions" \
  -H "Authorization: Bearer rk_test_..." \
  -H "Content-Type: application/json" \
  -d '{
    "user_id": "usr_9912",
    "points_redeemed": 5000,
    "redemption_method": "statement_credit",
    "destination_card_id": "crd_109283",
    "credit_amount": 5000,
    "currency": "USD"
  }'