WooCommerce API Integration Instructions

Note: Each install of this shopping cart is unique due to several outside factors (i.e. platform where it's installed, version of PHP, plugins/add-ons, etc.) These instructions have been tested and are known to be working with the base install of the cart in our test environment.  EFS troubleshooting of issues will be limited to the install configuration that is known to be working with our integration.  All other troubleshooting (and associated expense) will have to be done by you and/or your developer.

Wordpress Requirements

WooCommerce requires you to update the WordPress permalinks under Settings > Permalinks in order for you to use their API. Under the 'Common Settings' section permalinks can be anything other than 'Plain'.

Generate API Keys

To generate API keys within WooCommerce, visit the WooCommerce > Settings > Advanced tab, choose REST API from the sub-menu.  On the REST API page, you may see a list of your existing keys along with a button near the top for "Add Key" which you will need to click.

On the next page you will need to add a description for your new API key, select an admin user to associate with the key, and set the permissions to "Read/Write". Finally, click the "Generate API Key" button. 



Consumer key and secret are needed in the next step so keep them available to copy & paste.


Step 3: Integration Portal Settings

Once you have obtained your key and secret you will need to enter them into your Integration Portal account. Choose Add Integration from the Integration menu.


Select WooCommerce from the list of available platforms.


Give your integration a unique name.


Your Store URL will be the URL of your store with a trailing / added on the end.
For example, if your store URL is “https://www.my-store.com” your Store URL will be as follows: 




Next, you will enter the orders status for orders that should be fulfilled, as well as the status to set once an order has been shipped.


Your Consumer Key and Consumer Secret must be copied exactly as they appear in Wordpress.

Status of orders to pull should match the status of orders you would like fulfilled. Each time we connect to WooCommerce to retrieve new orders we will only see orders matching this status.

WooCommerce has the following, stock statuses available: pending payment, processing, on hold, completed, cancelled, refunded, failed.


The next set of options determines the intervals at which we check for new orders and, optionally, send available inventory counts back to WooCommerce (please see the Optional Features section for more information on inventory syncing).


The most common scenario is to check for new orders every 30 minutes and sync inventory hourly.

This integration now offers the option of retrieving orders for specific countries only.

Click the “Save Integration” button to finalize the integration settings. You should see a success message at the top of your screen.



To verify that we can connect to your WooCommerce we recommend that you visit the "Cart Items" page and trigger the "Refresh" function to sync items from your cart.



After the refresh you should see a searchable list of products from your WooCommerce store which can be activated if you wish to use inventory sync.

NOTE: A filter has been added for item retrieval.  Only items with the status of "Publish" will be retrieved by our system.  Other product statuses (such as "Draft") will be ignored.

If you do not see a list of products and, instead, see an error message it is likely that your URL has been incorrectly entered in our system, or that your permalinks have not been changed.

Shipment & Tracking Updates

Throughout the day, we will send tracking numbers back to WooCommerce as your orders are shipped.

WooCommerce doesn’t support tracking numbers by default so we will add the tracking number as a note on each order along with updating the order status to “completed” or whatever status you have chosen.

Optional WooCommerce Tracking Plugin
(WARNING!!! It appears this plugin has changed since this integration was originally configured to interface with it, and may no longer provide the full functionality at this time)

WooCommerce offers a Shipment Tracking plugin (v1.5 or higher) to enhance this process. They indicate with the plugin installed, "the tracking information will appear in emails, the order tracking page, and the order view page in their account section". Order completed emails include a tracking section with the plugin installed:


If you would like to use this plugin, set the "Shipment Tracking Plugin" integration setting to "yes" and we will interface with the plugin instead of creating a note.

Shipping Methods

When we retrieve your orders from WooCommerce the shipping methods are shown as strings of text such as “Free Shipping” or “USPS International Express” or “Federal Express Ground”. This text needs to be translated to our internal codes by setting up mappings within the integration configuration.


From your integration portal account choose "Ship Maps" from the Integration config you just created. Alternatively, if you have more than one config with the same shipping options, you can create "Global Ship Maps" that apply everywhere.

Carefully type or “copy and paste” the exact text of your shipping method options from Etsy into the Cart Method field, then choose from the list of available shipping methods. Next, click the “Save” button (you will need to do this before you can add another method). Repeat this until all of your cart ship methods are mapped to our internal codes.

Optional Features

We also have a feature which will synchronize the available inventory counts from our warehouse back to your WooCommerce store. This is useful if you don't want to sell products that are out of stock. If you are interested in this feature you will need to turn on WooCommerce’s "track inventory" feature for each product. More information on Inventory Syncing can be found here.


Have more questions? Submit a request


Please sign in to leave a comment.
Powered by Zendesk