WooCommerce Integration
Table of Contents
Note: This document has been imported from the former KB and has not yet been verified.
Add photos to your inventory and choose which categories to keep in sync with your WooCommerce store.
Requirements
Working and web-accessible WooCommerce v2.6 +. We recommend v3.0 or higher.
Note: Currently the integration does not work with GoDaddy shared hosting services.
About this Integration
With the Syncro-WooCommerce integration:
- You can add photos to products (via web interface only).
- Syncro creates matching nested categories in WooCommerce (WC).
- You can choose which categories to send to your WC store.
- You can set up webhooks to point to Syncro and we'll try to create matching invoices/payments when your orders are marked "Complete" in WC, i.e. "Paid".
- Inventory levels sync, based on sales in WC.
- You can imports products from WC.
This integration does NOT:
- Generate unpaid invoices.
- Create a customer. (A customer must already exist for the invoice to be created.)
- Update products with "Maintain Stock" unchecked.
- Sync serialized items in WC back to Syncro. Any updates made to serialized items in WC will need to manually be made to the same items in Syncro.
How It Works
Inventory levels will be synced when the product is updated in our software for all products that say maintain stock: true. Other products will be created and available in WC at all times.
Product imports from WooCommerce will also pull the associated product descriptions into Syncro.
Descriptions are synced from Syncro to WC thereafter and changes in Syncro will be reflected in WC. This is a one-way sync, however, and manual changes to product descriptions in WC will halt further product description syncing to prevent accidental overwrites. This behavior can be overridden by forcing a "Sync With Descriptions" from the WooCommerce app card in your Syncro account.
We will attempt to set the first image as the "featured image" on the product, and we'll use the same categories when we first create the products (you can edit those).
We setup a SKU on the product in WooCommerce that is an identifier we need to be able to make updates to the product and not create duplicates, so don't change that.
When we get a webhook POST about an order, we'll try to find a customer on email/phone/full name, otherwise we won't create it for you within the software.
Set Up
To set up the Syncro-WooCommerce integration, follow these steps:
- Navigate to your WordPress site and make sure you have the latest WooCommerce plugin.
- Enable the REST API in WooCommerce.
Note: Make sure your WordPress permalinks are enabled using these steps. - Set up an API key on your user; make sure it has write access:
- In Syncro, navigate to Admin > App Center - WooCommerce.
IMPORTANT: Be sure your URL has https; if you don't have SSL we cannot use the REST API and the integration will not work.
Your URL should be set to the root domain and should look like this: https://yourstore.com/
It should NOT look like this: https://yourstore.com/shop
To test whether you're using the correct domain, try entering the URL into your browser and adding /wc-api/v3 to the URL. The wrong URL will show a -1 or 404. The right one will display a page of data:
- Set up the webhooks from WooCommerce to your account with us by copying the webhook URL out of the App page and putting it into WooCommerce:
- Optionally go to products and start adding photos:
Initial Import Products
The Import Products button imports all WooCommerce items into Syncro. This is designed to run once, when WooCommerce is first being set up, and it doesn't check for duplications. When you click this button, everything in WooCommerce is coming into Syncro:
These settings automatically sync Syncro products in the selected category to WooCommerce.
Syncro does not support automatic syncing of newly-created products in WooCommerce to Syncro. Any new items have to be created in Syncro and then sent to WooCommerce. In this example with the current settings, products in the “Quoter” category will sync to WooCommerce:
One-Way Sync
These sync buttons do the same thing as the “Auto-Publish Products” option for those who want to manually choose when products are synced instead of having it happen automatically:
Process Orders
Inside your Integration card, click the WooCommerce Orders button to see the status of your invoices. Please keep in mind that the invoice will not be created until it is in "Completed" status. In other words, there needs to be a payment on the invoice for it show up in Syncro:
Those statuses are based on WooCommerce's invoice processing workflow. Please refer to WooCommerce Documentation here for more information.
Troubleshooting
The error:
WooCommerce error in product sync WORDPRESS-CONNECTION-PROBLEM-401-{"errors":[{"code":"woocommerce_api_authentication_error","message":"Consumer Secret is invalid"}]}
Means that either:
- The consumer key/secret was not entered correctly.
- Your host is not allowing the connection. Users with GoDaddy have not been able to connect. We are recommending https://www.bluehost.com/ as a known host that works with WooCommerce.
Note: We have received reports that suggest that GoDaddy shared hosting services will not pass auth headers but that the Business level may. We recommend investigating and potentially updating your hosting service. - The key is set to WRITE only.
IMPORTANT:
There is a known problem with iThemes security plugin for WordPress. It doesn't allow us to sync products. To work around this you need to turn off the setting "iThemes plugin > System Tweaks > Filter Long URL Strings" in your WordPress to allow us sync products.