Getting Started
Interface Basics
Printers and Scales
Device Hub
Device Hub Overview
Install the Device App
Install the Device Service
Adding Printer and Scale Devices
Legacy Client Migration Guide
Device Barcodes
Legacy Device Management
Printer Checklist
Installing the Printer and Scale Client
Scale Setup
Printer Setup
Printer - Additional Arguments
Troubleshooting the Print and Scale Server
Getting the Local Windows User's Name
Troubleshooting
Shipping
Order Processing
Order Allocation
Order Processing Loop
Packing Solutions
Backorders
Ready to Ship
"Unable to Process" Order status
Packaging Features
Orders
Custom Fields for Orders
Reference Numbers
Shipping Accounts
Packing Instructions
External Shipping Methods
Tracking Numbers for Offline Shipments
Other Shipping Options
Packing Slip Design
Service Levels and Target Ship Dates
Outbound SSCC Barcodes
International Shipping
Receiving
Deliveries (ASNs, RMAs, etc.)
Double-Scan to Begin Count
Auto-Advance to Put-Away After Processing ASN
Actionable Reports
Catalog
Bill of Materials/Work Orders
Bill of Materials
Bill of Materials — Quantity-types
Work Orders
Import Bill of Materials
Virtual Inventory
Regulations
Products
Lots/Expirations Tracking
Import Products
Operations
Warehouse
Picking Classes
Picking Batches
Bulk Fulfill Orders
Manifests (Loading)
License Plates
Time Tracking for Administrators
Time Tracking for Staff
Relocations
Import Locations, Lots and Inventory
Rating
System
Configuration
User Management
Warehouses
User Roles
Merchants and Brands
Third Party Billing
Login via Badge
Manifest Couriers
Integrations
Plugin Subscriptions
Merchant API Users and Roles
External Shipping Method API
ShipStream Plugin Fostering Program
EasyPost
Amazon Selling Partner
Amazon Merchant Fulfillment
CartRover
Freight Club
SPS Commerce
Scripting
Scripting Basics
Before Create Order Scripts
Preprocess Packing Solution Scripts
Ready to Ship Time Scripts
Picking Class Shipment Matching Scripts
FAQ
How-To: FedEx Production Key Certification
How-To: Brand-Specific Shipping Account
Pattern and Replacement RegEx
ShipStream's Subprocessors
ISO Alpha-2 Country Codes
ShipStream Flow
Release Notes
ShipStream Releases
Version 2022.2
Version 2022.1
Version 2022.0
Version 2021.6
Version 2021.5
Version 2021.4
Version 2021.3
Version 2021.2
Version 2021.1
Version 2021.0
Version 2020.2
Version 2020.1
Version 2020.0
Version 2019.9
Version 2019.8.1
Version 2019.8
Version 2019.7
Version 2019.6
Version 2019.5
Table of Contents
- All Categories
- Integrations
- Plugin Subscriptions
- Shopify
- Shopify Public and Private Apps
Shopify Public and Private Apps
Updated
by Colin
ShipStream's Shopify Plugin supports authentication both with and without OAuth. OAuth is an authentication workflow whereby the user can authorize an application by approving an app as an authenticated Shopify user and without sharing their login credentials or directly copying and pasting an API key.
Which should I choose?
OAuth 2.0 authentication is required for "Public apps" and "Custom apps" and is the recommended way to manage integrations for 3PLs who want to offer an app to their customers on the Shopify App Store, whether it is Listed or Unlisted. For merchants that have no need for a public Shopify app, it will be easier to not use OAuth and to instead create a Private app.
Please see Types of apps for a more detailed description of the differences between the types of Shopify apps.
Public App Setup (Using OAuth)
To create a Public app you must first sign up as a Shopify Partner for your company. In your Shopify Partners dashboard click "Apps" and then "Create app" to begin the process. The urls for your App setup will be supplied in the Shopify Plugin section of the ShipStream configuration under System > Configuration > Integrations > Shopify Plugin.

Your Shopify app must be approved by Shopify before it can be used for more than one store so be sure to account for 1-2 weeks for the approval to be completed.
Once approved, your Shopify users will be able to connect their stores by visiting the app listing to install your app, or by clicking the Connect button on ShipStream's Edit Subscription page.
Private App Setup (Not using OAuth)
If not using OAuth then you can add a Subscription for the Shopify plugin in ShipStream and simply obtain a Private App Access Token and paste this into the Subscription's Plugin Configuration section.

Obtaining a Private App Access Token
To obtain a private app access token go to your Shopify store's admin panel and click "Apps" and then "Develop apps".

Click "Enable private app development" and read the terms carefully and accept to continue.
Click "Create private app" to create your private app for use with ShipStream and provide a name and contact email.
Set all of the appropriate permissions for the app by clicking "Configure Admin API scopes".

The permissions required by the Shopify Plugin are:
- Assigned fulfillment orders: Read and write
- Fulfillment services: Read and write
- Inventory: Read and write
- Orders: Read and write
- Products: Read access
- Shipping: Read and write
The Storefront API access is not needed and can be left unconfigured.
After clicking Save, the API Key and API Secret key will be generated by Shopify. Go to the "API credentials" tab to view and install the app to your store. To generate the "Admin API Access Token" click "Install app" and confirm.

After confirming, a hidden "Admin API access token" will be visible. This Token can only be made visible once. Please be ready to save this to a secure location in case it is ever needed a second time. Copy and paste this "Admin API access token" into the ShipStream "Custom App Access Token". Also, copy the "API Secret Key" and paste this into the "Custom App Secret Key" field in ShipStream.
