Events: Subscribe to all our events

Receive real-time webhooks for all 18 customer events — authentication, payloads, and retry logic explained

JeriCommerce tracks every meaningful customer interaction on your loyalty program. When you connect the Custom API integration, all events are sent as HTTP POST webhooks to your configured endpoint — giving you full flexibility to build custom automations, sync data, or trigger workflows in any system.

Set up

Add your webhook endpoint in Settings → Integrations → API, toggle the Events feature on, and save. From that moment, every customer event fires a POST request to your URL.

Authentication

Every request includes an x-jericommerce-hmac-sha256 header containing a signature encrypted with HMAC-SHA256 using the secret displayed on the integration page. Validate this signature on your server to confirm the request comes from JeriCommerce and prevent spoofing.

The event type is sent in the x-jericommerce-event-type header — use it to route the payload to the right handler.

Retries

If your endpoint returns a non-2xx response, JeriCommerce retries the delivery up to 10 times with exponential backoff. Make sure your endpoint is idempotent so retries don't create duplicate actions.

Base payload

All webhooks share this base structure:

{
  "email": "customer@example.com",
  "id": "event-uuid",
  "customerId": "customer-uuid",
  "campaignId": "campaign-uuid",   // optional
  "url": "https://...",             // optional
  "browser": "Chrome 120",          // optional
  "createdAt": "2026-03-08T12:00:00Z",
  "properties": { ... }             // event-specific data
}

All events

Below is the complete list of 18 events sent to your webhook. The Event name column matches the value in the x-jericommerce-event-type header.

#Event nameWhen it fires
Customer
1Customer createdA new customer is registered (not during initial sync)
2Customer birthdayScheduled daily job checks customer birthdates (runs around 9:00 AM UTC)
3Customer scannedCustomer scans an NFC code at a physical location via Shopify POS
4Customer tappedCustomer taps a VTAP/NFC device
Wallet pass
5Wallet pass requestedCustomer requests a wallet pass download link
6Wallet pass installedCustomer adds the pass to Apple Wallet or Google Wallet
7Wallet pass uninstalledCustomer removes the pass from their wallet
Loyalty
8Balance changedLoyalty points are added or removed (purchases, refunds, manual adjustments)
9Tier changedCustomer's loyalty tier changes (recalculated daily at 5:00 AM or on balance change)
Coupons
10Coupon assignedA coupon code is assigned to a customer
11Coupon pass installedCustomer adds a coupon pass to Apple/Google Wallet
12Coupon pass uninstalledCustomer removes a coupon pass from their wallet
Gift cards
13Gift card sentAdmin sends a gift card to a customer
Rewards
14Reward redeemableA reward becomes available for the customer to redeem
15Reward redeemedCustomer redeems a reward
16Reward refundedAdmin refunds a previously redeemed reward
Engagement
17Wallet clickCustomer clicks a link inside their wallet pass
18Wallet visitCustomer visits/opens their wallet pass web app

Event properties

Each event includes specific data in the properties object. Here is what you can expect for each event type.

EventKey properties
Customer createdemail, origin, referral, utmCampaign, utmMedium, utmSource, firstName, lastName, phoneNumber
Customer birthdayage (calculated from birthdate)
Customer scannedLocation and device context
Customer tappedDevice context
Wallet pass requestedemail, referral, downloadLink, utmCampaign, utmSource, utmMedium
Wallet pass installedreferral, utmCampaign, utmSource, utmMedium
Wallet pass uninstalledreferral, utmCampaign, utmSource, utmMedium
Balance changedamount, reference, previous balance info
Tier changedprevious (tier name), current (tier name)
Coupon assignedcode, header, body, slug, assignedFrom, installUrl
Coupon pass installedreferral, utmCampaign, utmSource, utmMedium
Coupon pass uninstalledreferral, utmCampaign, utmSource, utmMedium
Gift card sentcode, header, body, slug, assignedFrom, installUrl, mailSent
Reward redeemablerewardId, rewardLink
Reward redeemedrewardId, rewardLink, rewardTitle
Reward refundedclaimId
Wallet clickurl, browser, utmCampaign, utmSource ("wallet"), utmMedium ("wallet_pass")
Wallet visitname, url, browser, referral, utmCampaign, utmSource, utmMedium

You're all set! Your endpoint will now receive real-time data for every customer interaction on JeriCommerce.

Topics

Integrations