Skip to main content

Data Source

Follow the instructions below to create a new data flow that ingests data from a Braze source in Nexla.
braze_api.png

Braze

Create a New Data Flow

  1. To create a new data flow, navigate to the Integrate section, and click the New Data Flow button. Then, select the desired flow type from the list, and click the Create button.

  2. Select the Braze connector tile from the list of available connectors. Then, select the credential that will be used to connect to the Braze instance, and click Next; or, create a new Braze credential for use in this flow.

  3. In Nexla, Braze data sources can be created using pre-built endpoint templates, which expedite source setup for common Braze endpoints. Each template is designed specifically for the corresponding Braze endpoint, making source configuration easy and efficient.
    • To configure this source using a template, follow the instructions in Configure Using a Template.

    Braze sources can also be configured manually, allowing you to ingest data from Braze endpoints not included in the pre-built templates or apply further customizations to exactly suit your needs.
    • To configure this source manually, follow the instructions in Configure Manually.

Configure Using a Template

Nexla provides pre-built templates that can be used to rapidly configure data sources to ingest data from common Braze endpoints. Each template is designed specifically for the corresponding Braze endpoint, making data source setup easy and efficient.

Endpoint Settings

  • Select the endpoint from which this source will fetch data from the Endpoint pulldown menu. Available endpoint templates are listed in the expandable boxes below. Click on an endpoint to see more information about it and how to configure your data source for this endpoint.

    Get Campaign List

    This endpoint exports a list of campaigns from your Braze account. Each campaign includes its name, Campaign API Identifier, whether it is an API Campaign, and Tags associated with the campaign. Use this endpoint when you need to access campaign information for analysis, reporting, or to identify campaigns for use with other endpoints.

    • This endpoint automatically retrieves all campaigns from your Braze account. No additional configuration is required beyond selecting this endpoint template.
    • The endpoint uses GET requests to {instance_url}/campaigns/list where {instance_url} is your Braze REST instance URL from the credential configuration. The endpoint URL is automatically constructed based on your credential's instance URL configuration.
    • The endpoint uses incrementing page-based pagination, automatically fetching additional pages as needed using the page query parameter. The endpoint starts from page 0 and continues fetching pages until all available campaigns have been retrieved.
    • The endpoint will return all campaigns in your account. The response data is extracted from the campaigns array in the API response ($.campaigns[*]), with each campaign record processed individually.

    This endpoint supports pagination through the page query parameter. Nexla automatically handles pagination to retrieve all available records by incrementing the page number until no more data is returned. The endpoint uses incrementing page-based pagination (iteration.type: paging.incrementing), starting from page 0. The response data path is $.campaigns[*], which extracts all items from the campaigns array in the API response. Campaign IDs returned by this endpoint can be used in the "Get Campaign Analytics" endpoint. For detailed information about retrieving campaigns, see the Braze API documentation.

    Get Segment List

    This endpoint exports a list of segments from your Braze account. Each segment includes its name, Segment API Identifier, and whether it has analytics tracking enabled. Use this endpoint when you need to access segment information for analysis, reporting, or to identify segments for use with other endpoints.

    • This endpoint automatically retrieves all segments from your Braze account. No additional configuration is required beyond selecting this endpoint template.
    • The endpoint uses GET requests to {instance_url}/segment/list where {instance_url} is your Braze REST instance URL from the credential configuration. The endpoint URL is automatically constructed based on your credential's instance URL configuration.
    • The endpoint uses incrementing page-based pagination, automatically fetching additional pages as needed using the page query parameter. The endpoint starts from page 0 and continues fetching pages until all available segments have been retrieved.
    • The endpoint will return all segments in your account. The response data is extracted from the segments array in the API response ($.segments[*]), with each segment record processed individually.

    This endpoint supports pagination through the page query parameter. Nexla automatically handles pagination to retrieve all available records by incrementing the page number until no more data is returned. The endpoint uses incrementing page-based pagination (iteration.type: paging.incrementing), starting from page 0. The response data path is $.segments[*], which extracts all items from the segments array in the API response. Segment IDs returned by this endpoint can be used in the "Get Segment Analytics" endpoint. For detailed information about retrieving segments, see the Braze API documentation.

    Get Campaign Analytics

    This endpoint retrieves a daily series of various stats for a campaign over time. Use this endpoint when you need to access campaign performance metrics, engagement statistics, or analytics data for specific campaigns.

    • Select the campaign from which you want to retrieve analytics from the Campaign ID dropdown menu. The dropdown will display all available campaigns in your Braze account, showing campaign names with their corresponding Campaign API Identifiers. Campaign IDs can be obtained from the "Get Campaign List" endpoint.

    • Enter the date on which the data series should end in the Date for Series End (ISO DateTime) field. This must be an ISO8601 DateTime string (format: yyyy-MM-dd'T'HH:mm:ss'Z'). The default value is {now}, which represents the current time of the request.

    • Enter the maximum number of days before the ending date to include in the returned series in the Max Number of Days Before Ending At field. This value must be between 1 and 100 inclusive. The default value is 1 if not specified.

    • The endpoint uses GET requests to {instance_url}/campaigns/data_series?campaign_id={campaign_id}&length={length}&ending_at={ending_at} where {instance_url} is your Braze REST instance URL, {campaign_id} is the selected Campaign ID, {length} is the number of days, and {ending_at} is the ending date. The endpoint URL is automatically constructed based on your credential's instance URL configuration and the provided parameters.
    • The endpoint will return a daily series of campaign analytics data. The response data is extracted from the data array in the API response ($.data[*]), with each data point processed individually.
    • The endpoint does not use pagination and returns the complete analytics series in a single request.

    Campaign IDs can be obtained from the "Get Campaign List" endpoint, which returns all campaigns with their corresponding Campaign API Identifiers. The ending date must be in ISO8601 format (yyyy-MM-dd'T'HH:mm:ss'Z'). The length parameter must be between 1 and 100 days. The endpoint uses a static URL (iteration.type: static.url) and does not require pagination. The response data path is $.data[*], which extracts all items from the data array in the API response. For detailed information about retrieving campaign analytics, see the Braze API documentation.

    Get Segment Analytics

    This endpoint retrieves a daily series of various stats for a segment over time. Use this endpoint when you need to access segment performance metrics, growth statistics, or analytics data for specific segments.

    • Select the segment from which you want to retrieve analytics from the Segment ID dropdown menu. The dropdown will display all available segments in your Braze account, showing segment names with their corresponding Segment API Identifiers. Segment IDs can be obtained from the "Get Segment List" endpoint.

    • Enter the date on which the data series should end in the Date for Series End (ISO DateTime) field. This must be an ISO8601 DateTime string (format: yyyy-MM-dd'T'HH:mm:ss'Z'). The default value is {now}, which represents the current time of the request.

    • Enter the maximum number of days before the ending date to include in the returned series in the Max Number of Days Before Ending At field. This value must be between 1 and 100 inclusive. The default value is 1 if not specified.

    • The endpoint uses GET requests to {instance_url}/segments/data_series?segment_id={segment_id}&length={length}&ending_at={ending_at} where {instance_url} is your Braze REST instance URL, {segment_id} is the selected Segment ID, {length} is the number of days, and {ending_at} is the ending date. The endpoint URL is automatically constructed based on your credential's instance URL configuration and the provided parameters.
    • The endpoint will return a daily series of segment analytics data. The response data is extracted from the data array in the API response ($.data[*]), with each data point processed individually.
    • The endpoint does not use pagination and returns the complete analytics series in a single request.

    Segment IDs can be obtained from the "Get Segment List" endpoint, which returns all segments with their corresponding Segment API Identifiers. The ending date must be in ISO8601 format (yyyy-MM-dd'T'HH:mm:ss'Z'). The length parameter must be between 1 and 100 days. The endpoint uses a static URL (iteration.type: static.url) and does not require pagination. The response data path is $.data[*], which extracts all items from the data array in the API response. For detailed information about retrieving segment analytics, see the Braze API documentation.

