โ† All skills
Tencent SkillHub ยท Developer Tools

WooCommerce

WooCommerce REST API integration with managed OAuth. Access products, orders, customers, coupons, shipping, taxes, reports, and webhooks. Use this skill when users want to manage e-commerce operations, process orders, or integrate with WooCommerce stores. For other third party apps, use the api-gateway skill (https://clawhub.ai/byungkyu/api-gateway).

skill openclawclawhub Free
0 Downloads
0 Stars
0 Installs
0 Score
High Signal

WooCommerce REST API integration with managed OAuth. Access products, orders, customers, coupons, shipping, taxes, reports, and webhooks. Use this skill when users want to manage e-commerce operations, process orders, or integrate with WooCommerce stores. For other third party apps, use the api-gateway skill (https://clawhub.ai/byungkyu/api-gateway).

โฌ‡ 0 downloads โ˜… 0 stars Unverified but indexed

Install for OpenClaw

Quick setup
  1. Download the package from Yavira.
  2. Extract the archive and review SKILL.md first.
  3. Import or place the package into your OpenClaw setup.

Requirements

Target platform
OpenClaw
Install method
Manual import
Extraction
Extract archive
Prerequisites
OpenClaw
Primary doc
SKILL.md

Package facts

Download mode
Yavira redirect
Package format
ZIP package
Source platform
Tencent SkillHub
What's included
SKILL.md, LICENSE.txt

Validation

  • Use the Yavira download entry.
  • Review SKILL.md after the package is downloaded.
  • Confirm the extracted package contains the expected setup assets.

Install with your agent

Agent handoff

Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.

  1. Download the package from Yavira.
  2. Extract it into a folder your agent can access.
  3. Paste one of the prompts below and point your agent at the extracted folder.
New install

I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete.

Upgrade existing

I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run.

Trust & source

Release facts

Source
Tencent SkillHub
Verification
Indexed source record
Version
1.0.3

Documentation

ClawHub primary doc Primary doc: SKILL.md 54 sections Open source page

WooCommerce

Access the WooCommerce REST API with managed OAuth authentication. Manage products, orders, customers, coupons, shipping, taxes, and more for e-commerce operations.

Quick Start

# List products python <<'EOF' import urllib.request, os, json req = urllib.request.Request('https://gateway.maton.ai/woocommerce/wp-json/wc/v3/products') req.add_header('Authorization', f'Bearer {os.environ["MATON_API_KEY"]}') print(json.dumps(json.load(urllib.request.urlopen(req)), indent=2)) EOF

Base URL

https://gateway.maton.ai/woocommerce/{native-api-path} Replace {native-api-path} with the actual WooCommerce API endpoint path. The gateway proxies requests to your WooCommerce store and automatically handles authentication.

Authentication

All requests require the Maton API key in the Authorization header: Authorization: Bearer $MATON_API_KEY Environment Variable: Set your API key as MATON_API_KEY: export MATON_API_KEY="YOUR_API_KEY"

Getting Your API Key

Sign in or create an account at maton.ai Go to maton.ai/settings Copy your API key

Connection Management

Manage your WooCommerce OAuth connections at https://ctrl.maton.ai.

List Connections

python <<'EOF' import urllib.request, os, json req = urllib.request.Request('https://ctrl.maton.ai/connections?app=woocommerce&status=ACTIVE') req.add_header('Authorization', f'Bearer {os.environ["MATON_API_KEY"]}') print(json.dumps(json.load(urllib.request.urlopen(req)), indent=2)) EOF

Create Connection

python <<'EOF' import urllib.request, os, json data = json.dumps({'app': 'woocommerce'}).encode() req = urllib.request.Request('https://ctrl.maton.ai/connections', data=data, method='POST') req.add_header('Authorization', f'Bearer {os.environ["MATON_API_KEY"]}') req.add_header('Content-Type', 'application/json') print(json.dumps(json.load(urllib.request.urlopen(req)), indent=2)) EOF

Get Connection

python <<'EOF' import urllib.request, os, json req = urllib.request.Request('https://ctrl.maton.ai/connections/{connection_id}') req.add_header('Authorization', f'Bearer {os.environ["MATON_API_KEY"]}') print(json.dumps(json.load(urllib.request.urlopen(req)), indent=2)) EOF Response: { "connection": { "connection_id": "21fd90f9-5935-43cd-b6c8-bde9d915ca80", "status": "ACTIVE", "creation_time": "2025-12-08T07:20:53.488460Z", "last_updated_time": "2026-01-31T20:03:32.593153Z", "url": "https://connect.maton.ai/?session_token=...", "app": "woocommerce", "metadata": {} } } Open the returned url in a browser to complete OAuth authorization.

Delete Connection

python <<'EOF' import urllib.request, os, json req = urllib.request.Request('https://ctrl.maton.ai/connections/{connection_id}', method='DELETE') req.add_header('Authorization', f'Bearer {os.environ["MATON_API_KEY"]}') print(json.dumps(json.load(urllib.request.urlopen(req)), indent=2)) EOF

Specifying Connection

If you have multiple WooCommerce connections, specify which one to use with the Maton-Connection header: python <<'EOF' import urllib.request, os, json req = urllib.request.Request('https://gateway.maton.ai/woocommerce/wp-json/wc/v3/products') req.add_header('Authorization', f'Bearer {os.environ["MATON_API_KEY"]}') req.add_header('Maton-Connection', '21fd90f9-5935-43cd-b6c8-bde9d915ca80') print(json.dumps(json.load(urllib.request.urlopen(req)), indent=2)) EOF If omitted, the gateway uses the default (oldest) active connection.

Products

List All Products GET /woocommerce/wp-json/wc/v3/products Query parameters: page - Current page (default: 1) per_page - Items per page (default: 10, max: 100) search - Search by product name status - Filter by status: draft, pending, private, publish type - Filter by type: simple, grouped, external, variable sku - Filter by SKU category - Filter by category ID tag - Filter by tag ID featured - Filter featured products on_sale - Filter on-sale products min_price / max_price - Filter by price range stock_status - Filter by stock status: instock, outofstock, onbackorder orderby - Sort by: date, id, include, title, slug, price, popularity, rating order - Sort order: asc, desc Example: curl -s -X GET "https://gateway.maton.ai/woocommerce/wp-json/wc/v3/products?per_page=20&status=publish" -H "Authorization: Bearer $MATON_API_KEY" Response: [ { "id": 123, "name": "Premium T-Shirt", "slug": "premium-t-shirt", "type": "simple", "status": "publish", "sku": "TSH-001", "price": "29.99", "regular_price": "34.99", "sale_price": "29.99", "stock_quantity": 50, "stock_status": "instock", "categories": [{"id": 15, "name": "Apparel"}], "images": [{"id": 456, "src": "https://..."}] } ] Get a Product GET /woocommerce/wp-json/wc/v3/products/{id} Example: curl -s -X GET "https://gateway.maton.ai/woocommerce/wp-json/wc/v3/products/123" -H "Authorization: Bearer $MATON_API_KEY" Create a Product POST /woocommerce/wp-json/wc/v3/products Content-Type: application/json { "name": "New Product", "type": "simple", "regular_price": "49.99", "description": "Full product description", "short_description": "Brief description", "sku": "PROD-001", "manage_stock": true, "stock_quantity": 100, "categories": [{"id": 15}], "images": [{"src": "https://example.com/image.jpg"}] } Example: curl -s -X POST "https://gateway.maton.ai/woocommerce/wp-json/wc/v3/products" -H "Content-Type: application/json" -H "Authorization: Bearer $MATON_API_KEY" -d '{"name": "Premium Widget", "type": "simple", "regular_price": "19.99", "sku": "WDG-001"}' Update a Product PUT /woocommerce/wp-json/wc/v3/products/{id} Example: curl -s -X PUT "https://gateway.maton.ai/woocommerce/wp-json/wc/v3/products/123" -H "Content-Type: application/json" -H "Authorization: Bearer $MATON_API_KEY" -d '{"regular_price": "24.99", "sale_price": "19.99"}' Delete a Product DELETE /woocommerce/wp-json/wc/v3/products/{id} Query parameters: force - Set to true to permanently delete (default: false moves to trash) Duplicate a Product POST /woocommerce/wp-json/wc/v3/products/{id}/duplicate

Product Variations

For variable products, manage individual variations: List Variations GET /woocommerce/wp-json/wc/v3/products/{product_id}/variations Create Variation POST /woocommerce/wp-json/wc/v3/products/{product_id}/variations Content-Type: application/json { "regular_price": "29.99", "sku": "TSH-001-RED-M", "attributes": [ {"id": 1, "option": "Red"}, {"id": 2, "option": "Medium"} ] } Update Variation PUT /woocommerce/wp-json/wc/v3/products/{product_id}/variations/{id} Delete Variation DELETE /woocommerce/wp-json/wc/v3/products/{product_id}/variations/{id} Batch Update Variations POST /woocommerce/wp-json/wc/v3/products/{product_id}/variations/batch

Product Attributes

List Attributes GET /woocommerce/wp-json/wc/v3/products/attributes Create Attribute POST /woocommerce/wp-json/wc/v3/products/attributes Content-Type: application/json { "name": "Color", "slug": "color", "type": "select", "order_by": "menu_order" } Get/Update/Delete Attribute GET /woocommerce/wp-json/wc/v3/products/attributes/{id} PUT /woocommerce/wp-json/wc/v3/products/attributes/{id} DELETE /woocommerce/wp-json/wc/v3/products/attributes/{id}

Attribute Terms

GET /woocommerce/wp-json/wc/v3/products/attributes/{attribute_id}/terms POST /woocommerce/wp-json/wc/v3/products/attributes/{attribute_id}/terms GET /woocommerce/wp-json/wc/v3/products/attributes/{attribute_id}/terms/{id} PUT /woocommerce/wp-json/wc/v3/products/attributes/{attribute_id}/terms/{id} DELETE /woocommerce/wp-json/wc/v3/products/attributes/{attribute_id}/terms/{id}

Product Categories

List Categories GET /woocommerce/wp-json/wc/v3/products/categories Create Category POST /woocommerce/wp-json/wc/v3/products/categories Content-Type: application/json { "name": "Electronics", "parent": 0, "description": "Electronic products" } Get/Update/Delete Category GET /woocommerce/wp-json/wc/v3/products/categories/{id} PUT /woocommerce/wp-json/wc/v3/products/categories/{id} DELETE /woocommerce/wp-json/wc/v3/products/categories/{id}

Product Tags

GET /woocommerce/wp-json/wc/v3/products/tags POST /woocommerce/wp-json/wc/v3/products/tags GET /woocommerce/wp-json/wc/v3/products/tags/{id} PUT /woocommerce/wp-json/wc/v3/products/tags/{id} DELETE /woocommerce/wp-json/wc/v3/products/tags/{id}

Product Shipping Classes

GET /woocommerce/wp-json/wc/v3/products/shipping_classes POST /woocommerce/wp-json/wc/v3/products/shipping_classes GET /woocommerce/wp-json/wc/v3/products/shipping_classes/{id} PUT /woocommerce/wp-json/wc/v3/products/shipping_classes/{id} DELETE /woocommerce/wp-json/wc/v3/products/shipping_classes/{id}

Product Reviews

List Reviews GET /woocommerce/wp-json/wc/v3/products/reviews Query parameters: product - Filter by product ID status - Filter by status: approved, hold, spam, trash Create Review POST /woocommerce/wp-json/wc/v3/products/reviews Content-Type: application/json { "product_id": 123, "review": "Great product!", "reviewer": "John Doe", "reviewer_email": "john@example.com", "rating": 5 } Get/Update/Delete Review GET /woocommerce/wp-json/wc/v3/products/reviews/{id} PUT /woocommerce/wp-json/wc/v3/products/reviews/{id} DELETE /woocommerce/wp-json/wc/v3/products/reviews/{id}

Orders

List All Orders GET /woocommerce/wp-json/wc/v3/orders Query parameters: page - Current page (default: 1) per_page - Items per page (default: 10) search - Search orders after / before - Filter by date (ISO8601) status - Order status (see below) customer - Filter by customer ID product - Filter by product ID orderby - Sort by: date, id, include, title, slug order - Sort order: asc, desc Order Statuses: pending - Payment pending processing - Payment received, awaiting fulfillment on-hold - Awaiting payment confirmation completed - Order fulfilled cancelled - Cancelled by admin or customer refunded - Fully refunded failed - Payment failed Example: curl -s -X GET "https://gateway.maton.ai/woocommerce/wp-json/wc/v3/orders?status=processing&per_page=50" -H "Authorization: Bearer $MATON_API_KEY" Response: [ { "id": 456, "status": "processing", "currency": "USD", "total": "129.99", "customer_id": 12, "billing": { "first_name": "John", "last_name": "Doe", "email": "john@example.com" }, "line_items": [ { "id": 789, "product_id": 123, "name": "Premium T-Shirt", "quantity": 2, "total": "59.98" } ] } ] Get an Order GET /woocommerce/wp-json/wc/v3/orders/{id} Create an Order POST /woocommerce/wp-json/wc/v3/orders Content-Type: application/json { "payment_method": "stripe", "payment_method_title": "Credit Card", "set_paid": true, "billing": { "first_name": "John", "last_name": "Doe", "address_1": "123 Main St", "city": "Anytown", "state": "CA", "postcode": "12345", "country": "US", "email": "john@example.com", "phone": "555-1234" }, "shipping": { "first_name": "John", "last_name": "Doe", "address_1": "123 Main St", "city": "Anytown", "state": "CA", "postcode": "12345", "country": "US" }, "line_items": [ { "product_id": 123, "quantity": 2 } ] } Update an Order PUT /woocommerce/wp-json/wc/v3/orders/{id} Example - Update order status: curl -s -X PUT "https://gateway.maton.ai/woocommerce/wp-json/wc/v3/orders/456" -H "Content-Type: application/json" -H "Authorization: Bearer $MATON_API_KEY" -d '{"status": "completed"}' Delete an Order DELETE /woocommerce/wp-json/wc/v3/orders/{id}

Order Notes

List Order Notes GET /woocommerce/wp-json/wc/v3/orders/{order_id}/notes Create Order Note POST /woocommerce/wp-json/wc/v3/orders/{order_id}/notes Content-Type: application/json { "note": "Order shipped via FedEx, tracking #12345", "customer_note": true } customer_note: Set to true to make the note visible to the customer Get/Delete Order Note GET /woocommerce/wp-json/wc/v3/orders/{order_id}/notes/{id} DELETE /woocommerce/wp-json/wc/v3/orders/{order_id}/notes/{id}

Order Refunds

List Refunds GET /woocommerce/wp-json/wc/v3/orders/{order_id}/refunds Create Refund POST /woocommerce/wp-json/wc/v3/orders/{order_id}/refunds Content-Type: application/json { "amount": "25.00", "reason": "Product damaged during shipping", "api_refund": true } api_refund: Set to true to process refund through payment gateway Get/Delete Refund GET /woocommerce/wp-json/wc/v3/orders/{order_id}/refunds/{id} DELETE /woocommerce/wp-json/wc/v3/orders/{order_id}/refunds/{id}

Customers

List All Customers GET /woocommerce/wp-json/wc/v3/customers Query parameters: page - Current page (default: 1) per_page - Items per page (default: 10) search - Search by name or email email - Filter by exact email role - Filter by role: all, administrator, customer, shop_manager orderby - Sort by: id, include, name, registered_date order - Sort order: asc, desc Example: curl -s -X GET "https://gateway.maton.ai/woocommerce/wp-json/wc/v3/customers?per_page=25" -H "Authorization: Bearer $MATON_API_KEY" Response: [ { "id": 12, "email": "john@example.com", "first_name": "John", "last_name": "Doe", "username": "johndoe", "billing": { "first_name": "John", "last_name": "Doe", "address_1": "123 Main St", "city": "Anytown", "state": "CA", "postcode": "12345", "country": "US", "email": "john@example.com", "phone": "555-1234" }, "shipping": { "first_name": "John", "last_name": "Doe", "address_1": "123 Main St", "city": "Anytown", "state": "CA", "postcode": "12345", "country": "US" } } ] Get a Customer GET /woocommerce/wp-json/wc/v3/customers/{id} Create a Customer POST /woocommerce/wp-json/wc/v3/customers Content-Type: application/json { "email": "jane@example.com", "first_name": "Jane", "last_name": "Smith", "username": "janesmith", "password": "secure_password", "billing": { "first_name": "Jane", "last_name": "Smith", "address_1": "456 Oak Ave", "city": "Springfield", "state": "IL", "postcode": "62701", "country": "US", "email": "jane@example.com", "phone": "555-5678" } } Update a Customer PUT /woocommerce/wp-json/wc/v3/customers/{id} Delete a Customer DELETE /woocommerce/wp-json/wc/v3/customers/{id}

Customer Downloads

GET /woocommerce/wp-json/wc/v3/customers/{customer_id}/downloads Returns downloadable products the customer has access to.

Coupons

List All Coupons GET /woocommerce/wp-json/wc/v3/coupons Query parameters: page - Current page (default: 1) per_page - Items per page (default: 10) search - Search coupons code - Filter by coupon code Get a Coupon GET /woocommerce/wp-json/wc/v3/coupons/{id} Create a Coupon POST /woocommerce/wp-json/wc/v3/coupons Content-Type: application/json { "code": "SUMMER2024", "discount_type": "percent", "amount": "15", "description": "Summer promotion - 15% off", "date_expires": "2024-08-31T23:59:59", "individual_use": true, "usage_limit": 100, "usage_limit_per_user": 1, "minimum_amount": "50.00", "maximum_amount": "500.00", "free_shipping": false, "exclude_sale_items": true } Discount Types: percent - Percentage discount fixed_cart - Fixed amount off entire cart fixed_product - Fixed amount off per product Coupon Properties: code - Coupon code (required) amount - Discount amount discount_type - Type of discount description - Coupon description date_expires - Expiration date (ISO8601) individual_use - Cannot be combined with other coupons product_ids - Array of product IDs the coupon applies to excluded_product_ids - Array of product IDs excluded usage_limit - Total number of times coupon can be used usage_limit_per_user - Usage limit per customer limit_usage_to_x_items - Max items the discount applies to free_shipping - Enables free shipping product_categories - Array of category IDs excluded_product_categories - Array of excluded category IDs exclude_sale_items - Exclude sale items from discount minimum_amount - Minimum cart total required maximum_amount - Maximum cart total allowed email_restrictions - Array of allowed email addresses Update a Coupon PUT /woocommerce/wp-json/wc/v3/coupons/{id} Delete a Coupon DELETE /woocommerce/wp-json/wc/v3/coupons/{id}

Taxes

Tax Rates GET /woocommerce/wp-json/wc/v3/taxes POST /woocommerce/wp-json/wc/v3/taxes GET /woocommerce/wp-json/wc/v3/taxes/{id} PUT /woocommerce/wp-json/wc/v3/taxes/{id} DELETE /woocommerce/wp-json/wc/v3/taxes/{id} POST /woocommerce/wp-json/wc/v3/taxes/batch Create Tax Rate Example: curl -s -X POST "https://gateway.maton.ai/woocommerce/wp-json/wc/v3/taxes" -H "Content-Type: application/json" -H "Authorization: Bearer $MATON_API_KEY" -d '{"country": "US", "state": "CA", "rate": "7.25", "name": "CA State Tax", "shipping": true}' Tax Classes GET /woocommerce/wp-json/wc/v3/taxes/classes POST /woocommerce/wp-json/wc/v3/taxes/classes DELETE /woocommerce/wp-json/wc/v3/taxes/classes/{slug}

Shipping

Shipping Zones GET /woocommerce/wp-json/wc/v3/shipping/zones POST /woocommerce/wp-json/wc/v3/shipping/zones GET /woocommerce/wp-json/wc/v3/shipping/zones/{id} PUT /woocommerce/wp-json/wc/v3/shipping/zones/{id} DELETE /woocommerce/wp-json/wc/v3/shipping/zones/{id} Create Shipping Zone Example: curl -s -X POST "https://gateway.maton.ai/woocommerce/wp-json/wc/v3/shipping/zones" -H "Content-Type: application/json" -H "Authorization: Bearer $MATON_API_KEY" -d '{"name": "US West Coast", "order": 1}' Shipping Zone Locations GET /woocommerce/wp-json/wc/v3/shipping/zones/{zone_id}/locations PUT /woocommerce/wp-json/wc/v3/shipping/zones/{zone_id}/locations Update Zone Locations Example: curl -s -X PUT "https://gateway.maton.ai/woocommerce/wp-json/wc/v3/shipping/zones/1/locations" -H "Content-Type: application/json" -H "Authorization: Bearer $MATON_API_KEY" -d '[{"code": "US:CA", "type": "state"}, {"code": "US:OR", "type": "state"}, {"code": "US:WA", "type": "state"}]' Shipping Zone Methods GET /woocommerce/wp-json/wc/v3/shipping/zones/{zone_id}/methods POST /woocommerce/wp-json/wc/v3/shipping/zones/{zone_id}/methods GET /woocommerce/wp-json/wc/v3/shipping/zones/{zone_id}/methods/{id} PUT /woocommerce/wp-json/wc/v3/shipping/zones/{zone_id}/methods/{id} DELETE /woocommerce/wp-json/wc/v3/shipping/zones/{zone_id}/methods/{id} Shipping Methods (Global) GET /woocommerce/wp-json/wc/v3/shipping_methods GET /woocommerce/wp-json/wc/v3/shipping_methods/{id}

Payment Gateways

GET /woocommerce/wp-json/wc/v3/payment_gateways GET /woocommerce/wp-json/wc/v3/payment_gateways/{id} PUT /woocommerce/wp-json/wc/v3/payment_gateways/{id} Example - Enable a Payment Gateway: curl -s -X PUT "https://gateway.maton.ai/woocommerce/wp-json/wc/v3/payment_gateways/stripe" -H "Content-Type: application/json" -H "Authorization: Bearer $MATON_API_KEY" -d '{"enabled": true}'

Settings

List Settings Groups GET /woocommerce/wp-json/wc/v3/settings List Settings in a Group GET /woocommerce/wp-json/wc/v3/settings/{group} Common groups: general, products, tax, shipping, checkout, account, email Get/Update a Setting GET /woocommerce/wp-json/wc/v3/settings/{group}/{id} PUT /woocommerce/wp-json/wc/v3/settings/{group}/{id} Example - Update Store Address: curl -s -X PUT "https://gateway.maton.ai/woocommerce/wp-json/wc/v3/settings/general/woocommerce_store_address" -H "Content-Type: application/json" -H "Authorization: Bearer $MATON_API_KEY" -d '{"value": "123 Commerce St"}' Batch Update Settings POST /woocommerce/wp-json/wc/v3/settings/{group}/batch

Webhooks

List All Webhooks GET /woocommerce/wp-json/wc/v3/webhooks Create a Webhook POST /woocommerce/wp-json/wc/v3/webhooks Content-Type: application/json { "name": "Order Created", "topic": "order.created", "delivery_url": "https://example.com/webhooks/woocommerce", "status": "active" } Webhook Topics: order.created, order.updated, order.deleted, order.restored product.created, product.updated, product.deleted, product.restored customer.created, customer.updated, customer.deleted coupon.created, coupon.updated, coupon.deleted, coupon.restored Get/Update/Delete Webhook GET /woocommerce/wp-json/wc/v3/webhooks/{id} PUT /woocommerce/wp-json/wc/v3/webhooks/{id} DELETE /woocommerce/wp-json/wc/v3/webhooks/{id}

Reports

List Available Reports GET /woocommerce/wp-json/wc/v3/reports Sales Report GET /woocommerce/wp-json/wc/v3/reports/sales Query parameters: period - Report period: week, month, last_month, year date_min / date_max - Custom date range Top Sellers Report GET /woocommerce/wp-json/wc/v3/reports/top_sellers Coupons Totals GET /woocommerce/wp-json/wc/v3/reports/coupons/totals Customers Totals GET /woocommerce/wp-json/wc/v3/reports/customers/totals Orders Totals GET /woocommerce/wp-json/wc/v3/reports/orders/totals Products Totals GET /woocommerce/wp-json/wc/v3/reports/products/totals Reviews Totals GET /woocommerce/wp-json/wc/v3/reports/reviews/totals

Data

List All Data Endpoints GET /woocommerce/wp-json/wc/v3/data Continents GET /woocommerce/wp-json/wc/v3/data/continents GET /woocommerce/wp-json/wc/v3/data/continents/{code} Countries GET /woocommerce/wp-json/wc/v3/data/countries GET /woocommerce/wp-json/wc/v3/data/countries/{code} Currencies GET /woocommerce/wp-json/wc/v3/data/currencies GET /woocommerce/wp-json/wc/v3/data/currencies/{code} GET /woocommerce/wp-json/wc/v3/data/currencies/current

System Status

GET /woocommerce/wp-json/wc/v3/system_status GET /woocommerce/wp-json/wc/v3/system_status/tools POST /woocommerce/wp-json/wc/v3/system_status/tools/{id}

Batch Operations

Most resources support batch operations for creating, updating, and deleting multiple items: POST /woocommerce/wp-json/wc/v3/{resource}/batch Content-Type: application/json { "create": [ {"name": "New Product 1", "regular_price": "19.99"}, {"name": "New Product 2", "regular_price": "29.99"} ], "update": [ {"id": 123, "regular_price": "24.99"} ], "delete": [456, 789] } Response: { "create": [...], "update": [...], "delete": [...] }

Pagination

WooCommerce uses page-based pagination with response headers: Query Parameters: page - Page number (default: 1) per_page - Items per page (default: 10, max: 100) offset - Offset to start from Response Headers: X-WP-Total - Total number of items X-WP-TotalPages - Total number of pages Link - Contains next, prev, first, last pagination links Example: curl -s -I -X GET "https://gateway.maton.ai/woocommerce/wp-json/wc/v3/products?page=2&per_page=25" -H "Authorization: Bearer $MATON_API_KEY"

JavaScript

const response = await fetch( 'https://gateway.maton.ai/woocommerce/wp-json/wc/v3/orders?status=processing', { headers: { 'Authorization': `Bearer ${process.env.MATON_API_KEY}` } } ); const orders = await response.json();

Python

import os import requests response = requests.get( 'https://gateway.maton.ai/woocommerce/wp-json/wc/v3/products', headers={'Authorization': f'Bearer {os.environ["MATON_API_KEY"]}'}, params={'per_page': 50, 'status': 'publish'} ) products = response.json()

Creating an Order with Line Items

import os import requests order_data = { "payment_method": "stripe", "set_paid": True, "billing": { "first_name": "John", "last_name": "Doe", "email": "john@example.com", "address_1": "123 Main St", "city": "Anytown", "state": "CA", "postcode": "12345", "country": "US" }, "line_items": [ {"product_id": 123, "quantity": 2}, {"product_id": 456, "quantity": 1} ] } response = requests.post( 'https://gateway.maton.ai/woocommerce/wp-json/wc/v3/orders', headers={ 'Authorization': f'Bearer {os.environ["MATON_API_KEY"]}', 'Content-Type': 'application/json' }, json=order_data ) order = response.json()

Notes

All monetary amounts are returned as strings with two decimal places Dates are in ISO8601 format: YYYY-MM-DDTHH:MM:SS Resource IDs are integers The API requires "pretty permalinks" enabled in WordPress Use context=edit parameter for additional writable fields IMPORTANT: When using curl commands, use curl -g when URLs contain brackets (fields[], sort[], records[]) to disable glob parsing IMPORTANT: When piping curl output to jq or other commands, environment variables like $MATON_API_KEY may not expand correctly in some shell environments. You may get "Invalid API key" errors when piping.

Error Handling

StatusMeaning400Bad request or invalid data401Invalid or missing authentication403Forbidden - insufficient permissions404Resource not found500Internal server error Error Response Format: { "code": "woocommerce_rest_invalid_id", "message": "Invalid ID.", "data": { "status": 404 } }

Troubleshooting: API Key Issues

Check that the MATON_API_KEY environment variable is set: echo $MATON_API_KEY Verify the API key is valid by listing connections: python <<'EOF' import urllib.request, os, json req = urllib.request.Request('https://ctrl.maton.ai/connections') req.add_header('Authorization', f'Bearer {os.environ["MATON_API_KEY"]}') print(json.dumps(json.load(urllib.request.urlopen(req)), indent=2)) EOF

Troubleshooting: Invalid App Name

Ensure your URL path starts with woocommerce. For example: Correct: https://gateway.maton.ai/woocommerce/wp-json/wc/v3/products Incorrect: https://gateway.maton.ai/wp-json/wc/v3/products

General

WooCommerce REST API Documentation API Authentication Guide WooCommerce Developer Resources

Products

Products Product Variations Product Attributes Product Attribute Terms Product Categories Product Tags Product Shipping Classes Product Reviews

Orders

Orders Order Notes Refunds

Customers

Customers

Coupons

Coupons

Taxes

Tax Rates Tax Classes

Shipping

Shipping Zones Shipping Zone Locations Shipping Zone Methods Shipping Methods

Payments & Settings

Payment Gateways Settings Setting Options

Webhooks

Webhooks

Reports

Reports Sales Reports Top Sellers Report Coupons Totals Customers Totals Orders Totals Products Totals Reviews Totals

Data

Data Continents Countries Currencies

System

System Status System Status Tools Maton Community Maton Support

Category context

Code helpers, APIs, CLIs, browser automation, testing, and developer operations.

Source: Tencent SkillHub

Largest current source with strong distribution and engagement signals.

Package contents

Included in package
1 Docs1 Files
  • SKILL.md Primary doc
  • LICENSE.txt Files