• Tools
Tools
  • Tools
loading...
No Results
  • AirDroid Business
    • Index
    • Clear app data and cache
    • Create a group
    • Delete groups
    • Disable lost mode
    • Error codes
    • Enable lost mode
    • Field reference
    • Get average screen time
    • Get account activities
    • Get a group
    • Get a group id by group name
    • Get a device by name
    • Get a device app by name
    • Get an activity log
    • Get all devices
    • Get all device apps
    • Get all devices with filter
    • Get device info push
    • Get device location report
    • Get device network connection history
    • Get device application usage duration
    • Get device application report
    • Get device online status report
    • Get device remote access report
    • Get data usage overview and trends
    • Get tag ids by tag names
    • Get top 10 apps by usage duration
    • Get top 10 data usage apps
    • Lock a device
    • Move devices to a group
    • Open app to foreground
    • Power off a device
    • Reboot device
    • Remote operation
    • Set tags
    • Turn off device screen
    • Unenroll a device
    • Update a device name
    • Update a device remark
    • Update a group name
    • Update a group remark
  • System Tools
    • Code
    • CSV
    • Crypto
    • Data Shaping
    • Date & Time
    • Delay
    • Documents
    • QRCode
    • Search&Crawl
    • Text
    • Xml
  • ActiveCampaign
  • Asana
  • AWS-S3
  • AWS Lambda
  • Appstore
  • BambooHR
  • Bitbucket
  • Brevo
  • Coda
  • ConvertKit
  • Clockify
  • DingTalk
  • Discourse
  • Discord
  • Dropbox
  • Elastic Security
  • FeiShu
  • Firecrawl
  • Freshdesk
  • Freshservice
  • Freshworks CRM
  • Gerrit
  • Gitlab
  • Github
  • Grafana
  • Google Ads
  • Google Docs
  • Google Drive
  • Google Gmail
  • Google Sheets
  • Google Analytics
  • Google Calendar
  • Google Developer
  • Harvest
  • HaloPSA
  • Hacker News
  • Hubspot
  • Help Scout
  • Intercom
  • Jira
  • Jenkins
  • Kafka
  • Linear
  • Lemlist
  • MySQL
  • monday.com
  • Metabase
  • MailChimp
  • Microsoft Excel
  • Microsoft Teams
  • Microsoft To Do
  • Microsoft OneDrive
  • Microsoft Outlook
  • Microsoft SharePoint
  • Notion
  • Nextcloud
  • Odoo
  • Ortto
  • Okta
  • PayPal
  • Paddle
  • Pipedrive
  • PostHog
  • PostgreSQL
  • OpenAI
  • Qdrant
  • QuickBooks
  • Redis
  • Strapi
  • Stripe
  • Splunk
  • Spotify
  • Shopify
  • SendGrid
  • Segment
  • ServiceNow
  • Trello
  • Twilio
  • Todoist
  • Telegram
  • Webflow
  • Wikipedia
  • WordPress
  • WooCommerce
  • YouTube
  • Zulip
  • Zoom
  • Zendesk
  • Zammad
  • Zoho CRM
Home > Tools

WooCommerce

1. Overview

WooCommerce is the leading open-source ecommerce plugin for WordPress. It exposes a REST API so external systems can manage customers, orders, products, inventory, and store metadata in a structured way.

With the GoInsight Woocommerce node, you can connect those APIs to automation workflows. Typical tasks include:

  • Customers: create, search, fetch by ID, update profile and addresses, and remove accounts (with trash or permanent delete).
  • Orders: create checkout records with line items, search and filter orders, fetch full order payloads, update status and addresses, and delete orders safely.
  • Products: create catalog items (with optional SKU idempotency), search with filters and pagination, fetch a single product, update pricing and stock, and delete products.

2. Prerequisites

You need a WordPress site with WooCommerce installed and reachable over HTTPS. Generate REST API keys (Consumer Key / Consumer Secret) from WooCommerce → Settings → Advanced → REST API, and grant the key read/write access as required by your workflows. Administrator access to the WordPress dashboard is usually required to create or rotate keys.

3. Credentials

