Generation is reference-only. The integration cannot personalize the pass (no custom fields,
colors, or templates). Zupy builds it from the data and wallet template the merchant already
configured — exactly the same pass the customer would get from the program landing page.
How it works
Both the program landing page and the partner API use the same generator (PassGenerationService). The only difference is delivery:
The
pass_url is the same Apple .pkpass URL / Google Wallet save link the LoyaltyCard carries.
The customer opens it to add the card to their wallet.
Generate a loyalty card pass
Response (201)
pass_url to the customer (link, button, QR). Opening it adds the card to their wallet.
Generate a coupon pass
Check pass status
List a customer’s passes
Know if the customer installed the pass (and on which platform)
Before firing a push notification, you usually want to know whether the customer actually added the pass to their wallet — and on which platform — so you can act intelligently (e.g. show an “Add to Wallet” prompt instead of pushing into the void, or send an SMS fallback when no wallet install exists).Send a push notification to the wallet pass
Push an update + message into the customer’s wallet pass. The notification fans out automatically to all platforms the customer has the pass installed on — Apple (APNs silent push → iPhone re-downloads the pkpass with the new back-field message) and Google (server-side PATCH on the Wallet object → surfaces in the user’s Google Wallet feed).
Response — 202 Accepted
When to use each type
The choice doesn’t change delivery behavior — it’s metadata that helps the customer’s wallet UI group similar notifications. Pick the one that best matches the trigger.
Notification errors
What the customer actually sees
- iPhone (Apple Wallet): silent APNs push (no banner) → Wallet quietly re-downloads the pkpass → the back-field
"Última Mensagem"updates to yourmessage. The pass icon may pulse briefly on the lock screen depending on iOS settings. - Android (Google Wallet): server-side
objects.patch→ notification appears in the Google Wallet feed with the merchant’s class branding. May trigger a system notification on the device depending on the user’s Wallet notification settings.
GET /v1/passes/.../ and bypasses any stale cache.
Wallet endpoints require a read-write API key (they create passes). Read-only keys get
403 on the create endpoints.