Shopify
Shopify
Shopify
Shopify sends Mocca the online shop’s orders and refunds. Each order becomes an Order with source Shopify on the buyer’s Contact.
Fields
| Field | What to enter |
|---|---|
| Enable Shopify | Tick to switch the sync on |
| Shop Domain | Your shop’s .myshopify.com address, for example my-shop.myshopify.com. Required. |
| Access Token | The Admin API access token of the Shopify app installed for Mocca. Required. |
| Webhook Secret | The app’s webhook signing secret. Needed only for instant updates. |
| App Has read_all_orders Scope | Tick only once Shopify has granted the app the read_all_orders permission (see below) |
How it stays up to date
- Instant updates: Shopify calls Mocca when an order is created, paid, updated or refunded. Mocca checks Shopify’s signature and the shop domain on every call.
- Hourly replay: updates that arrived but could not be processed are retried every hour. One that keeps failing is flagged for review in the webhook event list.
- Daily safety net: every night Mocca re-reads the last 48 hours of orders.
The 60-day limit
Shopify only lets an app read the last 60 days of orders unless Shopify has granted it the read_all_orders permission. This matters in two places:
- Importing history: without the permission, an import cannot start earlier than 60 days ago.
- Catching up after a long switch-off: if Shopify was switched off for more than 60 days, the part of the gap older than 60 days cannot be recovered automatically; it can be imported by hand once the permission is granted. Mocca writes an Error Log entry naming the range it could not read and catches up on the rest.
Request the permission from Shopify for the app, and tick App Has read_all_orders Scope once it is granted.
Webhook subscriptions
If Mocca refuses Shopify’s deliveries for a long time (for example while Shopify is switched off in Mocca Settings), Shopify may delete the webhook subscription. After switching Shopify back on, check in the Shopify admin that the subscription still exists.