Skip to main content

Braintree

This connector captures data from Braintree into Flow collections.

It is available for use in the Flow web application. For local development or open-source workflows, ghcr.io/estuary/source-braintree:dev provides the latest version of the connector as a Docker image. You can also follow the link in your browser to see past image versions.

This connector is based on an open-source connector from a third party, with modifications for performance in the Flow system. You can find their documentation here, but keep in mind that the two versions may be significantly different.

Supported data resources

The following data resources are supported through the Braintree APIs:

By default, each resource is mapped to a Flow collection through a separate binding.

Prerequisites

To set up the Braintree source connector, you'll need Braintree's:

  1. Public Key
  2. Environment
  3. Merchant ID
  4. Private Key

We recommend creating a restricted, read-only key specifically for Estuary access. This will allow you to control which resources Estuary should be able to access.

Configuration

You configure connectors either in the Flow web app, or by directly editing the catalog specification file. See connectors to learn more about using connectors. The values and specification sample below provide configuration details specific to the Braintree source connector.

Properties

Endpoint

PropertyTitleDescriptionTypeRequired/Default
/environmentEnvironmentEnvironment specifies where the data will come from.stringRequired
/merchant_idMerchant IDThe unique identifier for your entire gateway account.stringRequired
/private_keyPrivate KeyBraintree Private Key.stringRequired
/public_keyPublic KeyBraintree Public Key.stringRequired
/start_dateStart DateUTC date and time in the format 2021-01-25T00:00:00Z. Any data before this date will not be replicated.stringDefault

Bindings

PropertyTitleDescriptionTypeRequired/Default
/streamStreamResource of your Braintree project from which collections are captured.stringRequired
/syncModeSync ModeConnection method.stringRequired

Sample


captures:
${PREFIX}/${CAPTURE_NAME}:
endpoint:
connector:
image: ghcr.io/estuary/source-braintree:dev
config:
environment: Development
merchant_id: <id>
private_key: <key>
public_key: <key>
start_date: 2017-01-25T00:00:00Z
bindings:
- resource:
stream: customers
syncMode: full_refresh
target: ${PREFIX}/customers
{...}