WooCommerce

WooCommerce is an open-source e-commerce plugin for WordPress.

Overview

The WooCommerce connector lets Spojit workflows read and write the core entities of a WooCommerce-powered WordPress store: products, orders, customers, and coupons. It targets the standard WooCommerce REST API (v3) and exposes a raw-api-request escape hatch for endpoints not covered by dedicated tools.

Spojit users typically use WooCommerce as either the storefront in a multi-system architecture (pushing orders into NetSuite, ShipStation, or accounting) or as a destination for product syncs from other channels and PIMs. Pair it with Stripe for refund automation, with Klaviyo for marketing sync, and with a shipping connector for fulfilment.

What You Can Do

The WooCommerce connector exposes these tools:

  • list-orders - List orders with filters (status, date range, customer).
  • get-order - Fetch a single order with line items and metadata.
  • update-order - Update an order's status, notes, or metadata.
  • list-products - List products with filters (category, status, type).
  • get-product - Fetch a single product with variations and images.
  • create-product - Create a product, including simple and variable types.
  • update-product - Update product fields, pricing, or stock.
  • list-customers - List customers with filters.
  • get-customer - Fetch a single customer.
  • create-customer - Create a new customer record.
  • list-coupons - List discount coupons.
  • raw-api-request - Call any WooCommerce REST endpoint not covered by a dedicated tool (refunds, product variations, taxes, etc.).

Authentication

WooCommerce uses Basic Auth with a Consumer Key and Consumer Secret. In WordPress admin, go to WooCommerce -> Settings -> Advanced -> REST API -> Add key, choose Read/Write for the permissions field, save, and copy the generated key and secret. You also need your WordPress site URL (e.g. https://your-store.com) - the connector appends /wp-json/wc/v3 automatically.

For HTTPS sites the connector uses Basic Auth. For HTTP-only dev sites WooCommerce falls back to OAuth 1.0a query parameters - prefer HTTPS in production.

Setting Up Your Connection

  1. In WordPress admin, open WooCommerce -> Settings -> Advanced -> REST API and click Add key.
  2. Pick a descriptive label, choose a user with appropriate capabilities, set permissions to Read/Write, and generate the key. Copy the Consumer Key and Consumer Secret immediately - WooCommerce only shows the secret once.
  3. In Spojit, go to Connections and click + Add Connection.
  4. Search for WooCommerce and select it.
  5. Enter your site URL, Consumer Key, and Consumer Secret. Name the connection something descriptive (e.g. WooCommerce - AU Production).
  6. Click Save. Spojit verifies the credentials by hitting a lightweight read endpoint.

Using in a Workflow

Add a Connector node, select your WooCommerce connection, and pick a mode:

  • Direct Mode - Best for deterministic syncs (poll list-orders for new orders since the last run and push them to NetSuite or ShipStation).
  • Agent Mode - Best for ad-hoc AI workflows ("find this customer's last order and update its shipping notes").

For endpoints not exposed as dedicated tools - refunds, product variations, settings, taxes - use raw-api-request against the matching /wp-json/wc/v3/... path.

Tips

  • Use per_page=100 for reads. The maximum page size is 100 - using it cuts round-trips on large catalogs.
  • Filter incremental syncs by modified_after. Both orders and products support this filter; combine with timestamps from the previous run.
  • Use a Webhook Trigger for new orders. WooCommerce can fire webhooks on order.created; subscribe to it from WooCommerce -> Settings -> Advanced -> Webhooks and use the Custom Webhook Trigger connector.
  • Store custom fields under meta_data. Use update-order with a meta_data entry like {key: "synced-to-netsuite", value: "true"} to mark records and keep sync idempotent.
  • Pin the WooCommerce version. If you upgrade WordPress or WooCommerce, retest the workflow - the REST API occasionally changes between major versions.

Common Pitfalls

  • Permissions vs capability. The API key inherits the WordPress user's capabilities; a Shop Manager can't access some admin-only endpoints. Use a user with Administrator role for full access.
  • HTTP vs HTTPS. Basic Auth over HTTP is rejected. Either enable HTTPS on the site (recommended) or accept the slower OAuth 1.0a fallback.
  • Variation vs parent product. Variable products have child variations at /products/{id}/variations; update-product only edits the parent. Use raw-api-request for variation-level edits.
  • Tax-inclusive prices. Stores in AU, UK, and EU return prices inclusive of tax. Convert before syncing to systems that expect pre-tax totals.
  • Order status flow. Custom plugins can introduce non-standard statuses; always check the actual status string rather than assuming processing/completed are the only options.

Common Use Cases

Related Articles

For technical API details and field specifications, see the WooCommerce connector documentation.

Did this answer your question? Thanks for the feedback There was a problem submitting your feedback. Please try again later.