Skip to main content

Chargedesk Data Source

The Chargedesk connector enables you to ingest billing data—including charges, customers, subscriptions, products, agents, webhooks, and activity logs—from your ChargeDesk account. This connector is particularly useful for reporting on revenue, reconciling payment-gateway records, and analyzing subscription and refund activity. Follow the instructions below to create a new data flow that ingests data from a Chargedesk source in Nexla.
chargedesk_api.png

Chargedesk

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

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

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

    List Charges

    Returns a list of all charges in the ChargeDesk account. Use this endpoint to ingest payment and transaction records for revenue reporting and reconciliation.

    • This endpoint requires no additional configuration beyond selecting the template. Nexla automatically paginates through the full list of charges using the ChargeDesk offset and count parameters.
    • Each charge record is returned from the data array in the response, so the path to data is preconfigured as $.data[*].

    Charges in ChargeDesk reflect transactions stored in your connected payment gateway. For field-level details, see the official ChargeDesk API documentation.

    Get Charge

    Retrieves a single charge by its ID. Use this endpoint when you need the full detail of one specific transaction.

    • Enter the ID of the charge to retrieve in the Charge ID field. You can find charge IDs by first running the List Charges endpoint.

    Preview Charge

    Previews a charge before it is finalized, returning calculated amounts, fees, and line items. Use this endpoint to inspect what a charge will look like prior to it being committed.

    • Enter the ID of the charge to preview in the Charge ID field.

    List Charge Refunds

    Returns a list of refunds associated with a specific charge. Use this endpoint to analyze refund activity tied to individual transactions.

    • Enter the ID of the charge whose refunds should be listed in the Charge ID field.
    • Nexla automatically paginates through the refund records returned in the data array.

    List Customers

    Returns a list of all customers in the ChargeDesk account. Use this endpoint to ingest your customer base for analysis, segmentation, or syncing to a data warehouse.

    • This endpoint requires no additional configuration. Nexla automatically paginates through the full list of customers.

    Get Customer

    Retrieves a single customer by ID. Use this endpoint when you need the complete detail for one specific customer.

    • Enter the ID of the customer to retrieve in the Customer ID field. Customer IDs can be obtained from the List Customers endpoint.

    List Customers Grouped

    Returns customers grouped by a dimension such as plan, status, or gateway. Use this endpoint for aggregated views of your customer base.

    • This endpoint requires no additional configuration. Nexla automatically paginates through the grouped results returned in the data array.

    List Subscriptions

    Returns a list of all subscriptions in the ChargeDesk account. Use this endpoint to track recurring revenue and active subscription counts.

    • This endpoint requires no additional configuration. Nexla automatically paginates through the full list of subscriptions.

    Get Subscription

    Retrieves a single subscription by ID. Use this endpoint when you need the full detail of one specific subscription.

    • Enter the ID of the subscription to retrieve in the Subscription ID field. Subscription IDs can be obtained from the List Subscriptions endpoint.

    List Products

    Returns a list of all products (plans) in the ChargeDesk account. Use this endpoint to ingest your catalog of billable products and plans.

    • This endpoint requires no additional configuration. Nexla automatically paginates through the full list of products.

    Get Product

    Retrieves a single product (plan) by ID. Use this endpoint when you need the complete detail for one specific product.

    • Enter the ID of the product to retrieve in the Product ID field. Product IDs can be obtained from the List Products endpoint.

    List Agents

    Returns a list of all support agents in the ChargeDesk account. Use this endpoint to ingest the roster of agents who can act on billing records.

    • This endpoint requires no additional configuration. Nexla automatically paginates through the full list of agents.

    Get Agent

    Retrieves a single support agent by ID. Use this endpoint when you need the full detail for one specific agent.

    • Enter the ID of the agent to retrieve in the Agent ID field. Agent IDs can be obtained from the List Agents endpoint.

    List Webhooks

    Returns a list of all registered webhook endpoints. Use this endpoint to audit which webhook subscriptions are configured in your ChargeDesk account.

    • This endpoint requires no additional configuration. Nexla automatically paginates through the full list of webhooks.

    List Webhook Notifications

    Returns the notification delivery history for a specific webhook. Use this endpoint to monitor webhook delivery success and troubleshoot failed notifications.

    • Enter the ID of the webhook whose notification history should be retrieved in the Webhook ID field. Webhook IDs can be obtained from the List Webhooks endpoint.

    List Agent Activity Logs

    Returns audit logs of agent actions such as refunds, cancellations, and charge creations. Use this endpoint for compliance auditing and operational reporting.

    • This endpoint requires no additional configuration. Nexla automatically paginates through the activity log records.

    List Subscription Cancellation Logs

    Returns a log of subscription cancellation events. Use this endpoint to analyze churn and understand cancellation patterns.

    • This endpoint requires no additional configuration. Nexla automatically paginates through the cancellation log records.

    List Information Logs

    Returns general system and event information logs. Use this endpoint to capture broader account activity for monitoring and analysis.

    • This endpoint requires no additional configuration. Nexla automatically paginates through the information log records.

    For details about each log type and the fields returned, see the official ChargeDesk API logs 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

Chargedesk data sources can be manually configured to ingest data from any valid ChargeDesk API endpoint. Manual configuration provides maximum flexibility for accessing endpoints not covered by pre-built templates or when you need custom API configurations, such as applying query-string filters supported by the ChargeDesk API.

With manual configuration, you can also create more complex Chargedesk sources, such as sources that use chained API calls to fetch data from multiple endpoints or sources that require custom 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 ChargeDesk API from the Method pulldown menu. ChargeDesk read operations use:

    • GET: For retrieving charges, customers, subscriptions, products, agents, webhooks, and logs

API Endpoint URL

  1. Enter the URL of the ChargeDesk 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, for example https://api.chargedesk.com/v1/charges.

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.

Path to Data

Optional

If only a subset of the data returned by the API endpoint is needed, you can designate the part(s) of the response that should be included in the Nexset(s) produced from this source by specifying the path to the relevant data within the response. This is particularly useful because ChargeDesk list endpoints wrap records in a top-level data array alongside pagination metadata.

For example, when a request is used to fetch a list of charges, the ChargeDesk API returns an array of records under the data key. By entering the path to this array, you can configure Nexla to treat each element as a record.

Path to Data is essential when API responses have nested structures. Without specifying the correct path, Nexla might not be able to properly parse and organize your data into usable records.

  • To specify which data should be treated as relevant in responses from this source, enter the path to the relevant data in the Set Path to Data in Response field.

    • For responses in JSON format enter the JSON path that points to the object or array that should be treated as relevant data. JSON paths use dot notation (e.g., $.data[*] to access the array of records within the ChargeDesk response).
    Path to Data Example:

    ChargeDesk list responses include a top-level array named data that contains the relevant records, so the path to the response would be entered as $.data[*].

Request Headers

Optional
  • If Nexla should include any additional request headers in API calls to this source, enter the headers & corresponding values as comma-separated pairs in the Request Headers field (e.g., header1:value1,header2:value2). Additional headers are often required for API versioning, content type specifications, or custom requirements.

    You do not need to include any headers already present in the credentials. The Basic Authentication header is handled automatically by Nexla based on your credential configuration.

Endpoint Testing

After configuring all settings for the selected endpoint, Nexla can retrieve a sample of the data that will be fetched according to the current configuration. 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.

Save & Activate the Source

  1. Once all of the relevant steps in the above sections have been completed, click the Create button in the upper right corner of the screen to save and create the new Chargedesk data source. Nexla will now begin ingesting data from the configured endpoint and will organize any data that it finds into one or more Nexsets.