Please Note: This integration requires WooCommerce 3.0 or greater (and Wordpress 4.4 or later).
If you are using an older version of WooCommerce, please see:
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.
WooCommerce requires you to turn on 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 'Default' or 'Plain'.
Step 1: Enable WooCommerce API
To enable the REST API within WooCommerce, visit the WooCommerce > Settings > API tab, check the Enable REST API checkbox, and click the "Save changes" button.
Step 2: Generate API Keys
Step 2A: Your Enable REST API option is on the API Tab
After you click the "Save changes" button you will proceed to the "Keys/Apps" section of the API tab.
On the Keys/Apps 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.
If you have no existing keys, it may appear a bit more like this...in which case you may click the large "Create an API Key" button if you prefer.
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.
NOTE: THE USER YOU SELECT IN THIS STEP HAS TO BE A USER THAT HAS ADMIN LEVEL ACCESS
We’ll need your consumer key and secret in the next step so keep them available to copy & paste.
NOTE: PLEASE SAVE THE KEY AND SECRET SOMEWHERE SAFE AS YOU WILL NOT BE ABLE TO SEE THEM AGAIN IN WOOCOMMERCE.
If you change tabs and come back to the Keys/Apps section it should appear similar to the following.
Step 3: Fulfillment Control Panel Settings
Once you have obtained your key and secret you will need to enter them into your Fulfillment Control Panel account. Choose Add Integration from the Integration menu.
Select WooCommerce API from the list of available platforms and click the “Add new Integration” button.
Your Consumer Key and Consumer Secret must be copied exactly as they appear in Wordpress.
Your Endpoint 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 Endpoint 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.
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 twice per day.
If you have more than one WooCommerce store you may assign a “nickname” to each store to better identify options and settings for each one.
Click the “Add new 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 store choose View Integrations from the Integration menu. For each integration, you have configured, you will see a set of options displayed as colored icons. Click the “suitcase” icon to view the items in your WooCommerce store.
You should see a searchable list of products from your WooCommerce store. The list will indicate if the product SKU matches a SKU in our system.
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 Plugin URL has been incorrectly entered in our system, or that your Merchant Id / Merchant Token are not correct in the plugin settings.
NOTE: To use item/sku variations, an individual sku must be added for each variation.
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
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.
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 Fulfillment Control Panel account choose View Integrations from the Integration menu and then click the “envelope” icon to view existing shipping mappings.
Carefully type or “copy and paste” the exact text of your shipping method options from WooCommerce into the Cart Shipping Method field, then choose from the list of available shipping methods. Next, click the “Add Mapping” button, and then click the link in the success message to refresh the list (you will need to do this before you can add another method).
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.