Skip to content

Docs/Connectors

Shopify

Shopify orders with line items, customers and products as records, and the store's event log as episodes.

The shopify connector reads a Shopify store through the Admin API.

Connector name shopify
Products Records, episodes
Credentials The portal's Connect button, or a custom app's Admin API access token
Scopes read_orders, read_customers, read_products, and read_all_orders for orders older than 60 days
Status Preview: tested against Shopify's documented responses, not yet on a live account

What it pulls

Object Contents
order Number, created and updated times, financial and fulfillment status, currency, totals, discounts, customer, addresses
order_line Order, product and variant, title, SKU, quantity, price
customer Created and updated times, order count, total spent, tags, state
product Title, type, vendor, status, tags, created and updated times
product_variant Product, title, SKU, price, inventory quantity
shop Store settings such as currency and time zone
event Off by default; add it with objects

Episodes. The store's event log: orders placed, paid, fulfilled, refunded and cancelled; products and customers changed.

Credentials

In the Shopify admin, open Settings → Apps and sales channels → Develop apps, create an app, grant the scopes above under Admin API, install it, and copy the access token (shpat_...).

Or skip the tokens: click Connect next to Shopify in the portal (Settings → Connected systems), then run datayield connect shopify --broker.

Connect

bash
datayield connect shopify -o shop=acme -o accessToken=env:SHOPIFY_TOKEN

Options

Option Required Meaning
shop yes The store's myshopify.com subdomain (acme for acme.myshopify.com)
accessToken yes The Admin API access token. Stored as a secret.
startDate no Where the first run starts
objects no Record types to pull

New records on each run

Orders, customers and products are requested by their updated time between the last successful run and now. Shopify's REST API allows about two requests a second; the SDK keeps to that.