For a detailed guide on how to obtain and configure your credentials, please refer to our official documentation: Credential Configuration Guide.

4. Supported Operations

The node is organized around three resources: Customer, Order, and Product. Each resource supports create, list/search, read-by-ID, update, and delete operations where the upstream API allows it.

Summary

Resource Operation Description
Customer Create a Customer Registers a new customer; optional username/password; idempotent by email; may send welcome email if credentials are auto-generated.
Customer Find Customers Searches and lists customers with filters, sorting, and pagination (up to 100 per page).
Customer Get a Customer Retrieves one customer by ID, including billing, shipping, and metadata.
Customer Update a Customer Partially updates an existing customer (PATCH-style); only supplied fields change.
Customer Delete a Customer Soft-deletes to trash or permanently deletes a customer; does not remove historical orders.
Order Create an Order Creates an order with line items; supports billing/shipping, status, customer link, and optional “mark paid”.
Order Find Orders Lists orders with pagination, text search, status filter, and advanced filters (customer, product, context).
Order Get an Order Fetches a single order by ID with full line items and addresses.
Order Update an Order Updates order fields selectively; can adjust status, addresses, payment fields, and line items.
Order Delete an Order Moves an order to trash or permanently deletes it when Force is true.
Product Create a Product Creates a product; SKU must be unique; duplicate SKU returns the existing product instead of creating a duplicate.
Product Find Products Searches products by keyword, status, category, price range, stock status, and optional advanced filters.
Product Get a Product Retrieves one product by numeric ID.
Product Update a Product Partially updates product fields such as price, stock, status, and description.
Product Delete a Product Trashes or permanently deletes a product by ID.

Operation Details

Create a Customer

Creates a new customer in WooCommerce. Use this to register a new user account; for modifying existing customers use Update a Customer. Email is required and must be unique. If Username or Password is omitted, WooCommerce may auto-generate them and send a welcome email—provide both if you want to avoid that. The action is idempotent by email.

Input Parameters:

  • Email: Customer email address; required and must be a valid email format.

Options:

  • FirstName: Customer first name; used in emails and the account dashboard.
  • LastName: Customer last name; used on records and shipping labels.
  • Username: Login username; if omitted, WooCommerce may derive one from the email.
  • Password: Login password; if omitted, WooCommerce may generate one and email it.
  • Billing: Billing address object (first_name, last_name, address_1, city, state, postcode, country, phone, etc.).
  • Shipping: Shipping address object with the same style of fields as billing.
  • MetaData: Array of { "key", "value" } objects for custom fields (loyalty tier, source, etc.).

Output:

  • CustomerId (number): New customer ID, or 0 if creation failed.
  • CustomerEmail (string): Email of the created customer.
  • CustomerName (string): Full display name (first + last).
  • Username (string): Assigned or provided username.
  • DateCreated (string): Account creation timestamp.
  • IsPayingCustomer (bool): Whether the customer has paid orders.
  • Customer (object): Full customer object (includes billing, shipping, meta_data when returned by the API).
  • OriginalStatusCode (number): Raw HTTP status from WooCommerce (e.g. 201, 400).
  • StatusCode (number): Tool status: 200 when the tool ran (check ErrorMessage / OriginalStatusCode for API errors), 500 system error, -1 validation error.
  • ErrorMessage (string): Human-readable error text; empty on success.

Find Customers

Finds customers with optional filters and pagination. Use Get a Customer when you already have a single ID.

Options:

  • Page: Page index (default 1, min 1).
  • PerPage: Page size (default 10, max 100).
  • Search: Fuzzy match on name, email, or username (case-insensitive).
  • Include: Comma-separated customer IDs to restrict the result set.
  • Order: Sort direction, asc or desc (default asc).
  • OrderBy: id, include, name, or registered_date (default id).
  • Email: Exact match on email.
  • Role: WordPress role filter (customer, shop_manager, all, etc.; default customer).

