Shopify
This page guides you through setting up the Shopify source.
Overview
This source can sync data for the Shopify REST API (opens in a new tab) and the Shopify GraphQl API (opens in a new tab).
Features
| Feature Name | Supported |
|---|---|
| Full Import | Yes |
| Incremental Import | Yes |
| Start Date Selection | Yes |
Supported streams
- Articles (opens in a new tab)
- Blogs (opens in a new tab)
- Abandoned Checkouts (opens in a new tab)
- Collects (opens in a new tab)
- Collections (opens in a new tab)
- Countries (opens in a new tab)
- Custom Collections (opens in a new tab)
- CustomerAddress (opens in a new tab)
- CustomerSavedSearch (opens in a new tab)
- Smart Collections (opens in a new tab)
- Customers (opens in a new tab)
- Draft Orders (opens in a new tab)
- Discount Codes (opens in a new tab)
- Metafields (opens in a new tab)
- Orders (opens in a new tab)
- Orders Refunds (opens in a new tab)
- Orders Risks (opens in a new tab)
- Products (opens in a new tab)
- Products (GraphQL) (opens in a new tab)
- Product Images (opens in a new tab)
- Product Variants (opens in a new tab)
- Transactions (opens in a new tab)
- Tender Transactions (opens in a new tab)
- Pages (opens in a new tab)
- Price Rules (opens in a new tab)
- Locations (opens in a new tab)
- InventoryItems (opens in a new tab)
- InventoryLevels (opens in a new tab)
- Fulfillment Orders (opens in a new tab)
- Fulfillments (opens in a new tab)
- Shop (opens in a new tab)
Getting started
Requirements and prerequisites
- Create a custom Shopify app (opens in a new tab) and obtain API credentials (opens in a new tab)
- Add the following scopes to your custom app to ensure a sync of all available data:
read_analyticsread_assigned_fulfillment_ordersread_gdpr_data_requestread_locationsread_price_rulesread_product_listingsread_productsread_reportsread_resource_feedbacksread_script_tagsread_shippingread_localesread_shopify_payments_accountsread_shopify_payments_bank_accountsread_shopify_payments_disputesread_shopify_payments_payoutsread_contentread_themesread_third_party_fulfillment_ordersread_translationsread_customersread_discountsread_draft_ordersread_fulfillmentsread_gift_cardsread_inventoryread_legal_policiesread_marketing_eventsread_merchant_managed_fulfillment_ordersread_online_store_pagesread_order_editsread_orders
Set up guide
- Create a new source, select Shopify (Airbyte) from the Source type dropdown and enter a name for it.
- On the source setup page, create a new Shopify secret, enter a unique name for it.
- Enter your Shopify
YOURSTOREname. It can be found in the URL:https://YOURSTORE.myshopify.com/admin/apps/private - Enter an API Password - API credentials (opens in a new tab) are generated during a custom app creation process.
- Select a Replication Start Date.
- Press Create to authorise your source.
Limitations
- In order to perform an incremental sync of the following streams, they should be selected along with their respective parent streams
Order Refunds,Order Risks,Transactionsshould be synced along withOrdersstream.Discount Codesshould be synced along withPrice Rulesstream.
- This connector supports only the
API PASSWORD(for private applications) athentication methods.
Performance considerations
Shopify has some rate limit restrictions (opens in a new tab). Typically, there should not be issues with throttling or exceeding the rate limits but in some edge cases, user can receive the warning message as follows:
_10"Caught retryable error '<some_error> or null' after <some_number> tries. Waiting <some_number> seconds then retrying..."
This is expected when the connector hits the 429 - Rate Limit Exceeded HTTP Error. With given error message the sync operation is still goes on, but will require more time to finish.