Skip to content

Code Examples

Practical examples for common WalletPass.ai workflows.

Complete Workflow: Register Member and Create Pass

Step 1: Register a Member

bash
curl -X POST https://member.walletpass.ai/v1/members/register \
  -H "Content-Type: application/json" \
  -H "X-API-Key: wp_864e820cbbabce90ead1bc429eec64ed" \
  -d '{
    "member_id": "MEMBER-001",
    "member_name": "John Doe",
    "member_email": "john@example.com",
    "phone_number": "+1234567890"
  }'

Response:

json
{
  "status": "success",
  "data": {
    "id": "550e8400-e29b-41d4-a716-446655440000",
    "member_id": "MEMBER-001",
    "member_name": "John Doe",
    "points": 0,
    "tier": "bronze"
  }
}

Step 2: Create Apple Wallet Pass

bash
curl -X POST https://generate.walletpass.ai/v1/passes/create-from-member \
  -H "Content-Type: application/json" \
  -H "X-API-Key: wp_864e820cbbabce90ead1bc429eec64ed" \
  -d '{
    "member_id": "MEMBER-001",
    "pass_type": "apple",
    "company_name": "My Company"
  }'

Response:

json
{
  "status": "success",
  "data": {
    "pass_id": "pass-uuid-here",
    "download_url": "/v1/passes/pass-uuid-here/download"
  }
}

Step 3: Download Pass

bash
curl -H "X-API-Key: wp_864e820cbbabce90ead1bc429eec64ed" \
  -O https://generate.walletpass.ai/v1/passes/pass-uuid-here/download

Step 4: Add Points and Update Pass

bash
curl -X PUT https://member.walletpass.ai/v1/members/MEMBER-001/points \
  -H "Content-Type: application/json" \
  -H "X-API-Key: wp_864e820cbbabce90ead1bc429eec64ed" \
  -d '{
    "points": 50,
    "operation": "add",
    "description": "Welcome bonus"
  }'

The pass will automatically update on the device if it's already added to Apple Wallet.


Creating a Membership Program with Tiers

Step 1: Define Membership Tiers

bash
curl -X POST https://member.walletpass.ai/v1/memberships \
  -H "Content-Type: application/json" \
  -H "X-API-Key: wp_864e820cbbabce90ead1bc429eec64ed" \
  -d '{
    "name": "Loyalty Program",
    "tiers": [
      {
        "tier_name": "bronze",
        "min_points": 0,
        "max_points": 100
      },
      {
        "tier_name": "silver",
        "min_points": 101,
        "max_points": 200
      },
      {
        "tier_name": "gold",
        "min_points": 201,
        "max_points": 0
      }
    ]
  }'

Step 2: Register Member

bash
curl -X POST https://member.walletpass.ai/v1/members/register \
  -H "Content-Type: application/json" \
  -H "X-API-Key: wp_864e820cbbabce90ead1bc429eec64ed" \
  -d '{
    "member_id": "MEMBER-002",
    "member_name": "Jane Smith",
    "member_email": "jane@example.com"
  }'

Step 3: Add Points (Tier Auto-Updates)

bash
# Add 150 points - member will automatically move to "silver" tier
curl -X PUT https://member.walletpass.ai/v1/members/MEMBER-002/points \
  -H "Content-Type: application/json" \
  -H "X-API-Key: wp_864e820cbbabce90ead1bc429eec64ed" \
  -d '{
    "points": 150,
    "operation": "add",
    "description": "Purchase points"
  }'

Using Pass Styles

Step 1: Create a Pass Style