Output:

  • Customers (object-array): Matching customer objects (id, email, billing, shipping, etc.).
  • TotalCount (number): Total rows matching the query.
  • TotalPages (number): Total pages for the current PerPage.
  • CurrentPage (number): Page returned in this response.
  • OriginalStatusCode (number): Raw HTTP status; 0 if no request was sent.
  • StatusCode (number): Tool execution status (200 / 500 / -1 as above).
  • ErrorMessage (string): Error text if any; empty on success.

Get a Customer

Loads a single customer by ID. Returns personally identifiable information—handle according to your privacy policy.

Input Parameters:

  • CustomerId: WooCommerce customer ID as a string (from Find Customers or the admin user list).

Output:

  • Customer (object): Full customer payload from the API.
  • OriginalStatusCode (number): Raw HTTP status (e.g. 200, 404).
  • StatusCode (number): Tool execution status.
  • ErrorMessage (string): Error text if any; empty on success.

Update a Customer

Updates an existing customer; only fields you supply are changed. Idempotent for the same payload. Invalid IDs typically yield 404.

Input Parameters:

  • CustomerID: Customer ID to update (string).

Options:

  • Email: New email address.
  • Username: New username (may be restricted by site policy).
  • FirstName: New first name.
  • LastName: New last name.
  • Billing: Partial billing object; omitted keys keep existing values.
  • Shipping: Partial shipping object; omitted keys keep existing values.
  • AdditionalFields: Object with optional password and meta_data (array of { key, value }).

Output:

  • Customer (object): Updated customer object.
  • OriginalStatusCode (number): Raw HTTP status.
  • StatusCode (number): Tool execution status.
  • ErrorMessage (string): Error text if any; empty on success.

Delete a Customer

Deletes a customer record. Force false moves the user to trash (recoverable in WP Admin for a limited time); Force true permanently removes data. Deleting a customer does not delete order history (orders may show as guest); subscriptions may be cancelled rather than deleted.

Input Parameters:

  • CustomerID: ID of the customer to delete (string).

Options:

  • Force: true for permanent delete, false (default) for trash.

Output:

  • Customer (object): Customer object as returned at deletion time.
  • OriginalStatusCode (number): Raw HTTP status.
  • StatusCode (number): Tool execution status.
  • ErrorMessage (string): Error text if any; empty on success.

Create an Order

Creates a new order. LineItems must list product_id and quantity for each row. Creating orders can trigger WooCommerce emails and stock changes—disable or tune store emails in WooCommerce → Settings → Emails when testing.

Input Parameters:

  • LineItems: Array of { "product_id", "quantity" }; use Find Products / Get a Product to resolve IDs.

Options:

  • Billing: Billing address object (first_name, last_name, email, phone, address fields, etc.).
  • Shipping: Shipping address object; if omitted, WooCommerce may fall back to billing or defaults.
  • Status: Order status such as pending, processing, on-hold, completed, cancelled, refunded, failed (default pending).
  • CustomerID: WooCommerce customer ID (0 for guest; not the raw WordPress user ID in all setups—confirm via Find Customers).
  • SetPaid: When true, marks the order paid and can move status toward processing and reduce stock—use only when payment is truly confirmed.
  • AdditionalFields: Extra keys such as currency, payment_method, payment_method_title, customer_note.

Output:

  • Order (object): Created order (id, status, total, billing, shipping, line_items, etc.).
  • OriginalStatusCode (number): Raw HTTP status (e.g. 201, 400).
  • StatusCode (number): Tool execution status.
  • ErrorMessage (string): Error text if any; empty on success.

Find Orders

Returns a paginated list of orders with optional filters. Pair with Get an Order when you need every field for one ID.

Options:

  • Page: Page number (default 1).
  • PerPage: Page size (default 10).
  • Search: Free-text match (customer name, email fragments, etc., depending on API behavior).
  • Status: Filter by WooCommerce order status (e.g. completed, processing).
  • AdditionalFilters: Object with keys such as customer (ID), product (ID), context (view vs edit—edit may expose sensitive internal fields), and orderby.

Output:

  • Orders (object-array): Order summaries or full objects depending on context.
  • TotalCount (number): Total matching orders.
  • TotalPages (number): Total pages.
  • CurrentPage (number): Current page index.
  • OriginalStatusCode (number): Raw HTTP status.
  • StatusCode (number): Tool execution status.
  • ErrorMessage (string): Error text if any; empty on success.

