Shopify: plugin guide
About this guide
This guide describes ChannelEngine's Shopify plugin, how to install it, how to configure it, and more.
Table of contents
To connect your Shopify webshop to ChannelEngine, you must connect your Shopify account as a private app to ChannelEngine.
This guide is about Shopify as a merchant plugin, which acts as the source of your product data and handles all orders. If you need information on Shopify as a channel, check out the Shopify: channel guide article.
Note that Shopify is limited in terms of product data. If you want to create or update content on marketplaces, you need an additional source of product information - such as an additional data feed.
|Product data||External fulfillment orders|
|Cancelations (merchant)||Multiple stock locations*|
* ChannelEngine does import the level of all known stock locations. However, incoming orders only deduct stock from the default warehouse. Check out the FAQs section for further details.
- Active account on Shopify
- Active merchant account on ChannelEngine
To connect your Shopify store with ChannelEngine, you must add ChannelEngine as a custom app in the back-end of your Shopify account. To do so, follow the steps below.
- On Shopify, go to Apps, Develop apps, and click Create an app.
- In the Create an app dialog box, enter an App name (e.g.: ChannelEngine). In the App developer field, select the email address of the owner of this Shopify account. We recommend you to enter the following:
- On the Overview tab, click Configure Admin API scopes, and set the following access scopes:
- Customers - read and write
- Assigned fulfillment orders - read and write
- Products - read and write
- Content - read
- Orders - read and write
- Discounts - read and write
- Inventory - read and write
- Merchant managed fulfillment orders - read and write
- Order edits - read and write
- Shipping - read and write
- In the Webhook subscriptions section, in the Event version field, leave the Webhook API version on the latest version. ChannelEngine does not require access to the storefront data.
- Click Save and go to the API credentials tab. Under Access token, click Install app.
- On the same API credentials tab, the new API credentials are generated and made visible. You can now add the API key and Shop URL to ChannelEngine to establish the connection.
Add the integration to your ChannelEngine account, and fill in the previously acquired credentials.
- If it has not been done yet, contact your Onboarding Specialist to add the Shopify plugin for you.
- Go to Settings, Merchant plugins or select the Shopify plugin from your channel dashboard.
- Go to the Setup tab of the Shopify plugin and add the credentials and settings needed for the connection to work:
- API access token - the password token from the Shopify private app page, not the API key token.
- API shop URL - the base URL of your Shopify store. E.g.: channelengine.myshopify.com.
- Shop URL - the base domain of your store, if you use a custom domain. E.g.: shop.channelengine.com.
- Color alias on Shopify - the name of your color attribute on Shopify. By default this is Color, however, it is possible to change it to a different, localized value. To set the color correctly on ChannelEngine's end, the correct attribute name is needed.
- Size alias on Shopify - the name of your size attribute on Shopify. By default this is Size, however, it is possible to change this to a different, localized value. To set the size correctly on ChannelEngine's end, the correct attribute name is needed.
- Material alias on Shopify - the name of your material attribute on Shopify. By default this is Material, however, it is possible to change it to a different, localized value. To set the material correctly on ChannelEngine's end, the correct attribute name is needed.
- Page size - the maximum number of products returned per page. Shopify has a default of 50 items per page, and ChannelEngine uses a default of 250. It is recommended to leave this setting untouched.
- Name for shipment costs on order (optional) - the name of your shipment cost attribute on Shopify. By default this is Shipment costs, however, it is possible to change it to a different, localized value. To set the shipment costs correctly on ChannelEngine's end, the correct attribute name is needed.
- Code for shipment costs on order (optional) - the code to set on shipping lines for orders exported to Shopify. If left empty, the name is used in lowercase, with spaces replaced by dashes.
- A single payment gateway name for channel [CHANNELNAME] (optional) - the name of the payment gateway for a specific channel. This is only needed if you track specific payments per channel in underlying systems.
- If all settings have a checkmark, you can switch on Activate synchronization for Shopify. This triggers an attempt to make a test API call to your Shopify environment. If it returns an error, instead of a green toggle, the API access token and/or API shop URL are invalid. Make sure to double-check these settings and try again. If the problem persists, contact ChannelEngine's Support team.
- If the plugin is successfully activated, tasks are automatically scheduled to import products and shipments from Shopify - and export orders to Shopify. You can check the latest executed tasks and their next schedule in the Dashboard section of the plugin settings.
New orders from ChannelEngine appear in the overview under Shopify, Orders.
Shopify requires phone numbers on orders to be in the E.164 international standard, including the country code prefix. Most marketplaces, however, allow phone numbers in any format.
The E.164 general format must contain only digits, formatted in the following way
- Country code (1 to 3 digits) - e.g.: 1 (United States), 55 (Brazil), 353 (Ireland).
- Subscriber number (max. 12 digits) - e.g.: 55512345618
Why is the stock not updated automatically when orders are exported to Shopify?
By default, Shopify does not subtract or add stock on orders, shipments, or cancelations. This has to be done manually. However, ChannelEngine does offer the option to automatically update the stock when fetching a shipment for products. To find out how to enable this option, check out the Shopify: stock management article.
Why is the stock on ChannelEngine the sum of my stock in each of my locations?
If you have assigned inventory to more than one location on Shopify, it pushes the sum of the stock quantity in each location to ChannelEngine - which in turn displays that value as your current stock. This is done by default, and it is not possible to disable it. E.g.: if inventory location A has a stock quantity of 2, and inventory location B has a stock quantity of 1, the stock shown on ChannelEngine is 3.