Skip to content

Punchh

Punchh is an industry-leading loyalty and engagement platform that enables brands to deliver omnichannel customer loyalty programs both in-store and digitally.

The Braze and Punchh integration allows you to sync data for gifting and loyalty purposes across the two platforms. Data published in Braze will be available for segmentation and can sync user data back into Punchh via Braze webhooks.

Prerequisites

Requirement Description
Punchh Account You need an active Punchh account to take advantage of this partnership.
Braze REST API key A Braze REST API key with users.track permissions.

This can be created within the Braze Dashboard > Developer Console > REST API Key > Create New API Key.
Braze REST Endpoint Your REST Endpoint URL. Your endpoint depends on the Braze URL for your instance.

Integration

Punchh offers several endpoints available to Braze customers to help add external IDs into the Punchh platform using the following Punchh API endpoints. Once the external IDs have been added, create an adapter in Punchh, provide your Braze credentials, and select which events you’d like to sync. Next, you can take the Punchh segment ID and use it to build a Punchh webhook to trigger customer syncing in a Canvas journey.

Available Events to Sync

  1. Guest
  2. Loyalty Check-in
  3. Gift Check-in
  4. Redemption
  5. Rewards
  6. Transaction Notifications
  7. Marketing Notifications

Step 1: Set up external ID ingestion endpoints

External IDs from Braze can be added using the following endpoints for new and existing Punchh users.

  1. New Punchh users
    Create new users in Punchh with a Punchh signup endpoint using the external_source and external_source_id fields. Punchh allows external identifiers to be sent with a user profile via one of the following signup endpoints:
  2. Existing Punchh users
    Update external_source_id for existing Punchh users. Punchh allows external identifiers to be added to a profile via a user API update endpoint:

This example allows you to update external identifiers with a user profile. This is done by sending external_source as “customer_id” and external_source_id as “556644557788334412” as a string data type.

1
2
3
4
5
6
7
8
9
10
11
12
13
curl --location --request PUT 'https://sandbox.punchh.com/api2/mobile/users' \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--header 'Accept-Language: en' \
--header 'x-pch-digest: 953d896eebfdb5a84aacb9d1b8eaae1fa0cd710b68bcd3b2324415ac40fee99c' \
--header 'Authorization: Bearer c90b819bf962db9882eeac6993b57c0a22816ecad0e5229b27320d63' \
--data-raw '{
    "client":"1533b61caecafea4303aa1f4bad8321d6d8e7a843593e4a0e0024ae0d30b",
    "user": {
        "external_source":"customer_id",
        "external_source_id":"556644557788334412"
    }
}'

Step 2: Braze adapter setup in Punchh

To set up the Braze and Punchh integration:

  1. In the Punchh dashboard, navigate to Cockpit > Dashboard > Major Features > Enable Webhook Management and toggle on Enable Webhook Management.

  2. Next, enable adapters by navigating to Settings > Webhooks Manager > Configurations > Show Adapters Tab and toggle on Show Adapters Tab.

  3. Navigate to Webhooks Manager under the Settings tab, select the Adapters tab, and click Create Adapter.



  4. Fill in the adapter name, description, and admin email. Select Braze as your adapter and provide your Braze REST API endpoint and Braze API key.

  5. Next, select the available events you would like to enable. A list of these events can be found in Available events to sync.



  6. Click Submit to enable the webhook.

Step 3: Create Punchh webhook in Braze

The Braze and Punchh integration allows you to leverage Braze webhook capabilities to create Punchh segments:

  1. Create a custom segment in Punchh and note the custom_segment_id present in the Punchh segment dashboard URL.

    For example, the following page is located at www.dashboard.punchhtest.com/segments/11646. The number “11646” at the end of this link is the custom_segment_id.



  2. Create a webhook campaign in Braze using the Punchh endpoint for adding a user to a custom segment as the webhook URL. Here, you can provide the custom_segment_id and user_id as key-value pairs.



  3. Once the webhook is saved, it can be triggered in Canvas to sync users as shown in the following image:

    An example of syncing users using the saved webhook as a result of Braze and Punchh integration.

For more information on how webhooks are used at Braze, check out Creating a webhook.

WAS THIS PAGE HELPFUL?
New Stuff!