WooCommerce as a Source

WooCommerce is supported as a Source in Flxpoint. This guide shows you how to create the WooCommerce Source, connect the REST API with your store’s Domain, Consumer Key, and Consumer Secret, and map required fields for inventory. By the end, you’ll be able to run or schedule Get Inventory [Primary] and verify that stock and pricing are flowing correctly.

 

How To Connect

📋 Phase 1: Create Your WooCommerce Source +
Add Source in Flxpoint
Go to Sources+ Add Source. Name it “WooCommerce”. Choose Vendor Warehouse as the Source Type. (Assign a vendor if you want reporting & portal features.)
Start Integration Setup
On the Source page, click Start Creating Integrations and select Get Inventory [Primary].
🔐 Phase 2: Connect WooCommerce +
Open a New Connection
In Step 1, click + New Connection. Use a clear name like WooCommerce API.
Enter Your Credentials
You’ll need 4 values from your WooCommerce store:
  • Domain → Your store URL (e.g. https://yourstore.com)
  • Consumer Key
  • Consumer Secret
  • Connection Name → Any label you like
Quick path: WooCommerce Admin → SettingsAdvancedREST API. Create a new key with Read/Write permissions, then copy the Consumer Key and Consumer Secret.
Locating Consumer Key & Secret (click to expand) 🎬
After entering the values in Flxpoint, click Test ConnectionSave Connection.
⚙️ Phase 3: Configure & Map +
Configure Settings
In Step 2, set any special options you need (e.g., archiving behavior or price adjustments).
Define a Mapping Template
In Step 3, map fields like SKU, Quantity, and Price to Flxpoint. Add workflows if you want to enrich or transform product data.
✅ Phase 4: Run & Verify +
Save & Run
Save and complete your setup. From the integration page, click Run Integration or set a schedule.
Pro tip: After the first run, spot-check a few SKUs to confirm stock and prices match WooCommerce.

 


Product Operations

Get Inventory (Primary) 

Supported | WooCommerce

Introduction to WooCommerce — Get Inventory [Primary]
This integration retrieves your WooCommerce catalog (products, pricing, stock, images, and categories) via the WooCommerce REST API and maps it into your Source Inventory. Use it to keep product data and availability up to date.

The WooCommerce Get Inventory [Primary] integration lets you:
  • Pull the full WooCommerce product catalog along with Stock Quantity and pricing.
  • Import core identifiers (SKU, Name) plus descriptions, categories, and images.
  • Bring in dimensions & weight for shipping logic.

  • 1 Connect to WooCommerce: Click Create Connection and enter:
    • Domain: your store URL (e.g., https://example.com).
    • Consumer Key & Consumer Secret (see “Where do I find my credentials?” below).
    Use Test Connection and then Save Connection.
  • 2 Configure Settings: Choose Archive/Un-Archive Inventory behavior and scheduling.
  • 3 Define a Mapping Template: Select or create Get Source Products; map WooCommerce fields (SKU, Name, Prices, Stock Quantity, etc.).
  • 4 Run or Schedule: Enable Scheduled or click Run Integration to fetch the latest data.
Where do I find my WooCommerce credentials?
In WordPress go to WooCommerce → Settings → Advanced → REST API → Add key. Create a key with Read permissions for Products. Copy the Consumer Key and Consumer Secret. Your Domain is the store URL shown in your browser (include https://).

  • Archive/Un-Archive Inventory: If enabled, items missing in the latest pull are archived (qty = 0). When they re-appear, they’re automatically un-archived with mapped quantity. Tip: Don’t enable this here if you already enabled it on Get Inventory [Secondary] for the same Source.
  • Scheduling: Run manually or schedule periodic syncs.
  • Post Mapping Workflow: Optional rules after mapping (use Draft to test, then switch to Live).

Interface Overview
  • Screen labeled Get Source Products; actions include Delete, Duplicate, and Save.
  • Layout: From Value (WooCommerce Product/WooCommerce Variant fields) → To Inventory Parent Field.
Core Parent Mappings (Recommended)
WooCommerce Field Maps To Example Notes
SKU Parent SKU WC-12345 Primary identifier.
Name Title Classic T-Shirt Product title.
Description / Short Description Description Full product details Use both as needed.
Regular Price / Sale Price Cost 19.99 Sale overrides regular when present.
Stock Quantity Quantity 45 Current on-hand.
Weight Weight (lbs) 1.2 Convert to lbs if your store uses different units.
Dimensions (Length, Width, Height) Dimensions (in) 10 × 8 × 2 Convert to inches if needed.
Category 1 / 2 / 3 Categories Apparel → Tops → Tees Two-level tree is read; 3rd level optional.
Images Image URLs https://store.com/wp-content/… Multiple images supported for parent.
Variant Mappings (Variable Products)
WooCommerce Variant Field Maps To Example Notes
SKU Variant SKU WC-12345-BLK-M Saved as external listing id when option present.
Price / Regular Price / Sale Price Cost 21.99 Sale price preferred when available.
Stock Quantity Quantity 8 Variant-level stock.
Weight Weight (lbs) 1.0 Units converted as above.
Length / Width / Height Dimensions (in) 9 × 7 × 2 Variant dimensions.
Description Attributes / Notes Black / Medium Use for merchandising.
Images: Multiple images can be saved for the parent; by design only one image is saved for each variant.

  • Fetch Categories: /wp-json/wc/v2/products/categories (two levels are read).
  • Fetch Products: /wp-json/wc/v2/products (pagination per_page=100).
  • Fetch Variants: /wp-json/wc/v2/products/%d/variations.
  • External Listing IDs: If option value is blank, the parent ID is stored as the external listing id; if not blank, the variant ID is used.
  • Images: Multiple images can be stored for the parent; a single image is stored for each variant.

Capability Status Notes
Custom Fields SUPPORTED Available as attributes from platform.
Variations / Options SUPPORTED Variants pulled via /variations.
Generic Pricing (& Currency) SUPPORTED Regular/Sale price fields.
Client Pricing (& Currency) NOT SUPPORTED Per-client pricing isn’t returned.
Quantity SUPPORTED Stock Quantity field.
Multiple Warehouses NOT SUPPORTED No warehouse breakdown in API.
Weights & Dimensions (& Units) SUPPORTED Convert units if needed.
Images SUPPORTED Parent gallery + featured image.
Categories SUPPORTED Two-level taxonomy pulled.
Delta Feed vs Full Feed FULL FEED All products pulled each run.
Archive Support SUPPORTED Use the Archive/Un-Archive toggle.
Limitations Variant images limited to one per variant.

  • 1 Add the Integration: Source → WooCommerce → Get Inventory [Primary].
  • 2 Create Connection: Enter Connection Name, Domain, Consumer Key, and Consumer SecretTest ConnectionSave Connection.
  • 3 Configure: Choose Archive/Un-Archive Inventory and scheduling.
  • 4 Mapping Template: Choose or create Get Source Products and map fields (see tables above).
  • 5 Automate: Turn on Scheduled or run the job manually.
Friendly Tip: If Test Connection fails, verify REST API keys are Read, your site uses “pretty permalinks,” and the Domain is your live store URL (including https://).

  • 401/403 errors: Regenerate keys with Read permission; ensure the user role hasn’t been limited by a security plugin.
  • Empty results: Confirm products exist and that the key user can view products; check pagination limits.
  • Variant data missing: Verify the product is of type variable and variations are published.
  • Images missing: Confirm media URLs are publicly accessible and not blocked by hotlink protection.
  • Unexpected archiving: Make sure only one of your Primary/Secondary jobs has Archive/Un-Archive enabled.
Diagnostic Tip: Use Post Mapping Workflow in Draft to test rules before switching to Live.

  • Endpoints used: /wp-json/wc/v2/products, /wp-json/wc/v2/products/categories, /wp-json/wc/v2/products/%d/variations.
  • Units: Weights & dimensions come from WooCommerce — convert to lbs/in as needed.
  • Pricing: We use Sale Price when present; otherwise Regular Price.
  • Scheduling: Set a cadence that matches your store’s update frequency.
Pro Tip: Include SKU, Name, Categories, and key attributes to improve downstream channel matching and search.

Conclusion
WooCommerce Get Inventory [Primary] keeps your catalog, stock, and pricing current through the WooCommerce REST API. Connect with your API keys, map the core fields, and schedule the job for continuous, reliable updates.
 
 

 

Order Operations    

Send Fulfillment Requests

Supported | WooCommerce

Send Fulfillment Requests — WooCommerce
This process creates orders in WooCommerce from your Fulfillment Requests (FRs). We associate FR items by the External Listing ID saved during Get Inventory and use the returned Woo order ID for downstream tracking.

Use WooCommerce Send Fulfillment Requests to:
  • Create WooCommerce orders from approved FRs.
  • Map line items using the external listing id captured in Get Inventory.
  • Leverage the Woo order ID (acknowledgement) to fetch tracking later in Get Shipments.

  • 1 Connect an Integration: Pick your WooCommerce connection (Basic Auth with Consumer Key / Secret). Click Save and Proceed.
  • 2 Configure Settings: Set Hold for X Hours and optionally enable Only Send During Business Hours.
  • 3 Define a Mapping Template: Choose or create Send Fulfillment Requests and map Billing/Shipping Address, Order Items, Shipping Line, and Totals.
Tip: Keep holds short (e.g., 1–2 hours) if you review FRs before sending, so customers get tracking quickly.

  • Hold for X Hours: Delay sending FRs by the number of hours you specify.
  • Only Send During Business Hours: Queue FRs to send within business hours only.

Billing Address (WooCommerce)
From Value To WooCommerce Field Example
Billing Address → First Name billing.first_name Jane
Billing Address → Last Name billing.last_name Doe
Billing Address → Company Name billing.company Acme LLC
Billing Address → Email billing.email jane@acme.com
Billing Address → Phone billing.phone 555-1212
Billing Address → Address Line 1/2 billing.address_1 / address_2 123 Main St / Ste 200
Billing Address → City billing.city Orlando
Billing Address → State / Code billing.state FL
Billing Address → Postal Code billing.postcode 32801
Billing Address → Country / Code billing.country US
Shipping Address (WooCommerce)
From Value To WooCommerce Field Example
Shipping Address → First/Last Name shipping.first_name / last_name John / Smith
Shipping Address → Company shipping.company Acme LLC
Shipping Address → Address 1/2 shipping.address_1 / address_2 456 Pine Rd / Apt 4
Shipping Address → City shipping.city Denver
Shipping Address → State / Code shipping.state CO
Shipping Address → Postal Code shipping.postcode 80203
Shipping Address → Country / Code shipping.country US
Shipping Address → Email / Phone shipping.email / phone ship@acme.com / 555-3434
Order Line Items
From Value To WooCommerce Field Notes
FR Item → SKU (external listing id) line_items[].sku / product lookup We submit the external listing id saved during GIP.
FR Item → Title line_items[].name Optional; Woo may overwrite name with product title.
FR Item → Quantity line_items[].quantity Required.
FR Item → Cost / Subtotal line_items[].subtotal / price Use if you push pricing.
FR Item → UPC / MPN meta_data[] Optional metadata.
FR Item → PO Line Item # meta_data[] Optional metadata.
Shipping Line Item
From Value To WooCommerce Field Example
Source Shipping Method → Carrier shipping_lines[].method_title UPS
Source Shipping Method → Method / Name / Code shipping_lines[].method_id / method_title ups_ground
Channel Invoice → Shipping Cost shipping_lines[].total 12.95
Channel Invoice → Tax Cost shipping_lines[].total_tax 0.00
Purchase Order & Totals
From Value To WooCommerce Field Example
Channel Invoice → Subtotal total (derived) / fee_lines[]
Channel Invoice → Total total 129.90
Channel Invoice → Discount Total discount_total / fee_lines[] 5.00
Channel Invoice → Dropship Fee / Other Cost fee_lines[] 2.00
Note: Multiple shipping options are available as configured on the platform. If you pass nothing, Woo’s defaults may apply.

  • We create order using endpoint /wp-json/wc/v2/orders.
  • We send item id (external listing id saved during GIP) during order submission.
  • We receive the Woo order id as acknowledgement and use it later to fetch tracking in Get Shipments.

Capability Status Notes
Fulfillment Request Number NOT SUPPORTED
Customer Association NOT SUPPORTED
FR Item Association SUPPORTED We send item id (external listing id) during order submission.
Auto Acknowledgements SUPPORTED Order id returned and stored.
Shipping Selection SUPPORTED Multiple shipping options are available as configured on platform.
Custom Fields NOT SUPPORTED
Attachments NOT SUPPORTED
Limitations

  • 1 Add Integration: Source → WooCommerce → Send Fulfillment Requests.
  • 2 Create/Select Connection: Use the same Domain, Consumer Key, and Consumer Secret you used for Get Inventory. TestSave.
  • 3 Configure: Set hold window and business-hours sending (optional).
  • 4 Mapping Template: Choose or create Send Fulfillment Requests and map all groups above.
  • 5 Automate: On the Configure page, enable Scheduled or click Run Integration.
Where to get keys: WooCommerce → Settings → Advanced → REST API → Add key (Read). Copy your Consumer Key and Consumer Secret. Domain is your store URL (include https://).

  • 401/403: Regenerate keys with Read permission; check security plugins and permalinks.
  • Wrong items: Verify the external listing id in FR matches what was saved during Get Inventory.
  • Shipping not applied: Ensure the Shipping Line mapping passes a valid method_id/method_title and total.
  • Stuck in Hold: Reduce “Hold for X Hours” or disable business-hours only sending for testing.

Conclusion
With mapping in place and a valid Woo connection, FRs become WooCommerce orders via /wp-json/wc/v2/orders. Use holds and business-hours settings as needed, then schedule the job for hands-off order creation.
 
 

Get Shipments

Supported | WooCommerce

Get Shipments — WooCommerce
Import shipment tracking from WooCommerce into Flxpoint using your saved Woo order IDs (captured during Send Fulfillment Requests).

  • 1 Connect an Integration: Select your WooCommerce connection (API – Basic Auth) and Save and Proceed.
  • 2 Configure Settings: Choose FR Lookback Period for Get Shipments (e.g., 3 Months). Only FRs created within this window are considered.
  • 3 Define a Mapping Template: Pick or create Get Shipments and map tracking fields (Carrier, Method, Tracking Number/URL, etc.).

  • FR Lookback Period for Get Shipments: Maximum age of FRs eligible for shipment retrieval (default ~90 days). Use longer windows only when necessary.

Shipment Fields (WooCommerce)
From Value To Shipment Field Notes
WooCommerce Shipment → Tracking Provider Carrier Carrier name/provider from the plugin.
Method Optional method text (if available).
WooCommerce Shipment → Tracking Number Tracking Number Main tracking code.
WooCommerce Shipment → Tracking Link Tracking URL Direct carrier tracking link.
WooCommerce Shipment → Shipping Cost Shipping Cost Optional if provided by plugin/meta.
Shipped At Date/time of shipment (if available).
Item Association: When present, SKU in shipment is used for item association.

  • We fetch shipment using endpoint
    /wp-json/wc-shipment-tracking/v3/orders/{order_id}/shipment-trackings
  • Order ID is used for identification (we save this during Send FR).

Capability Status Notes
Carrier & Methods SUPPORTED Carrier and method are available and mappable.
Shipment Item Association SUPPORTED SKU in shipment is used for item association.
Partial Shipments SUPPORTED Multiple shipments per order are handled.
Invoice Information NOT SUPPORTED
Custom Fields (CFs) NOT SUPPORTED
Limitation

  • 0 Install the required plugin: Download and activate the official WooCommerce Shipment Tracking plugin:
    https://woocommerce.com/products/shipment-tracking/
    Docs: Shipment Tracking documentation
  • 1 In Flxpoint, add Source → WooCommerce → Get Shipments.
  • 2 Select your existing WooCommerce API connection → Save and Proceed.
  • 3 Set the FR Lookback Period and select your Get Shipments mapping template.
  • 4 On the Configure page, enable Scheduled or click Run Integration to pull tracking.

  • No shipments returned: Ensure the Shipment Tracking plugin is active and the order has tracking entries.
  • Orders not found: Confirm the Woo order id was stored during Send FR (re-run if needed).
  • Older FRs skipped: Increase the FR Lookback Period temporarily and retry.

Conclusion
With the Shipment Tracking plugin installed and mapping set, Get Shipments pulls carrier, method, and tracking details from WooCommerce and attaches them to your FRs in Flxpoint.