Changelog
Product updates and API changes.
Featurev1.9.028 May 2026
Official Node.js SDK
- npm install @loyalty/node — zero-dependency SDK for Node.js 18+ using native fetch
- Full TypeScript types for every request, response, and webhook event
- LoyaltyClient covers evaluate, redeem, redeemQuote, simulate, getBurnRate, getMember, getBalance
- LoyaltyClient.verifyWebhook() — constant-time HMAC-SHA256 signature verification
- LoyaltyError follows RFC 7807 Problem Details with typed code, status, context, and requestId
Improvementv1.8.127 May 2026
Stamp card reward types expanded
- DISCOUNT_VOUCHER and FREE_ITEM now supported as stamp card completion rewards
- DISCOUNT_VOUCHER carries discountType (PERCENTAGE | FIXED), value, and description
- FREE_ITEM carries description and optional skus array for SKU-targeted fulfilment
- Stamp card builder in merchant portal updated to configure all five reward types
Featurev1.8.024 May 2026
Member Events API
- New POST /members/:id/events endpoint for lifecycle events (BIRTHDAY, ANNIVERSARY, REFERRAL, etc.)
- Events trigger campaign rules and return pointsAwarded + pointsBalance
- CUSTOM event type with arbitrary metadata payload
- Idempotent via ref field
Featurev1.7.018 May 2026
Reward types expanded
- Added DISCOUNT_VOUCHER and FREE_ITEM reward types alongside POINTS
- Rewards carry a typed value object (code, discount_cents, item_sku)
- GET /members/:id/rewards — cursor-paginated list with state filtering
Featurev1.6.010 May 2026
Tiers & lifetime points
- Bronze / Silver / Gold tier system with earn multipliers
- Tier upgrades fire member.tier_changed webhook event
- lifetimePoints tracked separately from spendable balance
- Tier benefits: earn multiplier, exclusive campaigns, free rewards, labels
Improvementv1.5.028 April 2026
Developer Console
- Request log viewer with method / status / latency filtering
- Click any row to inspect full request + response JSON
- Sandbox reset button — wipes all test transactions, members, and rewards
Featurev1.4.014 April 2026
Stamp Cards
- STAMP_CARD earning rule — award a stamp per transaction
- GET /members/:id/stamps — per-campaign stamp progress
- Reward issued automatically on card completion
Improvementv1.3.030 March 2026
Simulation & saved scenarios
- POST /developer/simulate — dry-run basket against active campaigns
- Save and replay named scenarios from the merchant portal
- Simulations never write to the database
Launchv1.0.01 March 2026
General availability
- POST /transactions/evaluate — earn points for a purchase
- POST /transactions/redeem — convert points to a rand discount
- Campaign CRUD with SPEND_PERCENTAGE and FIXED_POINTS earning rules
- POPIA-compliant member management with right-to-erasure
- Webhook delivery with HMAC-SHA256 signatures