WooCommerce fulfillment for Canadian ecommerce orders
The WooCommerce connection uses your store’s REST API for order data. Setup requires API credentials and a reachable HTTPS store. Orders and the required updates are tested before the warehouse starts processing live work.
The connector, and its version
- API
- WooCommerce REST API
- Version
wc/v3
The connection uses WooCommerce’s REST API. Store permissions, security settings and extensions are reviewed before live orders begin.
3 credentials, and where each one lives
You create these in your own admin and paste them into ours. They are stored encrypted and masked after saving, and you can revoke them without involving us.
Consumer key
Where WooCommerce → Settings → Advanced → REST API. Create a key with Read/Write permission.
Why Read/Write because orders come in and fulfilments go back. Read alone would leave your store showing every order as unshipped.
Consumer secret
Where Shown once, alongside the key, when you create it.
Why Paired with the key to sign API requests. Stored encrypted and masked in the admin after saving.
Webhook secret
Where WooCommerce → Settings → Advanced → Webhooks, on the webhook you point at us.
Why Every inbound delivery is verified against it. WooCommerce webhooks are ordinary HTTP POSTs to a URL anybody could guess, so the signature is the only thing separating a real order from an invented one.
The events we handle, and what each one does
Webhooks, so a change on your store reaches the floor when it happens rather than at the next poll. Anything a webhook misses is caught by the reconciliation below.
| Event | What it means here |
|---|---|
order.created |
A new order to fulfil. |
order.updated |
Anything changed on the order. |
order.deleted |
Treated as a cancellation: pulled from the pick queue. |
Every delivery is verified
HMAC-SHA256 over the raw body, base64-encoded. WooCommerce's own scheme, which differs from Shopify's hex encoding.
The signature arrives on
X-WC-Webhook-Signature.
A webhook endpoint is a public URL. The signature is the only thing separating a real order from an invented one, so a delivery that fails the check is refused rather than queued.
Your store stays the record
-
Fulfilment
Tracking and status written back to the WooCommerce order, so the store is the record and your existing order emails keep working.
-
Cancellation
An order we cannot ship is marked, rather than sitting in processing indefinitely.
Orders can be imported from a timestamp for an initial load or reconciliation. Agree the date range and treatment of open orders during setup so existing work is not duplicated.
What people ask before connecting
Do I have to install a plugin?
The supported connection uses WooCommerce’s REST API rather than requiring an Ecom storefront plugin. Store access, API permissions and the order flow still need to be tested during setup.
Which WooCommerce versions work?
The connector uses the wc/v3 REST API. Share your WooCommerce version and any order-management extensions so the team can confirm the endpoints and permissions required.
My store is not on WordPress.com, does that matter?
No, and self-hosted is the commoner case. What matters is that your store is reachable over HTTPS and that REST API keys can be created, which is standard on self-hosted WooCommerce.
What if a webhook does not arrive?
The importer can reconcile orders against the API as well as receiving webhooks. If an order appears to be missing, give the team its store reference so the connection and import records can be checked.
Ready to move your orders faster?
Tell us what you ship and how much of it, and a specialist comes back within one business day.