If you have questions about the below instructions, contact Tower Support
Note: This is not something Tower Support is able to do for you as it requires checking your website Navigation Menu is still functioning as expected. Tower Support does not know how your website Navigation has been setup.
Shopify have released a new API Connection and retired their previous connection. To accommodate this change, a new version of Tower Web Connect (TWC) has been released.
This article will guide you through migrating your Tower Web Connect Connection to the new Shopify link.
If your website is Magento, BigCommerce or Woo Commerce, no action is required.
What Has Changed?
- The new API connection allows Shopify to create products with up to 2000 variants (unique Colour, Size, Style combinations). Previously this was limited to 100.
- Retailer Department and/or Categories will now always be created as Shopify Collections. Department and/or Categories will be added as Product Metafields. If you use a Tag for Navigation, these Collections will appear to be new and can be ignored.
- A default Shopify Collection sort order for products can be set. This applies to new Collections created by TWC.
- Variant Products will now be unpublished when all Variants have sold out (i.e. All Sizes or Colours) if 'Unpublish Out of Stock' is enabled. Previously Variant Products would remain on the website as 'Out of Stock' until manually removed.
- Variant Sort Orders set in Retailer will now apply to the display order of Variants in Shopify
Shopify Collections
Shopify has two types of Collections: Manual Collections and Smart Collections. Manual Collections in Shopify require products to be manually added to them. Smart Collections automatically add products that match criteria.
Shopify sites developed by Tower would make use of Manual Collections before 2021, and have been using Smart Collections afterwards.
Smart Collections will be automatically updated during the migration.
Legacy Manual Collections with the same name as Departments or Categories will interfere with Smart Collections. This will show as a Sync Error in Tower Web Connect. This won't prevent products syncing to Shopify but the products won't appear in the correct Collection (and menus) unless manually updated in Shopify.
Our recommendation is to switch to Smart Collections. The last step of the migration will cover the details if this applies to you.
What Do I Need to Do?
The new link to Shopify represents a significant change to how Tower Web Connect interacts with your website, and we've made the migration process simple and practical.
It's important to note that after the migration process, there is a potential for unforeseen issues to arise.
This may include needing to update your Shopify Menu options and Shopify Collection pages, so please allow time for this when scheduling the migration.
Do not perform the migration immediately before a large Online promotion or on a weekend when assistance from Tower Support is limited.
Backup Shopify
Migrate TWC Connection
- Login to Tower Web Connect
- Click your Shopify Connection.
- Click the 'Migrate to GraphQL' button in the top right corner
- TWC will then create a new Shopify Connection with '(GraphQL)' in the name and migrate your previous settings. Your previous connection will be disabled.
Syncing Retailer Categories to Shopify
Previously, your Retailer Categories would sync to Shopify as a Tag if 'Update Product Tags' was enabled.
Retailer Categories now sync as a Product Metafield called 'Category'
Existing Smart Collections will be updated to use the new criteria.
If you sync Retailer Categories to Shopify, you should check the settings are correct after migrating.
- Login to Tower Web Connect
- Click your new Shopify Connection. It will have '(GraphQL)' in the name.
- Scroll down to Resources and make sure 'Category' is ticked
Delete Shopify Webhook
- In your Shopify Admin page, down the left hand side, click Settings.
- Down the left hand side, click Notifications.
- Click Webhooks.
- Next to Order Creation, click the 3 dots on the right hand side.
- Click Delete.
Update API Permissions
- In the Shopify Admin page, click on 'Settings' on the left.
- Click on 'Apps and Sales Channels' on the left.
- Click on 'Develop Apps' on the top right.
- Click on the Custom App. It may be called 'Retailer Link', 'TWC Link' or 'TALink'
- Click on the Configuration tab.
- Next to 'Admin API integration', click Edit.
- Tick all the boxes that say Read or Write.
- Click Save in the top right.
Check new TWC Webhook
- Open Tower Web Connect.
- Click your new Shopify GraphQL connection.
- Click
into the Sales tab, and scroll down to the Webhooks area. Make sure it
says 'Scope: Orders_create' with the green word Enabled.
- If it doesn't have a webhook scope enabled, click Test Webhook. It should now show the webhook enabled.
The new weblink will have no record of the products on the website yet, so it's recommended to do a full sync from Retailer.
- From the Main Screen of Retailer, click Tasks -> Weblink Full Sync.
- Click Yes.
- A sync should appear in the Tower Web Connect Syncs tab within 15 minutes.
- Wait for the sync to complete in Tower Web Connect (this will take an hour or two depending on the number of products).
Note: The Tower Web Connect Syncs tab will show errors for the initial sync. TWC will automatically try these again in the next sync.
If subsequent syncs show errors, click Actions -> View Details to view details on the errors. Click HERE for some common errors and their fixes - Once the sync is complete, check your Shopify site. Confirm it is displaying as expected and your Navigation Menu is working.
- Click the links in your Navigation Menu at the top of your Shopify page and confirm the products displayed as expected
- You should only do this step after the other sync has completed, so wait an hour after doing the above. In some situations, some products may not unpublish or update correctly, so it's advisable to log into Tower Web Connect, and in the Syncs tab, do another sync by clicking Create Full Sync at the top. This is because it's the first time the new link is syncing these products
Check Tower Web Connect for continuing errors
After the Full Sync completes in Tower Web Connect, any errors will be re-tried in subsequent syncs. Errors may occur as a once-off, but if not, this indicates an issue that requires intervention.
- Login to Tower Web Connect
- Click your new Shopify Connection. It will have '(GraphQL)' in the name.
- Click the Syncs tab.
- In the list of Syncs, check the Errors column.
- Next to the most recent Sync with Errors, click Actions then 'View Details'.
- A list of items updated in the Sync will appear. The Status column will show Success or Failure.
- For any items with Status of Failure, click the Plus + button on the left hand side to expand and view the detailed error information.
For Departments or Categories, the error 'Handle has already been taken' will appear if there is a Manual Collection with the same name (See the explanation above). If you wish to switch to Smart Collections, follow the 'Replace Manual Collection with Smart Collection' section below. A list of common errors and their resolution can be found HERE
Troubleshooting Steps
The below steps are only required if referred to by Tower Support.
- Log in to your Shopify Admin portal.
- Click on 'Settings' on the left.
- Click on 'Apps and Sales Channels' on the left.
- Click on 'Develop Apps' on the top right.
- Click on the Custom App. It may be called 'Retailer Link', 'TWC Link' or 'TALink'
- Click on the Configuration tab.
- Next to 'Admin API integration', click Edit.
- Scroll down past the 'Admin API access scopes' section to the 'Webhook subscriptions' section
- Click the Event Version drop down menu and select the option ending with '(Latest)'
- Click Save in the top right
The Webhook created by Tower Web Connect will always be created with the Trigger Event of 'Order Created'.
If you wish for Web Orders to import to Retailer with a different Trigger Event, you will need to setup the Webhook manually.
- Login to Tower Web Connect
- Click your Shopify Connection. Make sure to select the connection with (GraphQL) in the name
- Click the 'Sales' tab
- Scroll down and click the 'Delete Webhook Connection' button
- A message should appear in the bottom right corner, 'Webhook deleted successfully'
- Log in to your Shopify Admin portal.
- Click on 'Settings' on the left.
- Click on 'Notifications' on the left.
- Click on 'Webhooks'
- Click 'Create Webhook'
- In the 'Event' drop down menu, select the Trigger Event you wish to use
- Leave Format as 'JSON'
- In 'URL' enter:
https://eccserver.towersystems.com.au/shopify-graphql-connector/webhooks/receive-sale - In the 'Webhook API Version' drop down menu, select the option ending in '(Latest)'
- Click Save in the bottom right
- Note: After saving the webhook, DO NOT click 'Send Test'
Tower Web Connect will now set the Retailer Department and Category of products as a 'Metafield' in Shopify.
If you wish to be able to filter by Department and Category in Shopify Admin, this must be enabled for the Metafield.
Note: By default, you can filter by Collection for Department and/or Category
- From your Shopify admin, go to Settings > Metafields and metaobjects
- Click Products
- Click the Department or Category metafield that you want to use for filtering.
- Scroll down to the Options section, turn on 'Use as a filter on products index and in the Admin API'
- Click Save.
Manual Collections created in Shopify for Departments or Categories may cause a 'Handle has already been taken' error in Tower Web Connect when syncing the Departments or Categories.
We recommend using Smart Collections in Shopify so products in the Collection update automatically (rather than needing to add products to the Collection manually in Shopify).
Remove Handle from Manual Collection
- Log in to your Shopify Admin portal.
- Click on 'Products' on the left.
- Under 'Products', click 'Collections'
- In the top right corner, click 'Search and Filter' (Magnifying Glass 🔍).
Under 'Searching all Collections' click the 'Type' drop down menu.
Click 'Manual'.
Tick the Collections you wish to edit. Use the empty tickbox at the top of the page to select all Collections.
Click 'Bulk Edit'.
In the top right, click 'Columns'.
Make sure the 'URL Handle (SEO)' option is ticked.
You may need to click and drag the edge of the 'URL Handle (SEO)' column to make it wide enough to see
At the end of the Title, add a number e.g. Gifts2. Do this for each Collection
At the end of the URL Handle (SEO), add a number e.g. collections/gifts2. Do this for each Collection
Click Save in the top right. After saving, click Back in the top left
Resync Department or Category from Tower Web Connect
- Login to Tower Web Connect.
- Click your Shopify Connection. Make sure to select the connection with (GraphQL) in the name.
- Click the 'Resources' tab.
- In the 'All Resource Types' drop down, select 'Department Resources' or 'Category Resources'
- In the 'All Actions' drop down, select 'Create'.
- Next to each Department or Category, click 'Actions' then 'Reset'.
- Wait 5 mins for this to Sync to Shopify.
Update Navigation Menu with new Collection
- Log in to your Shopify Admin portal.
- Click on 'Content' on the left.
- Under 'Content', click 'Menus'.
- Click the Menu you wish to edit. This could be 'Main Menu', 'Header' or 'Footer', etc.
- Use the arrow > buttons next to each Menu Item to expand the menu to the Collection you wish to update.
- Click the Collection Name then click the Link box.
- Select the Collection without the ending number. e.g. Gifts not Gifts2
Click 'Save'.