4. Events: Subscribe to all our events

Get notified about all events from your customers on Jericommerce

Jericommerce stores all customer interactions on the platform. This data can be accessed through the endpoint configured in the settings when adding the integration.
After you add your webhook endpoint in the settings > Integrations > API, you will start to receive an object that explains the actions taken for the customer and the associated properties.

Authentification

All API requests will come with a header x-jericommerce-hmac-sha256 that includes a secret encrypted with the secret text displayed on the integration page.


This token is encrypted using HMAC-SHA256, which helps validate that each POST request is from us, thereby preventing scamming.

Type of event

The type of the event is defined in the header of each POST, specifically in the x-jericommerce-event-type header. This header will define the data of the request.

Here are the possible events that could be received:

Wallet click

A customer clicks one of the wallet links.

Wallet visit

A customer visits one of the pages of the jericommerce web app. but not from the wallet.

Wallet pass installed

The customer installs a wallet pass on their device, or deactivates and reactivates the auto updates from the wallet pass settings.

Wallet pass uninstalled

The customer uninstall a wallet pass on their device, or deactivate the auto updates from the wallet pass settings.

Customer scanned

When the Shopify POS app scans a wallet pass with the jericommerce tile.

Customer created

When a new customer is created inside jericommerce.

Wallet Pass Requested

When the customer requests the wallet from the webapp.

Content

All the webhooks come with a data object that may change depending on the event type. However, the base structure is often the same. Let's take a look at the base structure.

1// Data event type structure
2{
3  id: "string",
4  customerId: "string",
5  campaignId?: "string",
6  url?: "string",
7  browser?: "string",
8  createdAt: "string",
9  properties: object;
10}
11

The question mark (?) indicates that the value is optional and may or may not be present, depending on the event type.

Here are the different properties that may apply to each event type

1// Properties by event-type
2
3Wallet click: {
4  name: "Wallet click",
5  url: entity.url,
6  browser: entity.browser,
7  utm_campaign: entity.campaignId || "generic_link",
8  utm_source: "wallet",
9  utm_medium: "wallet_pass",
10  }
11Wallet visit: {
12  name: "Wallet visit",
13  url: entity.url,
14  browser: entity.browser,
15  utm_campaign: "generic_link",
16  utm_source: "wallet",
17  utm_medium: "wallet_pass",
18  }
19Wallet pass installed: {}
20Wallet pass uninstalled: {}
21Customer scanned: {
22  shopId: string,
23  userId: string,
24  shopDomain: string,
25  locationId: string,
26  staffMemberId: string
27}
28Customer created: {
29	email: string
30}


Related Guides
No items found.

Topics

Integrations