Shopify
Shopify is deprecating their REST API in favor of their GraphQL API. We recommend using our Shopify GraphQL connector whenever possible.
This connector captures data from Shopify's REST Admin API.
Alternatively, if you would like to receive Shopify webhooks directly in Estuary, see the HTTP Ingest (Webhook) connector.
Supported data resources
The following data resources are supported through the Shopify APIs:
Default Streams
- Abandoned Checkouts
- Collects
- Custom Collections
- Customers
- Inventory Item
- Inventory Levels
- Locations
- Metafields
- Orders
- Products
- Transactions
Shopify Plus Streams
By default, each resource is mapped to an Estuary collection through a separate binding.
Prerequisites
-
Store ID of your Shopify account.
Use the prefix of your admin URL. For example,
https://{store_id}.myshopify.com/admin.
You can authenticate your account either via OAuth or using a Shopify access token.
Configuration
You configure connectors either in the Estuary 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 Shopify source connector.
Properties
Endpoint
| Property | Title | Description | Type | Required/Default |
|---|---|---|---|---|
/credentials | Credentials | object | Required | |
/credentials/auth_type | Authentication Type | Can either be oauth or access_token. | string | Required |
/credentials/client_id | Client ID | The Client ID for Shopify OAuth. | string | Required when using the oauth Auth Type |
/credentials/client_secret | Client Secret | The Client Secret for Shopify OAuth. | string | Required when using the oauth Auth Type |
/credentials/access_token | Access Token | The access token to authenticate with the Shopify API. | string | Required |
/store | Store ID | Shopify Store ID, such as from the prefix in https://{store_id}.myshopify.com/admin. | string | Required |
/start_date | Start Date | UTC date in the format 2020-01-01. Any data before this date will not be replicated. | string | Required, 2020-01-01 |
/admin_url | Admin URL | The Admin URL for the Shopify store (overrides 'store' property). | string | |
/is_plus_account | Is Plus Account | Enables Shopify plus account endpoints. | boolean |
Bindings
| Property | Title | Description | Type | Required/Default |
|---|---|---|---|---|
/stream | Stream | Resource of your Shopify project from which collections are captured. | string | Required |
/syncMode | Sync Mode | Connection method. | string | Required |
Sample
captures:
${PREFIX}/${CAPTURE_NAME}:
endpoint:
connector:
image: ghcr.io/estuary/source-shopify:v1
config:
credentials:
auth_type: access_token
access_token: <secret>
store: <store ID>
is_plus_account: false
start_date: 2020-01-01
bindings:
- resource:
stream: transactions
syncMode: full_refresh
target: ${PREFIX}/transactions
{...}