Shopify

Overview

Shopify is a leading e-commerce platform that enables businesses to create and manage online stores, process orders, and handle payments. In Zenskar, you can use Shopify as a data source to import order, product, and customer data for metering, billing, and analytical reporting.

The connector supports both REST and GraphQL APIs, allowing you to access a wide range of Shopify resources efficiently and keep your billing data continuously in sync with your store’s operations.


Would you like me to make it slightly more technical (e.g., mention sync modes, OAuth, bulk API support)?

Prerequisites


Set up a Shopify data-source connector via Zenskar dashboard

  1. Log into your Zenskar dashboard.
  2. In the left side bar, click Usage > Data Sources.
  3. In the top-right corner, click + ADD DATA SOURCE.
  4. On the Add New Data Source page, configure the connector.
  5. Click on the SAVE SOURCE button.

Connector configuration

General configuration

FieldDescriptionRequired
Source NameEnter a unique name for this data source.Yes
Source TypeSelect Shopify from the dropdown menu.Yes

Connector configuration

FieldDescription
Shopify StoreEnter your Shopify store name.
Shopify Authorization MethodChoose how you want to authorize API requests: OAuth 2.0 or API Password. Depending on your choice, fill in the required fields listed below.
Replication Start DateDefaults to 01 January 2020. Set a start date for data replication. Records created before this date will not be synced.
Add user_id to Transactions (slower)Defines which API type (REST or BULK) is used to fetch Transactions data. For Shopify Plus users, keep the default value to optimize sync performance.
🚧

You must complete the corresponding conditional table below based on the Shopify Authorization Method you choose.

OAuth 2.0 authorization configuration

🚧

These fields are required only if Shopify Authorization Method is set to OAuth 2.0.

FieldDescription
Client IDThe client ID of your Shopify custom app.
Client SecretThe client secret of your Shopify custom app.
Access TokenThe Admin API access token for your store.

API Password authorization configuration

🚧

These fields are required only if Shopify Authorization Method is set to API Password.

FieldDescription
API PasswordThe API password for your Shopify custom app.

Addendum

Custom app scopes

Add the following scopes to your Shopify custom app to allow Zenskar to sync all available data. For more information about access scopes, refer to the Shopify documentation.

ScopeDescription
read_analyticsAccess analytics data.
read_assigned_fulfillment_ordersAccess assigned fulfillment orders.
read_contentAccess online store content such as articles and blogs.
read_customersAccess customer data.
read_discountsAccess discount details.
read_draft_ordersAccess draft orders.
read_fulfillmentsAccess fulfillment data.
read_gdpr_data_requestAccess GDPR-related data requests.
read_gift_cardsAccess gift card information.
read_inventoryAccess product inventory data.
read_legal_policiesAccess store legal policies.
read_locationsAccess location data.
read_localesAccess localization information.
read_marketing_eventsAccess marketing event data.
read_merchant_managed_fulfillment_ordersAccess merchant-managed fulfillment orders.
read_online_store_pagesAccess online store pages.
read_order_editsAccess order edits.
read_ordersAccess order information.
read_price_rulesAccess price rules.
read_product_listingsAccess product listings.
read_productsAccess product data.
read_publicationsAccess publications.
read_reportsAccess reports.
read_resource_feedbacksAccess feedback on resources.
read_script_tagsAccess script tags.
read_shippingAccess shipping information.
read_shopify_payments_accountsAccess Shopify Payments account information.
read_shopify_payments_bank_accountsAccess bank account details for Shopify Payments.
read_shopify_payments_disputesAccess dispute data for Shopify Payments.
read_shopify_payments_payoutsAccess payout data for Shopify Payments.
read_themesAccess themes and related assets.
read_third_party_fulfillment_ordersAccess third-party fulfillment orders.
read_translationsAccess store translations.

Supported sync modes

The Shopify source supports both Full Refresh and Incremental sync modes. You can configure the connector to either copy only new or updated data, or replicate all rows in the selected tables and columns each time a sync runs.

This source can sync data using the following Shopify APIs:


Would you like it phrased more technically (for engineers) or in a slightly simpler tone (for general users)?

Rate limiting

🚧 Shopify has rate limit restrictions . In some edge cases, you may encounter the following warning message:

"Caught retryable error '<some_error> or null' after <some_number> tries. Waiting <some_number> seconds then retrying..."

This is expected when the connector hits a 429 - Rate Limit Exceeded HTTP error. The sync operation will continue successfully after a short backoff period. These limitations are applied to all Shopify GraphQL bulk API requests .

Capturing deleted records

The connector captures record deletions in the Articles, Blogs, CustomCollections, Orders, Pages, PriceRules and Products streams.

When a record is deleted, the connector outputs a record with the ID of that record and the deleted_at, deleted_message, and deleted_description fields filled out. No other fields are filled out for the deleted records.

Access errors

🚧 If you encounter access errors while using OAuth 2.0 authentication, ensure you've requested access to the client’s store as described in the Shopify documentation. Once access is granted, you can proceed with OAuth 2.0 authentication.