Connect WooCommerce with Craftybase
Learn how Craftybase pulls your WooCommerce data.
This article will guide you through how to connect to WooCommerce, and what types of data we can pull into your Craftybase account.
WooCommerce is a free WordPress plugin that’s a great affordable option for online handmade sellers - it powers 29% of e-commerce websites all across the world.
Craftybase pulls products and orders from WooCommerce using the WooCommerce API.
In this article:
Pulling your WooCommerce Products
Pulling your WooCommerce Variations
Pulling your WooCommerce Orders
Pulling your WooCommerce Order Refunds
Sending a System Status Report
Connect to WooCommerce
To connect your WooCommerce account with Craftybase:
- Check that you have the correct WooCommerce configuration to connect.
- Go to your Integrations page
-
Enter your WooCommerce Shop URL in the textbox that appears.

It's best to copy this directly from your store URL to ensure that the correct address is used, as redirects can cause issues with the authentication process and subsequent pulls, especially if your WooCommerce shop uses HTTPS.
- Click the Connect button. This will take you through the authentication process on the WooCommerce side. If you are not already logged into Woo on your browser, you'll be asked to enter your username/email and password.
Note: This is performed completely on the WooCommerce servers, so Craftybase cannot see or read your login details at any time.

- Once logged in, you'll be presented with a page to confirm the connection between Woo and the app. For your additional security, Craftybase requests only read access to your data - this will be shown on this page for you to review. To approve the connection, click the Approve button.

- Once the connection has been made, you will be taken back to your Integration page, and your WooCommerce account name will appear along with your next scheduled pull.
It is recommended that you always create your products on WooCommerce where possible and then pull them to create as products in Craftybase. This means that your external references will be correct from the start, and you will not need to do any merging between your manually created products and pulled ones.
Integration Requirements
To use WooCommerce with Craftybase, you must be using the following:
- WooCommerce 2.6+
- WordPress 4.4+
-
Enabled REST API. For this, you'll need to install the WooCommerce Legacy REST API plugin.
With the Legacy REST API plugin installed and activated, you can then enable the legacy REST API under WooCommerce > Settings > Advanced > Legacy API and select the Enable the legacy REST API checkbox.
- To enable the REST API within WooCommerce, visit the WooCommerce > Settings > Advanced > Legacy API tab link and tick the Enable REST API checkbox.
- Pretty Permalinks. To enable this, visit Settings > Permalinks so that the custom endpoints are supported. Default permalinks will not work.
- You can allow Craftybase access to your store with either HTTP or HTTPS, but HTTPS is recommended where possible.
- API User Role. A user that has the role of Shop Manager or Administrator
In order for Craftybase to access WooCommerce, you must have a user in your WooCommerce store who has the role of Shop Manager or Administrator, who assigns API keys to Craftybase to access your WooCommerce store. The account you sign in to your WooCommerce store will most likely have the role of Administrator. If you wish, you can set up a new user in your WooCommerce store for Craftybase, assign this user the role of Shop Manager, and then use this account when authorizing Craftybase access.
WooCommerce Products
Products on your WooCommerce store will be pulled as both Products and Listings in Craftybase. More details on the rules we apply can be found here: How does the app pull products from my integration?
WooCommerce Variations
WooCommerce Variable Products are pulled into the app as Variations. All Attributes configured as part of your variable products are pulled as Variation Attributes in the app.
WooCommerce Orders
We apply the following logic depending on the current status we find on the Order:
| Status | Pulled into the app? | Marked as Paid? | Marked as Shipped? | Notes |
| DRAFT | No | - | - | Orders marked as Draft will not be pulled. |
| PENDING | No | - | - | Orders marked as Pending will not be pulled. |
| FAILED | No | - | - | Orders marked as Failed will not be pulled. |
| PROCESSING | Yes | No | No | This status is when the Order is being processed and does not indicate if the order has been paid or shipped. |
| ON-HOLD | Yes | Maybe | Maybe | This status is when the Order has been set to on-hold by the store owner and is a workflow indicator so it may be paid or shipped depending on the order attributes. |
| COMPLETED | Yes | Yes | No | This status will occur when an Order has been paid and shipped to the customer. |
| CANCELLED | Yes | Yes | No | When an Order is pulled with this status, it will be automatically cancelled in the app. |
| REFUNDED | Yes | Yes | No | This is when the invoice is refunded through WooCommerce. In this case, an adjustment will be added to the Order containing the amount refunded back to the customer. No adjustments will be made to stock - any returned stock will need to be adjusted manually. |
Payment dates will be taken from when the payment was recorded by the associated payment gateway.
Shipping dates will be taken from when an order has been marked as completed.
WooCommerce Order Refunds
If you issue a refund for a WooCommerce order when this order is next updated, an adjustment will be applied to the order containing the amount refunded. This will appear in your Order totals area under "Adjustment".

If you have had stock returned to you as part of this refund, we will cancel the order line item returned to you and increase your stock quantity to include the returned item.

If you have partially refunded a WooCommerce order and the customer has also returned/exchanged a product in the sale, then you will also need to adjust your inventory in order to account for this. You can either add inventory adjustments to account for the changes in stock or, alternatively, if you would like the order to correctly represent the new items, you can remove the entire order and manually add it again with the new items.
WooCommerce Fees
No gateway payment data is pulled as part of this integration.
Sending a System Status Report
- Go to WooCommerce > Status.
- Troubleshoot using the info below before opening a ticket at Woo Support.
-
Click Get System Report and then Copy for support to copy/paste it into your Support Request. The information included will help our support team narrow down the issue much more quickly.

FAQ
When attempting to connect to WooCommerce, I receive the error message: "An error occurred in the request and at the time were unable to send the consumer data."
There are a few possible causes of this issue:
- The most common cause of this problem is that your store is using WooCommerce version 3.5 or earlier. Make sure you upgrade to the latest WooCommerce version before installing our plugin.
- Your store doesn’t have a valid HTTPS/SSL certificate. Make sure you install and activate one so our app can communicate with the WooCommerce API.
- For the plugin to work, WordPress needs to be installed at the domain or subdomain level, not at the page level. For example, say you’re developing a store for a client and you’re creating a mockup on
www.example.com/devstore/. Our server will try to connect to the WooCommerce API at subdomain level, onwww.example.combut the store is onwww.example.com/devstore/. As an alternative, you can install the development store on thedevstore.example.comsubdomain, that will work. - Your website is password protected, or you’re using a “coming soon” or “site under construction” plugin that’s disabling public access to your store. This also disables API access and our app needs it to work.
- You have a caching plugin on your store that strips the “Authorization” header. Try disabling your plugins one by one to find the one that’s causing the issue.
Important: As this pertains to the configuration of your web server and/or other WordPress plugins, Craftybase cannot provide support in these cases. You can try the suggestions below at your own risk. Please always consult with a web developer when making configuration changes.
In some cases, doing the following might help (some may not apply to you):
- Review the configuration of your caching plugin and look for settings that pertain to caching or not caching headers
- Generate a new, valid LetsEncrypt certificate for your subdomain on the server level
- Remove the Cloudflare CDN Proxy from the Subdomain (i.e., having it point directly to the IP)
- Switch the WooCommerce Theme to “Storefront” just for the connection
- Adding the following to your
.htaccessfile:
SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1
Need help?
Still have questions about connecting WooCommerce with Craftybase? Please get in touch, and we'll be happy to help.

