ParcelPilot
Help

WooCommerce

This guide covers what ParcelPilot needs to connect to WooCommerce (WordPress), where to find it, and where to enter it in ParcelPilot.

What ParcelPilot needs

  1. Store URL (your website base URL)
  2. Consumer Key (WooCommerce REST API key)
  3. Consumer Secret (WooCommerce REST API secret)

Where to find it in WooCommerce

Create REST API credentials

  1. Log in to WordPress Admin
  2. Go to WooCommerce → Settings → Advanced → REST API
  3. Click Add key
  4. Set:
    • Description: ParcelPilot
    • User: a dedicated technical/admin user (recommended)
    • Permissions:
      • Use Read for import-only setups
      • Use Read/Write if ParcelPilot needs to update order status / push shipment tracking
  5. Click Generate API key
  6. Copy:
    • Consumer key
    • Consumer secret

Important: WooCommerce will only show the secret once.

Where to enter it in ParcelPilot

ParcelPilot Admin → Integrations → Client Integrations → create/edit an integration with Platform = WooCommerce.

Fill these fields:

  • Store URLcredentials.woo.store_url (e.g. https://store.example.com)
  • Consumer Keycredentials.woo.consumer_key
  • Consumer Secretcredentials.woo.consumer_secret

Operational settings:

  • Push shipment confirmations (tracking) back to ecommerce platformsettings.push_ship_confirms
  • Product Data / Units → shared product-unit settings at settings.product_units.*

Product Data / Units

WooCommerce now uses the shared Product Data / Units section on the Client Integration.

Weight handling:

  • Auto-detect or use store default keeps Woo on its current behavior: ParcelPilot first uses any previously saved Woo unit setting, then auto-detects the store unit from the WooCommerce REST API when needed.
  • Fixed override stores a shared product-unit override at settings.product_units.weight_mode = fixed and settings.product_units.weight_unit.

Dimension handling:

  • Auto-detect or use store default keeps Woo on its current behavior: ParcelPilot uses any previously saved Woo dimension unit or auto-detects it from the WooCommerce REST API.
  • Fixed override stores a shared product-unit override at settings.product_units.dimension_mode = fixed and settings.product_units.dimension_unit.

Existing legacy Woo settings remain valid for backwards compatibility, and ParcelPilot pre-fills the shared section from them on edit.

Product weight unit

WooCommerce product weights are stored as unitless numbers. ParcelPilot needs to know whether your store uses g, kg, lbs, or oz before it can safely import or backfill product weights.

ParcelPilot will try to auto-detect the Woo store setting from the WooCommerce REST API. If detection succeeds, the integration page will show Woo Weight Unit: auto-detected (...).

If detection is unavailable on your store, set a fixed Weight handling override in Product Data / Units on the Client Integration.

Important:

  • ParcelPilot does not silently assume kg.
  • If no unit is configured and the store setting cannot be detected, Woo product syncs and Woo product backfills will fail with a clear warning.
  • ParcelPilot stores the original Woo weight value and unit in the item attributes for traceability.

Product dimension unit

WooCommerce product dimensions are also stored as unitless numbers. ParcelPilot needs to know whether the store uses mm, cm, m, in, or yd before it can safely populate the canonical attributes.dimensions_cm field.

ParcelPilot will try to auto-detect the Woo store dimension setting from the WooCommerce REST API. If detection succeeds, the integration page will show Woo Dimension Unit: auto-detected (...).

If detection is unavailable on your store, set a fixed Dimension handling override in Product Data / Units on the Client Integration.

Important:

  • ParcelPilot stores the original Woo dimension values and the original Woo unit in attributes.woocommerce.dimensions for traceability.
  • attributes.dimensions_cm is reserved for centimetres. If Woo is set to mm, in, m, or yd, ParcelPilot converts those values into centimetres before writing attributes.dimensions_cm.
  • If no Woo dimension unit is known yet, ParcelPilot keeps the raw Woo dimensions but will not label them as centimetres.

Notes & tips

  • Make sure the site uses HTTPS.
  • Some security plugins or WAF rules can block REST API calls; whitelist ParcelPilot if needed.
  • If you use Cloudflare, ensure it’s not challenging API requests.

Troubleshooting

401 Unauthorized / 403 Forbidden

  • Confirm the key permissions are correct (Read vs Read/Write).
  • Confirm the WooCommerce REST API is enabled.
  • Try generating a new key for a dedicated user.

REST API endpoint errors

  • Confirm the Store URL is the WordPress site root (not /wp-admin).
  • Confirm permalinks are enabled in WordPress.

Missing orders?

If orders are missing in ParcelPilot, you can manually backfill using Pull Orders on the integration:

Security notes

  • Treat Consumer Key/Secret as credentials.
  • Rotate keys if they’re exposed.

See also