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 NameSupported
Full ImportYes
Incremental ImportYes
Start Date SelectionYes

Supported streams

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_analytics
    • read_assigned_fulfillment_orders
    • read_gdpr_data_request
    • read_locations
    • read_price_rules
    • read_product_listings
    • read_products
    • read_reports
    • read_resource_feedbacks
    • read_script_tags
    • read_shipping
    • read_locales
    • read_shopify_payments_accounts
    • read_shopify_payments_bank_accounts
    • read_shopify_payments_disputes
    • read_shopify_payments_payouts
    • read_content
    • read_themes
    • read_third_party_fulfillment_orders
    • read_translations
    • read_customers
    • read_discounts
    • read_draft_orders
    • read_fulfillments
    • read_gift_cards
    • read_inventory
    • read_legal_policies
    • read_marketing_events
    • read_merchant_managed_fulfillment_orders
    • read_online_store_pages
    • read_order_edits
    • read_orders

Set up guide

  1. Create a new source, select Shopify (Airbyte) from the Source type dropdown and enter a name for it.
  2. On the source setup page, create a new Shopify secret, enter a unique name for it.
  3. Enter your Shopify YOURSTORE name. It can be found in the URL: https://YOURSTORE.myshopify.com/admin/apps/private
  4. Enter an API Password - API credentials (opens in a new tab) are generated during a custom app creation process.
  5. Select a Replication Start Date.
  6. 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, Transactions should be synced along with Orders stream.
    • Discount Codes should be synced along with Price Rules stream.
  • 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.