Shopify Sync (shopify-sync) bridges your LiteShoper catalog with Shopify so you can sync products, inventory, customers, orders, fulfillments, and draft orders from one admin.

On this page: Overview · Prerequisites · Shopify Partners · Create app · Credentials · URLs · OAuth scopes · Protected Customer Data · Install · Settings · Connect shop · Webhooks · Cron · Products & stock · Orders · URLs · Checklist · Troubleshooting

1. Overview

  • One LiteShoper-managed Partner app can connect multiple Shopify stores
  • OAuth install with Admin API scopes
  • Import / export products and link inventory for stock sync
  • Orders via webhooks + cron (including draft orders)
  • Fulfillments, locations, customers, sync logs

Plugin page: liteshoper.com/plugins/shopify-sync

2. Prerequisites

  • LiteShoper store on HTTPS (required for OAuth + webhooks)
  • Active shopify-sync license / marketplace access
  • Shopify Sync plugin installed and activated
  • A Shopify store (development store or live) — domain like yourstore.myshopify.com
  • A free Shopify Partners account to create an app

3. Apply / sign up for Shopify Partners

  1. Open https://partners.shopify.com/signup
  2. Create a Partner account (free)
  3. Optional: create a Development store under Partners → Stores for testing
  4. Open Apps — you should be able to create an app

You do not use only the Shopify Admin “custom app” flow for this plugin. LiteShoper expects a Partner Dashboard app with Client ID + Client secret and an OAuth redirect URL.

4. Create a Partner app

  1. Go to partners.shopify.comApps
  2. Click Create appCreate app manually
  3. Name it (e.g. LiteShoper Sync – YourStore)
  4. Open the app → Client credentials (or Overview)
  5. Copy Client ID (API key) and Client secret (API secret)

5. Configure app URLs

In Partners → your app → Configuration (App URL / Allowed redirection URL(s)), set:

Field Value
Allowed redirection URL https://YOUR-STORE.com/shopify/callback
Webhook callback (registered by LiteShoper) https://YOUR-STORE.com/shopify/webhook

Must match exactly (HTTPS). For local testing use ngrok or Cloudflare Tunnel.

6. Enable Admin API OAuth scopes

Go to Partners → your app → ConfigurationAdmin API access scopesSelect scopes.

These are API permissions (not webhook topics like orders/create). Enable at least:

Scope Used for
read_products / write_products Import / export catalog
read_inventory / write_inventory Stock sync
read_orders / write_orders Order sync & updates
read_draft_orders Draft orders → LiteShoper pending
read_customers / write_customers Customer sync
read_locations Multi-location stock
read_fulfillments / write_fulfillments Fulfillment + tracking
read_merchant_managed_fulfillment_orders / write_merchant_managed_fulfillment_orders Fulfillment Orders API

Save the app. LiteShoper requests these scopes automatically on Connect Shop. After changing scopes, disconnect and reconnect each shop.

7. Protected Customer Data (required for orders)

Shopify blocks order APIs until your app is approved for Protected Customer Data — including custom/dev apps.

  1. Partners → your app → API access requestsProtected customer data access
  2. Select Level 1 (order line items / products)
  3. Select Level 2 if you need name, email, phone, or shipping address in LiteShoper
  4. Enable optional fields: name, email, phone, address (as needed)
  5. Save / submit (custom apps often approve immediately; public apps may need review)
  6. Confirm read_orders (+ read_draft_orders) are enabled
  7. Reconnect each shop under Shopify → Shops
  8. Retry Orders → Shopify → Sync Shopify Orders

Docs: Protected customer data

8. Install Shopify Sync on LiteShoper

  1. Subscribe / install from LiteShoper → Shopify Sync
  2. Activate the plugin
  3. Open admin menu Shopify

9. Enter credentials in LiteShoper

Shopify → Settings (API & credentials):

  1. Paste API key (Client ID)
  2. Paste API secret (Client secret)
  3. Set API version (default 2026-07, or another supported version — see Shopify versioning)
  4. Confirm OAuth redirect / webhook URLs shown match Partners
  5. Save credentials

10. Connect a Shopify store

  1. Open Shopify → Shops
  2. Enter domain: yourstore.myshopify.com
  3. Click Connect Shop
  4. Approve the app on Shopify
  5. You return to /shopify/callback; LiteShoper stores the token, syncs locations, and tries to register webhooks

One Partner app can connect multiple shops — repeat with another .myshopify.com domain.

11. Webhooks (event topics)

Webhook topics (e.g. orders/create) are not the same as OAuth scopes (e.g. read_orders).

  1. Go to Shopify → Settings → Webhooks
  2. Confirm callback URL: https://YOUR-STORE.com/shopify/webhook
  3. Tick topics you need (orders, products, inventory, app/uninstalled, etc.)
  4. Save, then click Register webhooks (shop must be connected)

HMAC verification uses your API secret. Require matching OAuth scopes for each topic.

12. Cron

Schedule every 5–15 minutes using the URL on Shopify → Settings → Cron:

GET https://YOUR-STORE.com/cron/shopify-sync?token=YOUR_CRON_SECRET

Enable tasks (orders, draft orders, inventory/price push, queue, etc.) on that tab. Webhooks = real-time; cron = backup + batch jobs.

13. Products, inventory, locations, customers

  1. Shopify → Import from Shopify — pull catalog
  2. Shopify → Export to Shopify — push LiteShoper products
  3. Shopify → Link Inventory — map variants / SKUs for stock sync
  4. Shopify → Locations — sync locations; set default for stock
  5. Shopify → Customers — import / manage customer sync

14. Orders & fulfillment

  • View/sync under Orders → Shopify (or Shopify → Orders)
  • Optional: draft-order sync from Settings → Sync
  • Fulfill with tracking from the order tools (requires fulfillment scopes)
  • Check Shopify → Sync Logs if something fails

15. URL reference

Path Purpose
/shopify/callback OAuth redirect after merchant installs/approves
/shopify/webhook Signed webhook events (POST)
/cron/shopify-sync?token=… Scheduled worker
/shopify/print/{type} Print documents (admin login)

16. Go-live checklist

  1. Partner app created; Client ID + secret saved in LiteShoper
  2. Allowed redirection URL exact match
  3. All required Admin API scopes enabled
  4. Protected Customer Data approved (for orders)
  5. Shop connected; locations synced
  6. Webhooks registered; HMAC OK
  7. Cron scheduled
  8. Test: import/export 1 product → link inventory → sync 1 order → fulfill

17. Troubleshooting

Issue Fix
Redirect mismatch Partners redirect URL must equal https://YOUR-STORE.com/shopify/callback
Order sync 403 / protected data Complete Protected Customer Data access, then reconnect shop
Missing permissions Enable scopes in Partners → Configuration → Admin API access scopes, then re-authorize
401 on webhooks Same Client secret; keep HMAC verification enabled
Wrong API version Use 2026-07 or another supported version
Webhooks empty Connect shop first, save topics, click Register webhooks

Official references:
Shopify Partners · Shopify app docs · Protected customer data · API versioning · LiteShoper Shopify Sync

← All docs

LiteShoper Help Answers from plugins, docs & FAQs

Hi! Ask me about LiteShoper plugins, licenses, or documentation.