Skip to main content

Update WooCommerce Integration

PATCH 

/api/woo-commerce/:integrationInstance

Update the settings of a WooCommerce integration instance. All fields are optional - only the fields you send are changed, and integration_settings is deep-merged with the existing settings on PATCH.

Not yet available to API tokens

This endpoint currently requires session authentication; Personal Access Token scope support is in progress.

Top-level fields:

  • name (string): Display name for the integration instance.
  • is_automatic_sync_enabled (boolean): Master switch for automatic background syncing.
  • connection_settings (object): WooCommerce REST API credentials - user_id, consumer_key, consumer_secret, key_permissions.
  • integration_settings (object): Store configuration.

integration_settings fields:

  • url (string): Store URL. Must start with https:// and must not end with a slash.
  • start_date (date): Earliest order date to sync. Must be on or after the SKU.io inventory start date.
  • store_id (integer): SKU.io store the sales channel belongs to.
  • auto_link_products (boolean): Automatically link WooCommerce products to SKU.io products by SKU.
  • auto_create_products (boolean): Automatically create SKU.io products for unmatched listings.
  • sales_nominal_code_id, cogs_nominal_code_id, shipping_revenue_nominal_code_id, shipping_refund_nominal_code_id, sales_returns_allowances_nominal_code_id (integer|null): Accounting nominal code assignments.
  • pricing (object): Price sync settings.
  • inventory (object): Inventory sync settings (locations, selected warehouses). Sent arrays fully replace the stored ones.
  • proforma_marketplace_cost_percentage, proforma_payment_cost_percentage (number|null): Estimated cost percentages for proforma profit calculations.
  • sync_sales_order_invoices_to_accounting, sync_sales_credit_to_accounting (boolean): Accounting sync toggles.
  • batch_period_sales_order_fulfillments, batch_period_customer_returns (string|null): Per-channel accounting batch period overrides.

Route name: woo-commerce.update

Requires the integrations.update permission.

Store and sales channel: new orders are created in the store of this connection's sales channel. Whenever the request includes integration_settings.store_id, the sales channel is put in that store if it is in a different one — including when the value equals the saved setting, so re-saving the same store realigns a sales channel that had drifted from it. Nothing is written when the sales channel already uses that store, and orders already imported keep their store. When the sales channel moves, the response adds two top-level keys:

  • message (string): e.g. "Settings saved. New orders will now be created in store 'Curvy AU' — the sales channel was moved from 'Placeholder'."
  • sales_channel_store_updated (object): from and to, each {id, name}; from.id and from.name are null when the sales channel had no store. Both keys are absent when the sales channel did not move.

Request​

Responses​

OK

Response Headers
    Content-Type