circle-exclamation
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.

chevron-rightReal-world exampleshashtag
  • 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

chevron-rightAre these events real-time?hashtag

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.

chevron-rightWhat happens if my API is down?hashtag

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.

chevron-rightCan I use this to trigger emails or push campaigns?hashtag

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.

chevron-rightWhat is included in additionalInformation?hashtag

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