Setting up an integration via Shopify
Copy the link to the article
Copied

In order to install the Shopify application for integration with the system, click on “Visit the Shopify App Store” in the Apps section in the admin panel of your Shopify store.

In the Shopify App Store search box, enter the module name "RetailCRM". Next, go to the module page and click the "Add App" button.

After this, a page in Shopify will open with a list of the module's integration features. To install, click "Install app".

Step 1

The first step in configuring the module is to enter the data for the system to be connected. In the first field, enter the previously generated API key. In the second, you need to specify the full URL of the system to be connected (for example, https://demo.simla.com). Click “Save and Continue”.

Step 2: Additional settings

Now you must select the store, the data of which will be synchronised with the system.

In the “Customer’s company” setting (optional), it is possible to specify a custom field from the system to which the value from the “Company” field (contained in the customer address) will be transferred. Since the customer in Shopify can have 2 addresses (billing address and shipping address), the value will be transferred from the address which was set by default in the customer data. The value is transferred only from Shopify to CRM.

Next, you need to match the order statuses between the system you are connecting and Shopify. You can learn about how to set up statuses in the corresponding article.

When the option "Enable extended statuses" is activated, delivery statuses and reasons for cancellation will be displayed.

Please note that when configuring the mapping, only statuses of a certain group from the system are available: the availability depends on the stage of processing the order. (This means that if the Shopify status relates to the delivery, only statuses of the delivery group from the system will be available when configuring the mapping).

Important!

There should be no duplicate values in the mapping settings, otherwise the data on the order statuses in the system will be incorrect.

Configuring the mapping of statuses, you can select an empty value (“Not selected”). In this case the statuses won’t be synchronized. If you select an order status in the system which does not have its analogue in the settings of the Shopify app, the order with this status will also remain untouched.

Then, match the delivery services on the site and the delivery types in the system.

The values for the selection of matches are loaded from the system's data book; read about the data book in the corresponding article.

The option "Transfer track codes to Simla.com user field" allows to transfer track numbers for tracking to the system. To do this you need to select the corresponding user field in the settings. If you need to disable the transferring of track codes you can leave the field without the selection.

Track numbers are transferred to the system only after the order has been fully shipped (fulfilled). If the order has several shipments (fulfillment) or the shipment contains several track numbers, all track numbers of successful shipments separated by commas will be transferred to the user field of the system.

Changing, adding and deleting track numbers are also processed and transferred to the system. When canceling a shipment, the track numbers of this shipment will be deleted from the system.

Important!

Integration does not process changing of track number in the user field of the system. If you change it, the value will be overwritten to the initial one during the next order changing in Shopify. Therefore, we recommend that you make this field non-editable.

The setting "Transfer all payment types to Simla.com" is enabled by default. This means that all payment types created in Shopify will automatically be uploaded to Simla.com (they will appear in the "Payment types" section). If this option is deactivated, the "Any Shopify payment gateway" field will appear. The value specified in this field will be displayed as the only payment type when uploading orders from Shopify to Simla.com.

The last step of the second step is to configure the choice of the type of payment with which the order will be uploaded from Shopify to the system.

When saving the settings of this step, the following error may appear: “Selected payment type “Cash” is not allowed for some delivery types: “Customer pickup”. The error is displayed if you, in the system settings, haven’t allowed to use this payment type for the selected delivery type (the settings are set in the delivery data book).

Click on “Save and Continue” to go to the third step of the integration setup.

Third step

In the third step, webhooks will be generated to transfer orders and customers from Shopify to the system, as well as an ICML file will be generated to upload the catalog to the system. To the store settings, in the system, the URL of the ICML file will be automatically added. The catalog will be uploaded to the system every 4 hours.

ICML

Pass xmlId to ICML

To link products from Shopify to MoySklad, you need to select a parameter in the "Pass the xmlId parameter to ICML" option, the value of which will be specified in the ICML file of the catalog:

  • SKU (specified in the product card in Shopify)
  • Barcode (specified in the product card in Shopify)
  • GraphQL API ID (external identifier of the Shopify product, generated from the external code of the MoySklad product. This information is hidden, it is not specified in the product card)

Reverse synchronization

To transfer changes made on customers and orders in the system, it is required to enable reverse synchronization.

If reverse synchronization is enabled, changes from the system to Shopify are transferred once a minute (this time can be increased since the more changes you transfer, the more time is needed). It is recommended to enable two options (both synchronization on orders and on customers).

Reverse synchronization on customers

This option allows to upload new customers created on the system side to Shopify, as well as update information on existing customers (if their data in the system is changed). If the reverse synchronization of customers is disabled but that of orders is enabled, then only those customers who have orders in the system will be created in Shopify.

Reverse synchronization on orders

This option allows to upload new orders created on the system side to Shopify. Shopify has some technical limitations, so system changes of order details won’t be transferred to Shopify.

How to disable

You can disable reverse synchronization at any time. If you enable it again, only the changes for the last 24 hours will be transferred from the system to Shopify. This time limit allows you to avoid uploading irrelevant data especially if reverse synchronization has been disabled for a long time.

Important!

Triggers that are used to transfer customer or order data from the system to Shopify will no longer be supported starting from April 1, 2021. To continue the uploading of data from the system to Shopify, it is required to update the application and enable reverse synchronization on orders and customers.

Please note that if there are configured triggers in the system, then when enabling reverse synchronization on orders or customers, data won’t be uploaded to Shopify by means of triggers. When reverse synchronizatinon on orders or customers is disabled, data will be uploaded to Shopify by means of triggers if they were previously configured in the system.

Warehouses and stock balances

In this section you can set up the transfer of information on stock balances from Shopify to the system or from the system to Shopify. Select the direction of syhcnronization and the values of the warehouses in the system for which the stock balances will be synchronized. Stock balances are updated every 2 hours.

Note

Stock balances are synchronized only for those warehouses that were matched in the system settings.

Scripts

If you want to use the Live Chat on the site, insert the script from the Live Chat settings into this block and save the changes.

Metafields

In Shopify the Metafield entity is similar to user fields in the system. It is possible to configure the matching of additional fields of Shopify and the system by orders and customers for further synchronization of this data. Data exchange occurs after the changes are saved.

Note that certain data types are available for selection: multi-line text, string, integer, decimal number, true or false, date, URL.

To set up a two-way exchange of additional data on orders and customers, you need to create similar fields on the Shopify side and on the system side.

To create a metafield in Shopify go to Settings - Metafields section. From the offered list select the section (Orders or Customers) to which you want to add a new field.

Next click the "Add Definitions" button. Enter "Name" of the new field, "Namespace and Key" and if necessary "Description". Select the required “Content Type”.

Note that certain data types are available for synchronization: multi-line text, string, integer, decimal number, true or false, date, URL. If necessary, you can set validation to the minimum and maximum values.

Important!

Only fields with the "Single value" type are available. Fields with the "List of values" type are not available for synchronization with the system.

To create a user field in the system, go to Settings - System - User Fields. Click the "Add" button.

Matching Shopify and system fields

Metafield type in Shopify User field type in CRM
Date Date
Multi-line text Text
String String
Integer Integer
Decimal number Number
True or false Checkbox yes/no
URL Text

Blocking the application

Synchronization of data from Shopify to the system may be suspended due to exceeding the application request limits. For example, if a large number of orders are placed on the site in a short time. In this case, in the application settings, a message will be displayed about the temporary suspension of synchronization between Shopify and the system. It is recommended to check the integration functionality 10 minutes after the message appears. If data transfer is not resumed, please contact our technical support.

Thank you for your feedback.
Was this article helpful?
No
  • Рекомендации не помогли
  • Нет ответа на мой вопрос
  • Текст трудно понять
  • Не нравится описанный функционал
Yes
Previous article
Setting up a Shopify integration (from RetailCRM)
This article explains the settings that must be configured in RetailCRM before connecting the Shopify module.
Next article
Two-way integration between Shopify and the system
This article describes the data that is synchronised between Shopify and the CRM, and vice versa.