Skip to main content

Data Source

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

Choozle

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 Choozle connector tile from the list of available connectors. Then, select the credential that will be used to connect to the Choozle instance, and click Next; or, create a new Choozle credential for use in this flow.

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

    Choozle sources can also be configured manually, allowing you to ingest data from Choozle 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 Choozle endpoints. Each template is designed specifically for the corresponding Choozle 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 Account Information

    This endpoint fetches account information from your Choozle account. Use this endpoint when you need to access account details, account settings, or account metadata.

    • This endpoint automatically retrieves account information from your Choozle account. No additional configuration is required beyond selecting this endpoint template.
    • The endpoint uses GET requests to https://app.choozle.com/api/accounts. The endpoint URL is automatically constructed based on the Choozle API base URL.
    • The endpoint does not use pagination and returns the complete account information in a single request.
    • The endpoint will return all accounts in your Choozle account. The response data is extracted from the accounts array in the API response ($.accounts[*]), with each account record processed individually.

    The endpoint uses a static URL (iteration.type: static.url) and does not require pagination. The response data path is $.accounts[*], which extracts all items from the accounts array in the API response. For detailed information about retrieving account information, see the Choozle API documentation.

    Get Reports

    This endpoint fetches all reports available via the Choozle API. Use this endpoint when you need to access reporting data, campaign metrics, or performance analytics for a specific account and date range.

    • Enter the account ID for which you want to retrieve reports in the account_id field. This is the unique identifier of the Choozle account. The default value is 123 if not specified.

    • Enter the start date for the report range in the Start Date field. This should be a date in ISO 8601 format (e.g., 2023-11-11). You can also use Nexla macros like {now-1} for relative dates. The default value is {now-1} if not specified.

    • Enter the end date for the report range in the End Date field. This should be a date in ISO 8601 format (e.g., 2023-11-12). You can also use Nexla macros like {now} for relative dates. The default value is {now} if not specified.

    • The endpoint uses GET requests to https://app.choozle.com/api/reports?account_id={'{account_id}'}&date_start={'{date_start}'}&date_end={'{date_end}'} where {account_id}, {date_start}, and {date_end} are the parameters you provide. The endpoint URL is automatically constructed based on the Choozle API base URL and the provided parameters.
    • The endpoint does not use pagination and returns all available reports in a single request.
    • The endpoint will return all reports for the specified account and date range. The response data is extracted from the root-level array in the API response ($[*]), with each report record processed individually.

    Account IDs can be obtained from the "Get Account Information" data source endpoint, which returns all accounts with their corresponding IDs. Date parameters should be in ISO 8601 format (YYYY-MM-DD), or you can use Nexla macros like {now} for the current date or {now-1} for one day ago. The endpoint uses a static URL (iteration.type: static.url) and does not require pagination. The response data path is $[*], which extracts all items from the root-level array in the API response. For detailed information about retrieving reports, see the Choozle 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

Choozle data sources can be manually configured to ingest data from any valid Choozle 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 Choozle 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 Choozle 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 Choozle 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. Choozle API endpoints typically follow the pattern https://app.choozle.com/api/{'{endpoint_path}'}.

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 HMAC-SHA256 authentication, which is handled automatically by your credential configuration. For detailed information about Choozle API endpoints and available APIs, see the Choozle 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 {"accounts": [...]}, you would enter $.accounts[*] to extract all items from the accounts 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. Choozle API responses may use different structures like accounts arrays or root-level arrays depending on the endpoint. 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.