Braze - Integration Document

Written By Devin O'Neill ()

Updated at April 16th, 2025

Objective 

The objective of this document is to understand how the Annex Cloud (AC) loyalty program integrates with Braze ESP. It provides configuration details and explains the transfer of loyalty data from Annex Cloud to Braze.

Configuration Process

Sign-up to Braze

Access the Braze platform at Log in to Braze | Braze with the credentials provided by Annex Cloud.

Upon logging into the site, you will see the dashboard page as shown below:

Generate REST API keys

Visit the Developer Console page, where you have two options:

  1. Find an existing API key to use for the integration process.
  2. Create a new API key for the integration process.

To create a new API key, click Create API Key, as shown below.

API limits: Most APIs from Braze have a default rate limit of 250,000 requests per hour. However, some specific APIs have individually assigned rate limits to manage high data volumes across their customer base.
 

REST API key security settings

The generated API keys are highly sensitive and must only be shared with trusted members. To secure the generated key, navigate to Settings > APIs and Identifiers, then click the API key you wish to set permissions for by selecting the appropriate checkboxes. After saving the API key, it cannot be edited.

Custom Attributes for member details  

Custom attributes are unique traits which define members. It can be used to store information about members and their activities.

On a member's profile, you will find the Custom Attributes section, which provides the following options:

  1. View an existing Custom Attribute: You can access and review the details of any custom attribute which has been created.
  2. Block an existing Custom Attribute: If you choose to block a custom attribute, no further data will be collected regarding that attribute. Existing data will be unavailable unless the attribute is reactivated, and blocked attributes will not appear in any filters. For more information about active and inactive profiles, refer: User Archival
  3. Create a new Custom Attribute: To create and manage custom attributes, navigate to Data Settings > Custom Attributes and click Add custom attributes.

Custom attribute data types 

Custom attributes support the following data types:

  • Booleans 
  • Numbers 
  • Strings 
  • Arrays 
  • Time 
  • Objects

Track User API Endpoint

Use the User API URL: https://rest.iad-03.braze.com/users/track to track member records, including custom events, purchases, and attributes.

Request body 

Content-Type: application/json Authorization: Bearer YOUR-REST-API-KEY { "attributes" : (optional, array of attributes object) }

For the above endpoint, Braze applies a base speed limit of 50000 requests per minute for all members. Each request can consist of up to 75 events, 75 attribute updates, and 75 purchases.

 

Braze API Integration with Annex Cloud Loyalty Program 

Check Authentication API

To check the API data, use the following API by providing the site ID, platform name, and API key. If the credentials are found in the database, it will return a credentials matched message. If the credentials do not match the database, a invalid credentials message will be returned.

Request

{   "site_id": "xxxx",   "platform":"xx",  "api_key":"exx2xx7c-xxxx-4154-xxxx-91xxxxd1" }

Valid Response  

{     "error_code": "0",     "message": "Credentials Matched." }

 Invalid Response 

{     "error_code": "1",     "message": "Invalid Credentials." }

Status Code: 200 OK 

Add or Update a Contact

This method is used to add a member or update the member's profile information. You need to provide the details of the parameters you wish to update.

Request

{ 
    "site_id": "xxx", 
    "esp_id": "xx", 
    "configure_id": "xx", 
    "serviceId": "xx", 
    "data": [ 
               { 
                "email": "test_user_***@gmail.com", 
                "first_name": "annex", 
                "last_name": "cloud", 
                "available_points": "4000", 
                "lifetime_points": "2000", 
                "curren_tier": "Prefered customer" 
            }, 
            { 
                "email": "test_user_***@gmail.com", 
                "first_name": "sample", 
                "last_name": "test", 
                "available_points": "5000", 
                "lifetime_points": "2000", 
                "curren_tier": "Prefered customer" 
            } 
    ] 
}

Response

{ 
            "attributes_processed": 1, 
            "message": "success" 
        }, 
        { 
            "attributes_processed": 1, 
            "message": "success" 
        } 

Status Code: 200 OK 

API Errors

The system returns specific messages indicating whether the payload was successful or failed.