@masivo/rn. Web, native apps, email, and WhatsApp
share the same Storefront endpoints.
Prerequisites
Create a template
Templates live in Settings → Wallet passes → Templates. They are not HTML. Apple and Google only expose fixed slots. The dashboard preview matches those slots.1
Open Templates
Go to Settings → Wallet passes → Templates and click
New wallet pass template.
2
Set the alias and copy
Alias is internal (for example
KFC 500 points). On the pass itself:3
Pick colors
Use the color pickers for Background, Foreground (values), and
Label. Colors must be
#RRGGBB.4
Choose the barcode
Open the Actions tab. QR or Code 128 encodes the coupon code.
Stores scan that code at redemption. Optional back-of-pass label and URL
appear on Apple Wallet.
5
Upload images
Use PNG or JPEG. Prefer a square logo. Apple shows it as a small icon;
the header text is native, not part of the image.
6
Save
The templates table shows a scaled preview of the full pass. Hover to
zoom. Open the row to edit.
A pass already saved on a phone does not pick up template edits. The
customer must delete it from Wallet and tap Add to Apple Wallet or
Add to Google Wallet again. You do not need to redeem the code.
Enable it on a coupon campaign
1
Open the coupon
Go to Campaigns → Coupons and open the campaign.
2
Turn on Add to Wallet
Enable Allow Add to Wallet and select the template. Each visitor who
opens the campaign link gets the next unused coupon code. The same
phone keeps that code.
3
Save the campaign
Issuing a pass fails until Wallet is enabled and a template is selected.
Share the pass
CallPOST /coupons/wallet-passes
once per campaign. The same claim_url is returned if you call it again.
Read it later with
GET /coupons/wallet-passes.
Wrap it in a Masivo short link for email or WhatsApp.
Each new visitor who opens the URL receives the next available coupon code.
The same browser (cookie) keeps that code. If that pass was already redeemed,
expired, or revoked, the landing says so instead of issuing a new one. When the pool is empty the
landing says no coupons are left. Coupon redeem rules are unchanged.
The customer does not need your app installed to use
claim_url.
POST /coupons/wallet-passes stays authenticated. Do not unprotect issue.
On iPhone, tap Add to Apple Wallet. On Android, tap Add to Google Wallet
while signed into a demo tester Gmail
if the issuer is still in Demo mode.
Redeem
POST /coupons/redeem with the coupon
code and customer_id. A pass without a customer is assigned to that customer
on its first redeem. It stays CLAIMED while the customer has uses left and
becomes REDEEMED at the campaign limit per customer.
After redeem, reverse, expire, or revoke, Masivo updates the pass in Apple
Wallet and Google Wallet.