Getting started
Enable the module
- Modules → Reward Points → master switch ON.
- The Rewards entry appears in the Marketing sidebar at
/admin/rewards. - The customer-side checkout shows a "Redeem points" widget (if the customer has any).
- The customer's account page shows a points balance widget at
/account/rewards.
The seed config_schema is empty — config is stored in the dedicated reward_config table, not in tenant_modules.settings.
Grant the privileges
The route group /api/v1/admin/rewards/*:
- GET routes (config, user list, user balance, user transactions) — gated only by the module + parent admin auth.
- POST / PUT routes (update config, adjust user points) — require
manage_rewards∨manage_promotions.
Configure the global rates
Open /admin/rewards/config (or Settings within the rewards admin):
| Knob | Default | Use |
|---|---|---|
points_per_unit | 1 | Earn this many points per $1.00 spent. 1 = 1 point per dollar. |
redemption_rate | 1 | Each point is worth this many cents (minor units) at redemption. 1 = 1 cent per point. |
min_redeem_points | 100 | Customer can't redeem less than this. |
max_redeem_percentage | 30 | Cap on % of order total redeemable as points. |
expiry_days | 365 | Earned points expire after this many days. 0 = never. |
The defaults give you "1 point per $1, each point worth 1 cent (1% back), customer needs 100 pts ($1) to start redeeming, can pay up to 30% of an order with points, points expire in a year". A modest starter — raise the rate for promotions.
Turn on bonus points (optional)
Under Admin → Rewards → Settings → Bonus points, enter the points for any of these and save. Leave 0 to keep one off.
- Signup bonus: once, when a customer creates an account.
- Review bonus: when a review of a product the customer received is published. You can set a monthly limit.
- Referral bonus and welcome bonus for the invited friend: both are paid when a friend who signed up through a customer's invite link completes their first order. You can set a monthly limit.
- Birthday bonus: once a year, on the date in the customer's Birth Date profile field.
See Earning rules for exactly when each one pays and when it is taken back.
Smoke-test
- Make a test customer.
- Place a $100 order and mark it completed.
- Check
/admin/rewards/users/{user_id}→ balance should show 100 pts. - Adjust manually with the Adjust button — credit / debit any amount with a description.
- At checkout on a second order, the customer's redeem widget should show "100 points ($1.00) available, redeem up to $X.XX".