bash
curl -X POST https://generate.walletpass.ai/v1/pass-styles \
  -H "Content-Type: application/json" \
  -H "X-API-Key: wp_864e820cbbabce90ead1bc429eec64ed" \
  -d '{
    "name": "Premium Orange",
    "is_default": false,
    "brand_colors": {
      "foreground_color": "rgb(255,255,255)",
      "background_color": "rgb(255, 107, 53)",
      "label_color": "rgb(255,255,255)"
    },
    "barcode": {
      "format": "PKBarcodeFormatQR"
    },
    "primary_fields": [
      {
        "key": "tier",
        "label": "Membership",
        "value": "{tier}"
      }
    ]
  }'

Response:

json
{
  "status": "success",
  "data": {
    "id": "style-uuid-here"
  }
}

Step 2: Create Pass with Style

bash
curl -X POST https://generate.walletpass.ai/v1/passes/create-from-member \
  -H "Content-Type: application/json" \
  -H "X-API-Key: wp_864e820cbbabce90ead1bc429eec64ed" \
  -d '{
    "member_id": "MEMBER-001",
    "pass_type": "apple",
    "company_name": "My Company",
    "pass_style_id": "style-uuid-here"
  }'

Dynamic Styling with Style Groups

Step 1: Create Multiple Styles

bash
# Bronze style
curl -X POST https://generate.walletpass.ai/v1/pass-styles \
  -H "Content-Type: application/json" \
  -H "X-API-Key: wp_864e820cbbabce90ead1bc429eec64ed" \
  -d '{
    "name": "Bronze Style",
    "brand_colors": {
      "background_color": "rgb(205, 127, 50)"
    }
  }'

# Silver style
curl -X POST https://generate.walletpass.ai/v1/pass-styles \
  -H "Content-Type: application/json" \
  -H "X-API-Key: wp_864e820cbbabce90ead1bc429eec64ed" \
  -d '{
    "name": "Silver Style",
    "brand_colors": {
      "background_color": "rgb(192, 192, 192)"
    }
  }'

Step 2: Create Style Group

bash
curl -X POST https://generate.walletpass.ai/v1/style-groups \
  -H "Content-Type: application/json" \
  -H "X-API-Key: wp_864e820cbbabce90ead1bc429eec64ed" \
  -d '{
    "name": "Tier Colors",
    "rules": [
      {
        "pass_style_id": "bronze-style-uuid",
        "min_points": 0,
        "max_points": 100
      },
      {
        "pass_style_id": "silver-style-uuid",
        "min_points": 101,
        "max_points": 200
      }
    ]
  }'

Step 3: Attach Style Group to Member

bash
curl -X PUT https://member.walletpass.ai/v1/members/MEMBER-001 \
  -H "Content-Type: application/json" \
  -H "X-API-Key: wp_864e820cbbabce90ead1bc429eec64ed" \
  -d '{
    "style_group_id": "style-group-uuid"
  }'

Step 4: Create Pass (Style Auto-Selected by Points)

bash
curl -X POST https://generate.walletpass.ai/v1/passes/stylegroup/create-from-member \
  -H "Content-Type: application/json" \
  -H "X-API-Key: wp_864e820cbbabce90ead1bc429eec64ed" \
  -d '{
    "member_id": "MEMBER-001",
    "pass_type": "apple",
    "company_name": "My Company",
    "style_group_id": "style-group-uuid"
  }'

The system will automatically select the appropriate style based on the member's current points.


Google Wallet Pass Creation

Step 1: Register Member

bash
curl -X POST https://member.walletpass.ai/v1/members/register \
  -H "Content-Type: application/json" \
  -H "X-API-Key: wp_864e820cbbabce90ead1bc429eec64ed" \
  -d '{
    "member_id": "MEMBER-003",
    "member_name": "Bob Wilson",
    "member_email": "bob@example.com"
  }'

Step 2: Create Google Wallet Pass

bash
curl -X POST https://generate.walletpass.ai/v1/passes/create-from-member \
  -H "Content-Type: application/json" \
  -H "X-API-Key: wp_864e820cbbabce90ead1bc429eec64ed" \
  -d '{
    "member_id": "MEMBER-003",
    "pass_type": "google",
    "company_name": "My Company",
    "external_id": "EXT-MEMBER-003"
  }'

