WooCommerce as a Source
Summary
WooCommerce connects to Flxpoint as a source through the WooCommerce REST API using your store's Domain, Consumer Key, and Consumer Secret, generated from your WordPress admin. Get Inventory pulls the full product catalog (products, variants, pricing, stock, images, categories, and dimensions), Send Orders creates orders in the vendor's WooCommerce store matched by External Listing ID, and Get Shipments retrieves tracking using the WooCommerce order ID returned on order creation.
Add a source (Source Type Vendor Warehouse), click Start Creating Integrations → Get Inventory [Primary], then click + New Connection and enter the values below. Click Test Connection → Save Connection.
| Field | What to enter |
|---|---|
DomainRequired | Your WooCommerce store URL, including
This is the live store URL shown in your browser.https:// (e.g. https://yourstore.com). |
Consumer KeyRequired | Generated in WordPress at WooCommerce → Settings → Advanced → REST API → Add Key. Enter a description, pick the user the key runs as, then click Generate API Key.
Shown only once: copy it immediately. |
Consumer SecretRequired | The secret paired with your Consumer Key, generated on the same REST API screen. Set Permissions to Read/Write if you also use Send Fulfillment Requests.
Also shown only once: copy it together with the key. |
Connection NameSetting | Any label to identify this connection in Flxpoint, e.g.
For your reference only.WooCommerce API. |
API keys must be Read/Write and "pretty permalinks" must be enabled
Generate the Consumer Key and Consumer Secret at WooCommerce → Settings → Advanced → REST API and set the permission level to Read/Write (not Read only) if you also run Send Fulfillment Requests. In Settings → Permalinks, make sure a "pretty permalink" structure is selected: the REST API does not function on the default plain permalink.
Get Shipments needs a supported tracking source on the vendor's store
Flxpoint reads tracking from one of three sources: the paid WooCommerce Shipment Tracking plugin (default), the free Advanced Shipment Tracking plugin by Zorem (recommended alternative), or manually entered order notes in the exact format TRACKING: [Carrier] - [Tracking Number]. Running a different plugin (e.g. Shipmate) alongside the paid plugin causes conflicts: pick one tracking source per store.
Send Fulfillment Requests uses the External Listing ID from Get Inventory: import items first
When submitting orders, Flxpoint sends the External Listing ID saved during Get Inventory to look up the product on the vendor's store. If that ID is blank or stale (e.g. the product was deleted and recreated), order submission fails or lands on the wrong product. Always run Get Inventory [Primary] successfully before routing orders.
Blocked IPs return 403 on every operation
Some hosts and WordPress security plugins block requests from non-browser IPs by default. If you get persistent 403 errors despite correct credentials, the vendor's hosting provider must whitelist Flxpoint's outbound IP addresses: 52.44.101.151 and 52.1.186.211. Send these directly to the vendor's host: no need to contact Flxpoint Support for them.
Pulls the full WooCommerce catalog via the REST API: products and variants with SKU, pricing, stock, images, categories, weight and dimensions
| WooCommerce Field | Maps To: Notes |
|---|---|
| SKU | → Parent SKU. Primary product identifier. |
| Name | → Title. Product title. |
| Description / Short Description | → Description. Use both fields as needed. |
| Regular Price / Sale Price | → Cost. Sale price overrides regular when present. |
| Stock Quantity | → Quantity. Current on-hand. |
| Weight | → Weight (lbs). Convert if the store uses different units. |
| Dimensions (Length / Width / Height) | → Dimensions (in). Convert to inches if needed. |
| Category 1 / 2 / 3 | → Categories. Two levels are read; a third level is not captured. |
| Images | → Image URLs. Multiple images for the parent; by design only one image per variant. |
| Variant SKU / Price / Stock (variable products) | → Variant SKU / Cost / Quantity. Each variant is fetched via /variations and matched to its parent. Whole feed is re-pulled every run (full feed, no delta). |
A second, independently scheduled inventory job on the same source: WooCommerce is full-feed (no delta), so use it for a separate refresh cadence
Creates orders in the vendor's WooCommerce store from approved Fulfillment Requests, matching line items by the External Listing ID saved during Get Inventory
billing.* / shipping.*), Order Line Items (line_items[].sku, quantity is required), the Shipping Line (shipping_lines[]), and Totals (total, discount_total, fee_lines[]). Configure Hold for X Hours and optional Only Send During Business Hours. WooCommerce returns its own order ID as the acknowledgement (used later by Get Shipments). Fulfillment Request Number, Customer Association, Custom Fields, and Attachments are not passed to WooCommerce.Reads tracking from the store's active tracking source using the stored WooCommerce order ID and writes it back to your Fulfillment Requests
TRACKING: [Carrier] - [Tracking Number] (a manual CSV import is the last-resort fallback). Invoice information and custom fields are not returned.401 Unauthorized or 403 Forbidden on Test Connection or job runs
502 Bad Gateway: Get Inventory failing with 0 products imported
"No object available for Source Shipping Method > Shipping Code" on Send Fulfillment Requests
Get Shipments not returning tracking: vendor marks orders shipped but no tracking appears
TRACKING: [Carrier] - [Tracking Number] format. If they run a different plugin (e.g. Shipmate) alongside the paid one, disable one to resolve the conflict. Also confirm the Woo order ID was stored during Send Fulfillment Requests: if that failed, Get Shipments has nothing to look up.404 woocommerce_rest_product_variation_invalid_id: sync failing with invalid variation ID
Variant data missing or empty after Get Inventory Primary
/variations endpoint, and each variation must be in Published status (draft variations aren't returned). Also confirm the variant-level fields (Variant SKU, Quantity, Price) are mapped in your Get Inventory template. If variants imported before and then vanished, the vendor may have switched the product from Variable to Simple, which removes all variation data.Broken Link - Could not locate this listing on platform (404 Not Found)
Where do I find my WooCommerce Consumer Key and Consumer Secret?
https://. Enter all three into the Flxpoint connection form and click Test Connection.Does WooCommerce as a Source support draft or unpublished products?
What does Get Inventory (Primary) import from WooCommerce?
What tracking plugin options does Get Shipments support?
TRACKING: [Carrier] - [Tracking Number] (e.g. TRACKING: UPS - 1Z999AA10123456784), one note per package for split shipments. Running multiple tracking plugins at once (e.g. Shipmate alongside the paid plugin) causes conflicts: choose one source per store.