WooCommerce
WooCommerce integration
Quick Summary: Connect a WooCommerce store with REST API keys to import orders and send fulfillment updates. For: Clients Level: Beginner
Overview
The WooCommerce integration connects your store to FedEx with a WooCommerce REST API key. It imports new orders and sends fulfillment status and tracking back to the store.
Order import starts when you register the connection. The connection does not backfill earlier order history.
Before you start
- Confirm that Integrations is available to your user.
- You need write access to add or save a connection.
- Confirm pretty permalinks are enabled in WordPress.
- Use the HTTPS URL of your WooCommerce store.
- To send tracking numbers, install the WooCommerce Shipment Tracking plugin.
If Add New Integration or Save is missing, ask your company administrator for write access.
Quick start
Open Integrations from the username menu: Account Management → Integrations.
- In WooCommerce, open WooCommerce → Settings → Advanced → REST API.
- Select Add Key, choose the user, set Read/Write, then select Generate API Key.
- Copy Consumer Key and Consumer Secret.
- In Integrations, select Add New Integration, then WooCommerce.
- Enter Shop URL, Consumer Key, and Consumer Secret.
- Review the settings, then select Save.
An Active connection is tested when you save it. An Inactive connection skips the connection and webhook checks.
API credentials
WooCommerce creates each REST API key for a WordPress user. That user's role and the key permissions limit what the portal can read and write.
Pretty permalinks are required. Enable them in Settings → Permalinks before you create the key.
If you no longer have the secret, revoke the key and create a new one.
Connection fields
| Field | What to enter |
|---|---|
| Shop URL | The full HTTPS store URL, for example https://shop.example.com |
| Consumer Key | The key generated for the portal in WooCommerce |
| Consumer Secret | The secret paired with that key |
Each store URL can belong to one connection. Use the address that serves your WordPress REST API.
If WooCommerce is missing from the platform list, ask your Account Manager to confirm availability.
Save and verify
Review the settings, then select Save. For an Active connection, the portal tests the store connection and applies the webhook setting.
If the save fails, correct the store URL, key permissions, or permalinks, then try again.
Settings
Status
Active allows order import. Inactive stops scheduled polling and rejects incoming order webhooks. Existing portal orders remain available.
Fulfillment updates for existing orders depend on Mark Fulfillments.
Sync and fulfillment settings
| Setting | What it controls |
|---|---|
| Mark Fulfillments | Sends tracking and moves a processing order to completed |
| Send customer shipment notice | Adds a customer note with the carrier and tracking number |
| Enable Webhook | Subscribes the portal to WooCommerce order create and update events |
| Sync Shipping Cost | Imports the store shipping charge into the portal order |
| Pull Customs Value From | Selects Portal or Woocommerce as the customs-value source |
| Use Checkout Currency | Keeps the checkout currency or converts the order to USD |
Mark Fulfillments, Send customer shipment notice, and Enable Webhook are Yes by default. Use Checkout Currency defaults to Convert to USD.
WooCommerce sends the customer note email only when its order-note emails are enabled. A saved setting does not prove the email arrived.
Last Orders Sync
Last Orders Sync shows a polling checkpoint near the latest source order creation date. It advances only when the poll observes a newer order.
A successful empty poll leaves the value unchanged. Webhook imports do not move it.
Filters
Use Filters to limit which orders are imported. Each rule applies to sales orders.
| Attribute | Available values |
|---|---|
| Shipping Country | Country from the shipping address |
| SKU | Item SKU |
| Shipping Option | Shipping method title |
| Rule type | Import condition |
| --- | --- |
| Only listed values allowed | Every order value must be listed. The order does not need every listed value. |
| Matches the list exactly | The order values exactly match the list. |
| No listed values allowed | The order contains none of the listed values. |
| All listed values required | The order contains every listed value. Extra values are allowed. |
For Shipping Country and Shipping Option, the required-values condition displays Matches a listed value and accepts any listed value. Matches the list exactly cannot match these single-value fields.
Actions
| Button | What it does |
|---|---|
| Save | Saves the connection and applies the settings |
| Close | Returns to the integrations list and discards unsaved changes |
How order sync works
WooCommerce sends order create and update events when Enable Webhook is Yes. The portal also polls your store on a schedule, usually every 30 minutes .
The portal imports orders in processing status. Orders in other statuses are skipped. Cancelled and refunded events cancel a matching open portal order.
An imported order must also match Filters. An existing source order does not create a second portal order.
How fulfillment sync works
When a portal order is fulfilled and Mark Fulfillments is Yes:
- The portal sends the tracking number through the Shipment Tracking plugin.
- The portal changes a processing WooCommerce order to completed.
- The portal adds a customer note when Send customer shipment notice is Yes.
Orders already completed keep their status. A store order in another status can reject the update.
Tracking numbers need the WooCommerce Shipment Tracking plugin. Without it, the portal can still change the order status.
Troubleshooting
| Issue | Cause | Solution |
|---|---|---|
| Webhook setup fails on Save | The URL or keys are wrong, the key lacks write access, or permalinks are off | Check Shop URL, key access, and Settings → Permalinks. |
| Orders not importing | The connection is Inactive, filters exclude the order, or the order is not processing | Check Status, Filters, and the WooCommerce order status. |
| Orders not importing | The credentials or store URL changed | Create a key again and update Consumer Key and Consumer Secret. |
| Last Orders Sync does not move | The poll found no newer processing order | Confirm a new processing order exists, then wait for the next poll. |
| Fulfillments not appearing | Mark Fulfillments is No or the order is not processing | Enable Mark Fulfillments and check the store order status. |
| Tracking absent in the store | The Shipment Tracking plugin is missing or the order has no tracking number | Install the plugin and add tracking before you check the order. |
| Customer email missing | WooCommerce order-note emails are off | Check WooCommerce email settings and enable the customer note email. |
| Orders importing slowly | Enable Webhook is No | Set Enable Webhook to Yes, then select Save. |
For broader help, see Integration Troubleshooting.