Upgrade from 1.x to 2.x

Shopify has overtime added, changed and removed some features in the solution. To accommodate the changes in Shopify and make the Shopify Connecter up to date, some of the settings and mappings in the Shopify Connecter is removed or changed.

The Shopify Connector require some extra access scopes for the Shopify API. Ensure the API account has the right access scope as described in Shopify - Install | Shopify account

Import Variant Ids from Shopify

One of the biggest changes between the previous versions of the Shopify Connector and version 2 is the introduction of variant ids in Perfion.

In the same way that products have their Shopify ids in Perfion, variants now also have their Shopify ids in Perfion.

If you’re upgrading from an earlier version of the connector, your variants in Perfion does not have any Ids, and the first time the synchronization will run, all existing variants in Shopify will be deleted as their ids are unknown in Perfion.

To prevent this, it is recommended to export all of the variant ids from Shopify and import them into Perfion.

Shopify does not natively support exporting variant ids, but several apps in the Shopify App Store supports this. The process for doing this is described below

Install an app from the Shopify App Store that allows exporting variant ids

Ultimate Product ID Exporter is a free option, but as these apps are maintained by third parties, licenses and functionality are subject to change

Export all products and their variant ids.

Modify the exported file so it can be used as import into Perfion. In the file you should have variant SKU or variant Barcode as a unique identifier for the variants. The variant Id should be imported into the feature you use for SyncID for variants. You can delete the main products (your virtuals in Perfion) from the file

Import the variants and their ids

Now your variants in Perfion will match the correct variants in Shopify

E-commerce settings

The below settings are deprecated or changed

Setting

Description

SyncType

The SyncType only control the product SyncType. Use MetafieldDefinitionSyncType and CategorySyncType to control Metafield Definition and Categories

ShopifyApiVersion

Version is deprecated. The Shopify Connector will use the API version it is desigen for or the earliest stable version available

ShopifyStoreAPIKey

ShopifyStoreAPIPassword

The ShopifyStoreAPIKey and ShopifyStoreAPIPassword is deprecated. The Shopify Connector only support “Admin API access token“ which is set in the appsettings.json file.

ShopifyStoreAPIAccessToken

The ShopifyStoreAPIAccessToken is moved to the appsettings.json as ShopifyApi.AccessToken.

ConfigurationUpdateFrequencyInMin

The ConfigurationUpdateFrequencyInMin is deprecated. The Connector will update the configurations at any new synchronization cycle and it is not possible to update the configuration in a synchronization cycle.

SyncFrequencyInMin,

DataMaxAgeInMin

To control the frequency of synchronization cycles, the SyncFrequencyInMin and DataMaxAgeInMin is deprecated. Use the FullSyncFrequencyInMin and DeltaSyncFrequencyInMin insted.

SyncCategories

The SyncCategories is deprecated. If a category is mapped in the Category Mapping, the categories will be synchronized.

UpdateUnpublishedItems

The UpdateUnpublishedItems is deprecated. The Product Mapping “Publish” is deprecated. Use Status in Product Mapping to control the status of the Product.

KeepExistingVariantData

The KeepExistingVariantData is deprecated. The Shopify Connector will always update products and variants as they are in Perion.

SuppressMissingMetafieldWarnings

The SuppressMissingMetafieldWarnings is deprecated.

Languages

The Languages will now use all the languages, former it was only the first language.

ShopifyDefaultLanguage

The ShopifyDefaultLanguage is a new setting and need to be defined

Category Mapping

Mapping

Description

KeyField mapping

The KeyField mapping need to be From @Id To Key

SyncCollection

The SyncCollection is deprecated. All Collections will be synchronized.

SyncMetafields

The SyncMetafields is deprecated. If Metafield are mapped, the images will be synchronized.

SyncKeepDeletedMetafields

The SyncKeepDeletedMetafields is deprecated. Use the setting MetafieldDefinitionSyncType instead.

Published

The Publish is deprecated. Use the SalesChannels instead.

PublishedScope

The PublishedScopeis deprecated. Use the SalesChannels instead.

SyncID and SyncDate

The SyncID and SyncDate is required

 

Product Mapping

Mapping

Description

KeyField mapping

The KeyField mapping need to be From @Id To Key

SyncType

SyncType is deprecated. It is only possible to control the SyncType in the settings and not at the Product.

SyncProduct

The SyncProduct is deprecated. If a product is a part of the E-Commerce filter, the product will be created in Shopify.

SyncDefaultVariant

Shopify has added the possibility to create products without variants. The DefaultVariant concept is deprecated in the Shopify Connector.

SyncVariants

The SyncVariants is deprecated. All variants will be synchronized.

SyncCollections

The SyncCollections is deprecated. If the Collections/RelatedCategory is mapped at the Product, the Collection will be synchronized.

SyncImages

The SyncImages is deprecated. If Images are mapped, the images will be synchronized.

SyncMetafields

The SyncMetafields is deprecated. If Metafield are mapped, the images will be synchronized.

SyncKeepDeletedMetafields

The SyncKeepDeletedMetafieldsis deprecated. All Metafields will be synchronized.

Metafield|global|title_tag|string

Metafield|global|description_tag|string

The Metafield “global title_tag” is deprecated. Use SEO title and description instead.

Publish

The Publish is deprecated. Use the Status and Sales Channels instead.

PublishedScope

The PublishedScopeis deprecated. Use the SalesChannels instead.

DefaultVariantPrice

DefaultVariantCost

DefaultVariantSKU

DefaultVariantBarcode

DefaultVariantQuantity

DefaultVariantWeight

 

Shopify has added the possibility to create products without variants. The DefaultVariant concept is deprecated in the Shopify Connector. Use the fields without DefaultVariant instead.

DefaultVariantOption<n>

Shopify has added the possibility to create products without variants. The DefaultVariantOption<n> is deprecated.

Variant Mapping

Mapping

Description

SyncID and SyncDate

The SyncID and SyncDate are new at the Variant mapping and are required mappings.

SyncVariant

The SyncVariants is deprecated. All variants will be synchronized.

SyncMetafields

The SyncMetafields is deprecated. If Metafield are mapped, the images will be synchronized.

SyncImage

SyncAllImages

The SyncImages is deprecated. If Images are mapped, the images will be synchronized.

OldInventoryQuantity

The OldInventoryQuantity is deprecated.

InventoryQuantityAdjustment

The InventoryQuantityAdjustment is deprecated.

FulfillmentService

The FulfillmentService is deprecated.

InventoryManagement

The InventoryManagement is deprecated.

DoNotUseDefaultQuantities

The DoNotUseDefaultQuantities is deprecated.

RelocateIfNecessary

The RelocateIfNecessary is deprecated.

DisconnectIfNecessary

The DisconnectIfNecessary is deprecated.

Grams

The Grams is deprecated.

CountryCodeOfOrigin

The CountryCodeOfOrigin is deprecated.

HarmonizedSystemCode

The HarmonizedSystemCode is deprecated.

ProvinceCodeOfOrigin

The ProvinceCodeOfOrigin is deprecated.

 

Metafield types

Some of the metafield types are renamed.

Old type

New type

Bool

boolean

DateTime

date_time

Decimal

number_decimal

FileRef

file_reference

Int

number_integer

Integer

number_integer

MultiLineText

multi_line_text_field

PageRef

page_reference

ProductRef

product_reference

SingleLineText

single_line_text_field

String

single_line_text_field.

VariantRef

variant_reference