Response:

json
{
  "status": "success",
  "data": {
    "pass_id": "google-pass-id",
    "pass_url": "https://pay.google.com/gp/v/save/...",
    "pass_type": "google"
  }
}

Step 3: Use Pass URL

Open the pass_url in a browser on an Android device, or use it in your app to add the pass to Google Wallet.


Sending Pass via SMS

Option 1: Send by Member ID

bash
curl -X POST 'https://generate.walletpass.ai/v1/distribution/send-pass-sms?dry_run=1' \
  -H "Content-Type: application/json" \
  -H "X-API-Key: wp_864e820cbbabce90ead1bc429eec64ed" \
  -d '{
    "member_id": "MEMBER-001",
    "phone_number": "+1234567890"
  }'

Option 2: Send by Pass ID

bash
curl -X POST 'https://generate.walletpass.ai/v1/distribution/send-pass-sms?dry_run=1' \
  -H "Content-Type: application/json" \
  -H "X-API-Key: wp_864e820cbbabce90ead1bc429eec64ed" \
  -d '{
    "pass_id": "pass-uuid-here",
    "phone_number": "+1234567890"
  }'

Remove ?dry_run=1 to actually send the SMS.


Points Operations

Add Points

bash
curl -X PUT https://member.walletpass.ai/v1/members/MEMBER-001/points \
  -H "Content-Type: application/json" \
  -H "X-API-Key: wp_864e820cbbabce90ead1bc429eec64ed" \
  -d '{
    "points": 25,
    "operation": "add",
    "description": "Purchase bonus"
  }'

Subtract Points (Redeem)

bash
curl -X PUT https://member.walletpass.ai/v1/members/MEMBER-001/points \
  -H "Content-Type: application/json" \
  -H "X-API-Key: wp_864e820cbbabce90ead1bc429eec64ed" \
  -d '{
    "points": 10,
    "operation": "subtract",
    "description": "Reward redeem"
  }'

Set Points (Admin Override)

bash
curl -X PUT https://member.walletpass.ai/v1/members/MEMBER-001/points \
  -H "Content-Type: application/json" \
  -H "X-API-Key: wp_864e820cbbabce90ead1bc429eec64ed" \
  -d '{
    "points": 100,
    "operation": "set",
    "description": "Admin adjustment"
  }'

Complete Multi-Pass Workflow

Register Member and Create Both Pass Types

bash
# 1. Register member
curl -X POST https://member.walletpass.ai/v1/members/register \
  -H "Content-Type: application/json" \
  -H "X-API-Key: wp_864e820cbbabce90ead1bc429eec64ed" \
  -d '{
    "member_id": "MEMBER-004",
    "member_name": "Alice Brown",
    "member_email": "alice@example.com"
  }'

# 2. Create Apple Wallet pass
curl -X POST https://generate.walletpass.ai/v1/passes/create-from-member \
  -H "Content-Type: application/json" \
  -H "X-API-Key: wp_864e820cbbabce90ead1bc429eec64ed" \
  -d '{
    "member_id": "MEMBER-004",
    "pass_type": "apple",
    "company_name": "My Company"
  }'

# 3. Create Google Wallet pass
curl -X POST https://generate.walletpass.ai/v1/passes/create-from-member \
  -H "Content-Type: application/json" \
  -H "X-API-Key: wp_864e820cbbabce90ead1bc429eec64ed" \
  -d '{
    "member_id": "MEMBER-004",
    "pass_type": "google",
    "company_name": "My Company",
    "external_id": "EXT-MEMBER-004"
  }'

# 4. Get member with all passes
curl -H "X-API-Key: wp_864e820cbbabce90ead1bc429eec64ed" \
  https://member.walletpass.ai/v1/members/MEMBER-004

The response will include both passes in the passes array.

WalletPass.ai Documentation