Get an Order

Fetches one order by ID. Requires read permissions on the REST key.

Input Parameters:

  • OrderID: Numeric order ID as a string (no # prefix); from Find Orders or the WooCommerce admin list.

Output:

  • Order (object): Full order object (status, total, currency, line_items, addresses, payment fields).
  • OriginalStatusCode (number): Raw HTTP status.
  • StatusCode (number): Tool execution status (200 can still accompany API-level errors—read ErrorMessage).
  • ErrorMessage (string): Error text if any; empty on success.

Update an Order

PATCH-style update: only provided fields change. Updating LineItems can recalculate totals without necessarily sending customer emails—still treat status and SetPaid changes as production-impacting.

Input Parameters:

  • OrderID: Order ID to update (string).

Options:

  • Status: New WooCommerce status string.
  • PaymentMethod: Gateway ID (for example bacs, cod, paypal).
  • SetPaid: When true, marks paid in WooCommerce records only (no real card charge).
  • Billing: Billing address object.
  • Shipping: Shipping address object.
  • LineItems: Array of line objects (product_id, quantity, optional total).
  • AdditionalFields: Advanced keys such as currency, customer_id, customer_note, payment_method_title, meta_data, fee_lines, shipping_lines, coupon_lines.

Output:

  • Order (object): Updated order payload.
  • OriginalStatusCode (number): Raw HTTP status.
  • StatusCode (number): Tool execution status.
  • ErrorMessage (string): Error text if any; empty on success.

Delete an Order

Deletes an order by numeric ID. Default (Force false) sends the order to trash; Force true permanently removes it.

Input Parameters:

  • OrderID: Numeric order ID.

Options:

  • Force: true to bypass trash; false (default) keeps a recoverable copy until purged in admin.

Output:

  • Order (object): Order body returned at deletion time.
  • OriginalStatusCode (number): Raw HTTP status.
  • StatusCode (number): Tool execution status.
  • ErrorMessage (string): Error text if any; empty on success.

Create a Product

Creates a catalog product. Name is required. Sku must be unique; if a SKU already exists, the action returns that product instead of creating a duplicate. Put long HTML descriptions inside AdditionalFields.description when you need rich SEO copy.

Input Parameters:

  • Name: Product title shown in the storefront.

Options:

  • ProductType: simple, grouped, external, or variable (default simple).
  • Status: publish, draft, pending, or private (default publish).
  • Sku: Unique SKU string.
  • RegularPrice: Numeric string without currency symbols (for example 99.99).
  • SalePrice: Promotional numeric string without symbols.
  • StockQuantity: Integer stock on hand when stock management applies.
  • AdditionalFields: Object for description (HTML allowed), categories, images, tags, and other extended keys.

Output:

  • Product (object): Created product record.
  • OriginalStatusCode (number): Raw HTTP status.
  • StatusCode (number): Tool execution status.
  • ErrorMessage (string): Error text if any; empty on success.

Find Products

Searches the catalog with filters and pagination. Use Get a Product when you already know the ID.

Options:

  • Search: Keyword matched against name/description.
  • Status: publish, draft, pending, or private.
  • Category: One category ID or comma-separated IDs (OR logic).
  • StockStatus: instock, outofstock, or onbackorder.
  • MinPrice / MaxPrice: Inclusive numeric price filters (0 means “unset” for max in typical usage—see tool UI hints).
  • Page: Page index (default 1).
  • PerPage: Page size up to 100 (default 10).
  • AdditionalFields: Advanced keys such as context, order, orderby, after, before, featured, on_sale, sku, tag.

Output:

  • Products (object-array): Matching product objects.
  • TotalCount (number): Total matches.
  • TotalPages (number): Total pages.
  • CurrentPage (number): Current page.
  • OriginalStatusCode (number): Raw HTTP status.
  • StatusCode (number): Tool execution status.
  • ErrorMessage (string): Error text if any; empty on success.

Get a Product

Returns a single product record by ID.

Input Parameters:

  • ProductID: Product ID string from Find Products, admin lists, or order line items.

Output:

  • Product (object): Full WooCommerce product payload.
  • OriginalStatusCode (number): Raw HTTP status.
  • StatusCode (number): Tool execution status.
  • ErrorMessage (string): Error text if any; empty on success.

Update a Product

Updates fields on an existing product. Only supplied fields change. Invalid IDs return 404.

Input Parameters:

  • ProductID: Target product ID string.

Options:

  • Name: New title.
  • Sku: SKU update (must remain unique).
  • RegularPrice / SalePrice: Numeric strings without currency symbols.
  • Description: Long HTML description.
  • Status: publish, draft, pending, or private.
  • StockStatus: instock, outofstock, or onbackorder.
  • StockQuantity: Non-negative integer when stock is managed.
  • AdditionalFields: Keys such as short_description, weight, manage_stock, backorders, dimensions, categories, images.

Output:

  • Product (object): Updated product payload.
  • OriginalStatusCode (number): Raw HTTP status.
  • StatusCode (number): Tool execution status.
  • ErrorMessage (string): Error text if any; empty on success.

Delete a Product

Deletes a product by ID. Force false keeps it in trash; true removes it permanently.

Input Parameters:

  • ProductID: Product ID string.

Options:

  • Force: Permanent delete when true; trash when false (default).

Output:

  • Product (object): Deleted product payload returned by WooCommerce.
  • OriginalStatusCode (number): Raw HTTP status.
  • StatusCode (number): Tool execution status.
  • ErrorMessage (string): Error text if any; empty on success.

5. Example Usage

This walkthrough builds a read-only workflow that lists published products matching a keyword—useful for validating credentials and understanding pagination without changing catalog data or notifying customers.

The flow is: Start → Woocommerce (Find Products) → Answer.

  1. Add the tool node
    • On the canvas, click + to add a node.
    • Open the Tool tab.
    • Choose Woocommerce, then select Find Products.
  2. Configure the node
    • Open the node’s panel and pick your saved Woocommerce credential.
    • Search: enter a keyword that exists in your catalog (for example part of a product title).
    • Status: set publish if you only want live products.
    • Page / PerPage: start with 1 and 10; increase Page to walk additional batches while CurrentPage / TotalPages in the output guide you.
  3. Run and verify
    • Resolve any validation badges on the canvas, then run a trial execution.
    • Inspect logs: Products should contain objects with id and name, while TotalCount shows how many matches exist overall.

Once this succeeds, you can copy a returned id into Get a Product or combine Find Orders with Update an Order for richer automations.

6. FAQs

Q: I see StatusCode = 200 but the store still rejected the call—why?

A: GoInsight may report 200 when the tool itself finished, while business failures surface in ErrorMessage and the upstream code in OriginalStatusCode (for example 401, 404, 400). Always read those two fields together.

Q: How do I fix 401 Unauthorized?

A: Regenerate REST keys, confirm the key has Read/Write access as needed, and verify the site URL in the credential matches the store domain (including HTTPS). Firewalls or security plugins that block REST routes can also cause auth failures.

Q: Why did WooCommerce email a customer during testing?

A: Create a Customer sends welcome mail when username/password are left blank. Provide both fields or disable the relevant WooCommerce email templates while testing.

Q: How should I format LineItems or address objects?

A: Pass valid JSON structures as the node expects: line items like [{"product_id": 99, "quantity": 2}], and billing objects with the keys documented under each action. malformed JSON typically yields -1 from parameter validation.

7. Official Documentation

Woocommerce Official API Documentation

Updated on: Apr 17, 2026
Was This Page Helpful?
Prev WordPress
Next YouTube
Discussion

Leave a Reply. Cancel reply

Your email address will not be published. Required fields are marked*

Product-related questions?Contact Our Support Team to Get a Quick Solution>
On this page
  • 1. Overview
  • 2. Prerequisites
  • 3. Credentials
  • 4. Supported Operations
    • Summary
    • Operation Details
  • 5. Example Usage
  • 6. FAQs
  • 7. Official Documentation
loading...
No Results