This documentation is currently under development. Certain sections are not yet complete and will be added shortly.

Pass installation and uninstallation hooks

Create a custom connector that calls your API when a pass is installed or uninstalled in Apple Wallet or Google Wallet.

It is possible to create a custom connector in The Wallet Crew to call an external API whenever a pass is installed or uninstalled on Apple Wallet or Google Wallet.

This allows Brands to synchronize installation status with external systems such as a CRM, analytics tool, or marketing automation platform.

Real-world examples
  • A retail Brand updates a CRM field like hasWalletPass=true right after installation. It then stops sending “add to wallet” reminders.

  • A ticketing Brand logs installs and uninstalls in its BI stack. It monitors adoption by event, channel, and device type.

  • A Brand triggers a welcome journey after installation. It uses registrationSource to segment by UTM campaign.

  • A Brand detects unusual uninstall spikes after a bad release. It rolls back quickly and communicates proactively.

Runtime Hooks

The platform exposes the following hooks on the runtime.wallet.passUpdater endpoint:

  • OnPassInstalled → Triggered when a pass is added to Apple/Google Wallet

  • OnPassUninstalled → Triggered when a pass is removed from Apple/Google Wallet

Both methods receive the same parameters:

Parameter
Type
Description

passId

string

Unique identifier of the pass

passType

string

Type of pass (loyalty, gift card, event ticket…)

identifiers

Record<string, any>

Key/value identifiers defined on the pass (e.g. customerId)

device

"apple" or "google"

Wallet platform

additionalInformation

AdditionalPassInstallationInformation

Includes registration statistics

Example Implementation

Scripts can be placed in the server/scripts folder under advanced configuration.

Minimal Example

For testing or logging only:

When Are Events Triggered?

  • OnPassInstalled → fired when a user successfully adds a pass to Apple or Google Wallet.

  • OnPassUninstalled → fired when a user removes the pass from their wallet.

  • Events are reliable: the platform ensures correct delivery even under high load.

Notes

  • fetch is not the standard browser fetch — it accepts PascalCase options (Method, Headers, Body, ThrowOnError).

  • Authentication is flexible: you may use API keys (via getSecret) or OAuth with the custom fetch.

  • There are no platform restrictions: execution is safe and fully managed.

FAQ

Are these events real-time?

They trigger when the pass is added or removed in the wallet. In practice, you should treat them as near real-time. Always design your API to be idempotent, so retries do not create duplicates.

What happens if my API is down?

Your connector code controls the call. You should handle timeouts and errors gracefully. If the external system is critical, implement retries and a dead-letter strategy on your side.

Can I use this to trigger emails or push campaigns?

Yes. The most common pattern is to call your marketing automation platform (directly or via your backend) and trigger a journey on install. Use uninstall events to stop or adapt communications.

What is included in additionalInformation?

It can include registration statistics and, when available, the installation source. Use it to measure adoption and attribute installs to a campaign or SDK integration.

Last updated