Endpoint Testing

Once the selected endpoint template has been configured, Nexla can retrieve a sample of the data that will be fetched according to the current settings. This allows users to verify that the source is configured correctly before saving.

  • To test the current endpoint configuration, click the Test button to the right of the endpoint selection menu. Sample data will be fetched & displayed in the Endpoint Test Result panel on the right.

  • If the sample data is not as expected, review the selected endpoint and associated settings, and make any necessary adjustments. Then, click the Test button again, and check the sample data to ensure that the correct information is displayed.

Configure Manually

Braze data sources can be manually configured to ingest data from any valid Braze REST API endpoint. Manual configuration provides maximum flexibility for accessing endpoints not covered by pre-built templates or when you need custom API configurations.

With manual configuration, you can also create more complex Braze sources, such as sources that use chained API calls to fetch data from multiple endpoints or sources that require custom authentication headers or request parameters.

API Method

  1. To manually configure this source, select the Advanced tab at the top of the configuration screen.

  2. Select the API method that will be used for calls to the Braze API from the Method pulldown menu. The most common methods are:

    • GET: For retrieving data from the API
    • POST: For sending data to the API or triggering actions
    • PUT: For updating existing data
    • PATCH: For partial updates to existing data
    • DELETE: For removing data

API Endpoint URL

  1. Enter the URL of the Braze API endpoint from which this source will fetch data in the Set API URL field. This should be the complete URL including the protocol (https://) and any required path parameters. Braze API endpoints typically follow the pattern {instance_url}/{endpoint_path} where {instance_url} is your Braze REST instance URL.

Ensure the API endpoint URL is correct and accessible with your current credentials. You can test the endpoint using the Test button after configuring the URL. The endpoint requires Bearer token authentication in the Authorization header, which is handled automatically by your credential configuration. For detailed information about Braze API endpoints and available APIs, see the Braze API documentation.

Path to Data

  1. Enter the JSON path that identifies the location of the relevant data within the API response in the Path to Data field. JSON paths use dot notation to navigate through nested JSON structures.

    • For example, if your API response has the structure {"campaigns": [...]}, you would enter $.campaigns[*] to extract all items from the campaigns array.
    • Use $[*] to extract all items from a root-level array.
    • Use $ to extract the entire root-level object.

JSON paths are case-sensitive and must match the exact structure of your API response. Braze API responses typically use arrays like campaigns, segments, or data to contain the actual data. Use the Test button to verify that your JSON path correctly extracts the desired data from the API response.

Save the Data Source

  1. Once all configuration steps have been completed, click the Save button to save your data source configuration.

  2. The data source will now be available in your data flow and will begin ingesting data according to the configured schedule and endpoint settings.