Shopify integration guide

// Contents

Introduction
Shopify integration features
Set up Shopify
Set up ChannelEngine
Product data/stock
Orders
Shipments, cancellations & returns
Troubleshooting issues & frequently asked questions

// Introduction

To connect your Shopify webshop to ChannelEngine, you will need to connect your Shopify account as a private app to ChannelEngine. 

Please be aware that this guide is about Shopify as a merchant plugin (so the source of your product data and for handling the orders). It is also possible to connect Shopify as a channel, but that is a different type of integration that is covered by a different guide. Another thing to note is that Shopify is very limited when it comes to product data. If you want to create or update content on marketplaces, you will almost certainly need an additional source of product information like an additional data feed.

// Shopify integration features

Supported Not supported
Product data External fulfillment orders
Orders Returns
Shipments  
Cancellations (merchant)  

// Set up Shopify

In order to connect your Shopify Store with ChannelEngine, you first must ad ChannelEngine as a ' Private App' in the back-end of your Shopify account. 

1. First, open 'Manage private apps' in the Shopify backend.

2. In the top right corner select the option ' Create a new private app'.

3. Enter the name and the emergency developer email for the private app. While it's your choice on what to enter, we strongly recommend using the following information:

  • Private app name: ChannelEngine
  • Emergency developer email: support@channelengine.com

4. Update the permissions for the private app so our systems can get the required access:

  1. Store Content like Articles, blogs comments, pages and redirects -- Read access
  2. Customer details and customer groups -- Read and write
  3. Orders, transactions and fulfillments -- Read and write
  4. Products, variants and collections -- Read and write

5. Leave the Webhook API version on the latest version. Access to the storefront data is not required for ChannelEngine.

6. You will be prompted if you are sure to create a new private app. Select ' I understand, create the app' to proceed (but take heed of the warning that the API credentials should be kept safe).

7. New API credentials should now be generated and be visible. You will need to enter these credentials (the API key and shop URL) in ChannelEngine in order to make the connection. 

// Set up ChannelEngine

Now it's time to add the integration to your ChannelEngine account and fill in the previously acquired credentials.

1. If it hasn't been added already, please contact your custom success manager to add the 'Shopify' plugin for you.

2. If this has been the case, navigate to ' Settings' > 'Merchant plugins' or select the plugin straight away in your channel dashboard.

3. Go to the ' Setup' tab for the Shopify plugin.

4. Now fill in the credentials and settings needed for Shopify to properly work:

  • API accesstoken - this is the Password token from the Shopify private app page (so not the API key token).
  • API shop URL - this is the base URL of your Shopify store. An example would be 'channelengine.myshopify.com'.
  • Shop URL - this is the base domain of your shop if you use a custom domain (for example: shop.channelengine.com instead of channelengine.myshopify.com).
  • Color alias in Shopify - this is the name of your color attribute in Shopify. By default this would be 'Color', however, it is possible to change this to a different (localized) value. In order to correctly set the color for products on our end, we need the correct attribute name.
  • Size alias in Shopify - this is the name of your size attribute in Shopify. By default this would be 'Size', however, it is possible to change this to a different (localized) value. In order to correctly set the size for products on our end, we need the correct attribute name.
  • Material alias in Shopify - this is the name of your material attribute in Shopify. By default this would be 'Material', however, it is possible to change this to a different (localized) value. In order to correctly set the material for products on our end, we need the correct attribute name.
  • Pagesize - the maximum number of products that are returned per page. Shopify has a default of 50 items per page, we use a default of 250. It's best to leave this setting alone or at least don't increase it too much.
  • Name for shipment costs on order - (optional) this is the name of your shipment cost attribute in Shopify. By default this would be 'Shipment costs', however, it is possible to change this to a different (localized) value. In order to correctly set the shipment costs on orders from our end, we need the correct attribute name.
  • Code for shipment costs on order - (optional) this is the code to set on shipping lines for orders exported to Shopify. If left empty, the name is used, lowercase with spaces replaced by dashes.
  • A single payment gateway name for channel [CHANNELNAME] - (optional) this is the name of the payment gateway for a specific channel. This is only needed if you need to track specific payments per channel in underlying systems.

5. If all settings have a checkmark, you can toggle the ' Activate synchronisation for Shopify' slide on the right-hand side. This will attempt to do a test API-call to your Shopify environment, so if this results in an error (and not a green toggle) the API access token or API shop URL will most likely be invalid. Please double-check these settings and try again. If the problem continues, please contact us at support@channelengine.com for assistance.

6. If the plugin is successfully activated, tasks will automatically be scheduled to import products and shipments from Shopify and export orders to Shopify. You can the latest executed tasks and their next schedule in the 'Dashboard' section of the plugin settings.

// Orders

New orders from ChannelEngine will appear in the regular Shopify > Orders overview.

/ Phone

Shopify requires phone numbers on orders to be in the E164 International format (so including the +[COUNTRYCODE] prefix). Most marketplaces, however, allow phone numbers to be in any random format like a national format. An example: 

National format of phone number: 07911 123456
E164 format of phone number: +447911 123456

// Shipments, cancellations & returns

---

/ Shipments

-----------

/ Cancellations

-----------

/ Returns

-----------

// Troubleshooting & frequently asked questions

  • Why is the stock not automatically updated when orders are exported to Shopify?

    This is due to the way Shopify works: by default, it will never subtract or add stock on orders (or shipments / cancellations). This has to be done manually. However, ChannelEngine does offer the option to automatically update the stock when fetching a shipment for products (so we really know a certain quantity for a product is shipped/reduced). To find out how to enable this option, please check this article.
Did this answer your question? Thanks for the feedback There was a problem submitting your feedback. Please try again later.