Shopify Setup
Connect your Shopify store so online orders arrive in Sporeline as planned deliveries.
adminShopify Setup
Sporeline imports your Shopify orders as deliveries, with their customers, every 15 minutes. You create a private app for your own store in Shopify, give it access to customer data, and paste its credentials into Sporeline. Setup takes about 10 minutes.
Sporeline only reads orders, customers and products. It never changes anything in Shopify.
If a step fails, see Shopify Troubleshooting.
Prerequisites
- In Shopify, you are the store owner, or a staff member with the App development > Develop permission.
- The app and the store belong to the same Shopify organization.
- In Sporeline, you have the Manager or Owner role.
Regular stores and development stores both work.
Two Shopify Sites
Setup uses two different Shopify sites. If you can’t find a setting, check which site you’re on.
| Site | Address | What you do there |
|---|---|---|
| Dev Dashboard | dev.shopify.com | Create and release the app, install it, copy its credentials (steps 1 to 4) |
| Shopify Partners | partners.shopify.com | Grant protected customer data access (step 5) |
Step 1: Create the App
- In your Shopify admin, go to Settings > Apps.
- Click Develop apps, then Build apps in Dev Dashboard.
- Click Create app. Under Start from Dev Dashboard, name it “Sporeline” and click Create.
Step 2: Set the Access Scopes and Release
- On the version screen, find the Access section.
- Add exactly these three scopes:
read_orders,read_customers,read_products. - Leave everything else at its default.
- Click Release, then Release again to confirm.
Only a released version counts. If you add a scope later, release a new version.
Step 3: Install the App on Your Store
- In the app’s Installs section, click Install app.
- Choose your store.
- Shopify shows what the app can access: View store data (Customers, products, orders). Click Install.
Step 4: Copy the Client ID and Secret
Open the app’s Settings page and copy the Client ID and Client secret. You paste them into Sporeline in step 6.
No redirect URL
If you’ve built apps with the older Shopify Partners model: this app uses the client credentials flow. There is no OAuth redirect URL and no callback to set up. Sporeline trades the client ID and secret for an access token directly.
Step 5: Grant Protected Customer Data Access
Shopify keeps customer names, emails and phone numbers behind a separate approval called Protected Customer Data. Without it, Test connection fails at step 5, Read orders.
This step happens in Shopify Partners, not the Dev Dashboard.
- Go to partners.shopify.com and open your app.
- Go to API access requests, then Protected customer data access.
- Click Select next to Protected customer data and choose a reason. Store management is the closest match.
- Under Protected customer fields (optional), click Select on Name, Email and Phone, each with the same reason.
You don’t need Address. Sporeline doesn’t read addresses.
No review for your own store
Only apps listed on the Shopify App Store go through Shopify’s review. For a custom app on your own store, access is granted as soon as you select your data use. Skip the Provide your data protection details questionnaire; this setup doesn’t need it.
This is a different consent from the install screen in step 3. Step 3 grants the access scopes. This step grants access to the customer data inside them.
Step 6: Connect in Sporeline
-
In Sporeline, go to Settings > Integrations and click Manage on the Shopify card.
-
Fill in:
- Store domain: your store’s
.myshopify.comdomain, for exampleyour-store.myshopify.com. It’s in your Shopify admin under Settings > Domains. A custom storefront domain won’t work. - Client ID and Client secret from step 4.
- Store domain: your store’s
-
On a development store with test orders (for example, orders placed with Shopify’s Bogus Gateway), tick Also import test orders (only for a development store). On a live store, leave it unticked.
-
Click Test connection. Sporeline runs five checks:
- Check the store domain and credentials
- Get an access token from Shopify
- Confirm the store matches the domain
- Check the app’s access scopes
- Read orders
All five should show a green check under Connection works. If one fails, find it in Shopify Troubleshooting.
-
Click Connect.
Step 7: Map Your Product Variants
Sporeline needs to know what each product variant is before it can turn an order line into a delivery item.
- Under Variant map, click Load variants from Shopify. Sporeline lists every variant in your store. After the first load the button reads Reload variants. A large catalog loads in batches; click Load more variants for the next one.
- For each variant you sell as produce, fill in:
- Species, for example Lion’s Mane
- Strain (optional)
- Grade, for example A
- Weight per unit: the weight of one unit sold, with its unit (g, oz, lb or kg). For an 8 oz bag, enter
8and choose oz.
- Tick Skip only for lines that aren’t produce: gift cards, shipping protection, packaging or supply items.
- Click Save variant map.
You can leave a variant blank and map it later. Orders that contain it wait, then import on the next sync after you map it.
Skip only what isn't produce
If every line on an order is skipped, Sporeline creates no delivery for it and lists it under Orders without a delivery on the Shopify page. If you skipped a variant by mistake, untick Skip, fill it in and click Save variant map: those orders import on the next sync. If you’re not sure what a variant is, leave it unmapped instead. See Every Line Skipped.
Step 8: Sync Your Orders
Sporeline syncs automatically every 15 minutes. To import right away, click Sync now.
- The first sync imports orders from the last 7 days.
- For older orders, next to Import older orders: choose Last 30 days or Last 60 days and click Import.
- Shopify’s
read_ordersscope only covers the last 60 days, and Sporeline imports at most 60 days back.
Check the Result
After a sync, the Shopify page shows Last sync completed, the time, and how many orders were read, how many deliveries are new, and how many were updated. Other counts appear only when they apply: waiting on variant mapping, with every item skipped, with only custom items, with nothing left to deliver (every line refunded or removed), test orders skipped, cancelled before import, failed.
Orders that didn’t become deliveries and need something from you are listed under Orders without a delivery, each with the reason and what to do. See An Order Doesn’t Appear in Deliveries.
New orders appear under Deliveries as Planned, with a Shopify badge showing the order number (for example Shopify #1234). An order that was already fulfilled in Shopify when Sporeline first read it arrives as Shipped.
Related Pages
- Shopify Troubleshooting: fix a failed Test connection, or find a missing order
- Integrations: webhooks and other integrations