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
datayield connect shopify -o shop=acme -o accessToken=env:SHOPIFY_TOKENOptions
| 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.