Braze Integration Guide

Overview #

Looking to embed Apple Wallet or Google Wallet passes directly in your Braze-powered emails and customer journeys? Litecard integrates seamlessly with Braze’s open APIs to generate and manage wallet passes – digital loyalty cards, membership passes, or coupons. All of which can be updated dynamically and tracked throughout the customer lifecycle.

Litecard uses Braze’s:

  • User Track API to update customer attributes with wallet links
  • External ID or custom ID to reference customers
  • Real-time triggers to keep the pass synced (tier, expiry, subscription status)

Why Brands Use Litecard with Braze

  • Issue Apple & Google Wallet passes via email, SMS or in-app
  • Personalise pass content using Braze customer attributes
  • Push loyalty tiers, expiry dates, and QR codes into the wallet
  • Update wallet pass when customer data changes
  • Track download or delete events for re-engagement
  • Run everything via Braze’s open API and Litecard’s pre-built automation with Braze – no third-party app required

Step 1: Set Up a Unique Customer ID Inside Braze

To connect Braze and Litecard, assign each customer a unique ID using:

  • external_id — Braze’s required user key
  • or custom attributes like loyalty_id, member_id, etc.

Example Braze user profile:

{

  “external_id”: “user_321”,

  “email”: “alex@example.com”,

  “first_name”: “Alex”,

  “custom_attributes”: {

    “tier”: “Gold”,

    “loyalty_id”: “LC321”

  }

}

Litecard will use this ID to reference the customer when calling the createCard API.

Step 2: Trigger Litecard Wallet Pass Creation When a Customer Is Added

Listen for new Braze user creation and trigger the creation of a Litecard wallet pass.

Integration Flow #

  1. Braze user is created (via website signup, app, POS, etc.)
  2. Middleware (or CDP like Segment) captures the event
  3. Middleware calls Litecard API to generate wallet pass
  4. Wallet pass links are returned (Apple, Google, QR)
  5. Middleware calls Braze’s User Track API to update the customer profile

Litecard API Example #

POST /api/v1/card

{

  “templateId”: “your-template-id”,

  “cardPayload”: {

    “email”: “alex@example.com”,

    “firstName”: “Alex”,

    “loyaltyId”: “LC321”,

    “tier”: “Gold”

  }

}

Response #

{

  “cardId”: “abc321”,

  “downloadLink”: “https://litecard.io/pass/abc321”,

  “applePassLink”: “https://litecard.io/apple/abc321”,

  “googlePassLink”: “https://litecard.io/google/abc321”,

  “qrCodeUrl”: “https://litecard.io/qr/abc321.png”

}

Step 3: Update Braze User with Wallet Pass Info

Use Braze’s User Track API to attach the wallet data as custom attributes:

POST https://rest.iad-01.braze.com/users/track

{

  “attributes”: [

    {

      “external_id”: “user_321”,

      “custom_attributes”: {

        “wallet_download_link”: “https://litecard.io/pass/abc321”,

        “qr_code_url”: “https://litecard.io/qr/abc321.png”

      }

    }

  ]

}

Now you can personalise Braze emails with dynamic fields like:

  • {{custom_attribute.${wallet_download_link}}}
  • {{custom_attribute.${qr_code_url}}}

Step 4: Embed Wallet Pass in Braze Emails

Inside your email templates:

  • Add a CTA Button with URL: {{custom_attribute.${wallet_download_link}}}
  • Embed QR Code Image using: {{custom_attribute.${qr_code_url}}}

Recommended CTAs:

  • “Add to Apple Wallet / Google Wallet”
  • “Unlock your rewards pass”
  • “Tap to claim your exclusive offer”

You can also add conditional logic if needed for segmentation.

Step 5: Automatically Update Wallet Pass When User Attributes Change

When user profile data in Braze changes (e.g. name, email, tier level, subscription expired), call Litecard’s PATCH API to update the wallet pass contents live.

Example: #

PATCH /api/v1/card

{

  “cardId”: “abc321”,

  “cardPayload”: {

    “email”: “alex.new@example.com”,

    “tier”: “Platinum”,

    “subscriptionStatus”: “expired”

  }

}

This keeps the wallet pass synced to the customer’s real status – no re-sending required.

Step 6: Track Wallet Downloads & Deletions in Braze

Litecard provides webhook events such as:

  • CARD_CREATE – pass issued
  • CARD_DOWNLOAD – user saved to wallet
  • CARD_REMOVE – user deleted pass
  • CARD_UPDATE – pass updated (e.g. new tier)

Your middleware or automation system can consume these events and call the Braze Track API to:

  • Add tags or segments
  • Trigger re-engagement campaigns
  • Send reminders to download the wallet
  • Update lifecycle journeys

Example webhook to Braze: #

POST /users/track

{

  “events”: [

    {

      “external_id”: “user_321”,

      “name”: “Wallet Downloaded”,

      “time”: “2025-11-02T10:00:00Z”

    }

  ]

}

Use Cases

  • New Member Onboarding:
    Send the wallet card in welcome journey email
  • Subscription Management:
    Update wallet content when membership status changes
  • Loyalty Tier Changes:
    Push tier change to wallet & email user with CTA
  • Time-sensitive Offers:
    Deliver mobile coupons that can expire or refresh
  • Reactivation Campaigns:
    Resend wallet links if deleted, or use in-app message with a download button

Need Help?

Litecard offers:

  • Full-service API integration with Braze
  • Wallet pass design and automation
  • Middleware setup (Node.js, serverless, or Zapier)
  • Personalised Braze email templates with wallet support
  • Loyalty, membership, and promo use cases

Contact: hello@litecard.com.au
Docs
: litecard.com.au/docs

Updated on November 4, 2025