Connect WooCommerce: pull orders in, push fulfillment out
Create a REST API key in WooCommerce, paste the Store URL, Consumer key and Consumer secret into Integration, test, map, activate — orders flow in and fulfillment flows back.
The WooCommerce connector pulls orders from your WooCommerce store into OMS, and pushes fulfillment back to WooCommerce. It can also push products and inventory, so listings and stock stay in sync on both sides. One connection per store: each store has its own Consumer key and Consumer secret.
Prerequisites#
- A WooCommerce store running on WordPress, with admin access to WooCommerce Settings.
- Permission to create REST API keys in that store (WooCommerce → Settings → Advanced → REST API).
- Your store URL uses https, and permalinks are not set to Plain — the REST API does not work with Plain permalinks.
Get your credentials#
- In your store admin, go to WooCommerce → Settings → Advanced → REST API → Add key.
- Select the user the key belongs to, and set Permissions to Read/Write, then generate the key. Read/Write is needed because the connector not only pulls orders but also pushes fulfillment, products and inventory back.
- Copy the Consumer key. It starts with ck_.
- On the same page, copy the Consumer secret. It starts with cs_ and is shown only once — save both values somewhere safe right away.
Fill it into Integration#
- Open Integration → Connector Marketplace → WooCommerce → New connection.
- Store URL — required: the full store URL including https, e.g. https://www.example.com. Fill the store address itself, not the admin address.
- Consumer key — required: paste the Consumer key you copied from WooCommerce → Settings → Advanced → REST API (starts with ck_).
- Consumer secret — required: paste the Consumer secret from the same page (starts with cs_). It is encrypted at rest and never echoed back.
Test the connection#
Click Test connection. The test runs two levels: connectivity (the Store URL is reachable and the Consumer key and Consumer secret are accepted) and a document-level preview (pull one real order and show platform fields → standard order side by side). If the store has no orders yet, place a test order in WooCommerce first — the preview needs one real document. If the test fails, note the error and check the FAQ below before changing anything else.
Mapping / pick a template#
Pick the WooCommerce standard template. It maps order number, line SKUs, quantities, ship-to address, and fulfillment status. Check the mapping preview with one real order before activating — especially that every WooCommerce SKU is paired to an OMS product, and that the address fields land in the right place.
Activate#
After activation, Integration pulls new orders on the schedule you set, and pushes fulfillment with tracking numbers back to WooCommerce. Product and inventory pushes keep listings and stock in sync. Watch the first few orders in Runs / Logs before trusting it unattended.
FAQ#
Test fails with 401
The Consumer key or Consumer secret does not match the store, or the key was created with Read-only permissions. A wrong or incomplete copy is rejected outright, and a Read-only key cannot push fulfillment, products or inventory back, so write calls are rejected too.
Go to WooCommerce → Settings → Advanced → REST API, create a new key with Permissions set to Read/Write, copy the new Consumer key and Consumer secret exactly as shown into Integration, and test again. If you regenerate the key, the old values stop working, so update the connection in the same step.
REST API path is not reachable
Your WordPress permalinks are set to Plain. In Plain mode the store pages still open, but the WooCommerce REST API paths do not work, so Integration cannot reach the API to pull orders or push anything back.
In WordPress, open Settings → Permalinks, choose any structure other than Plain, save the change, then test the connection again in Integration.
Store URL is wrong and the test cannot connect
The Store URL in Integration does not point at the store itself: most often the https:// part is missing, or the admin address was pasted instead of the store address, so the test talks to the wrong place and never reaches WooCommerce.
Fix the Store URL field to the full store address including https, e.g. https://www.example.com — the address shoppers open, not the admin address — then test again.
Connected but no new orders are pulled
The connection itself is fine: the store simply has no new orders in the pull range, so there is nothing to import yet.
Place a test order in your WooCommerce store, check that its time falls inside the pull range, then run a manual pull and confirm the order appears in the preview or in Runs / Logs.