woocommerceWooCommerce 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).
Install via ClawdBot CLI:
clawdbot install byungkyu/woocommerceAccess the WooCommerce REST API with managed OAuth authentication. Manage products, orders, customers, coupons, shipping, taxes, and more for e-commerce operations.
# 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
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.
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"
Manage your WooCommerce OAuth connections at https://ctrl.maton.ai.
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
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
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.
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
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.
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 namestatus - Filter by status: draft, pending, private, publishtype - Filter by type: simple, grouped, external, variablesku - Filter by SKUcategory - Filter by category IDtag - Filter by tag IDfeatured - Filter featured productson_sale - Filter on-sale productsmin_price / max_price - Filter by price rangestock_status - Filter by stock status: instock, outofstock, onbackorderorderby - Sort by: date, id, include, title, slug, price, popularity, ratingorder - Sort order: asc, descExample:
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 /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"
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"}'
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 /woocommerce/wp-json/wc/v3/products/{id}
Query parameters:
force - Set to true to permanently delete (default: false moves to trash)POST /woocommerce/wp-json/wc/v3/products/{id}/duplicate
For variable products, manage individual variations:
GET /woocommerce/wp-json/wc/v3/products/{product_id}/variations
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"}
]
}
PUT /woocommerce/wp-json/wc/v3/products/{product_id}/variations/{id}
DELETE /woocommerce/wp-json/wc/v3/products/{product_id}/variations/{id}
POST /woocommerce/wp-json/wc/v3/products/{product_id}/variations/batch
GET /woocommerce/wp-json/wc/v3/products/attributes
POST /woocommerce/wp-json/wc/v3/products/attributes
Content-Type: application/json
{
"name": "Color",
"slug": "color",
"type": "select",
"order_by": "menu_order"
}
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}
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}
GET /woocommerce/wp-json/wc/v3/products/categories
POST /woocommerce/wp-json/wc/v3/products/categories
Content-Type: application/json
{
"name": "Electronics",
"parent": 0,
"description": "Electronic products"
}
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}
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}
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}
GET /woocommerce/wp-json/wc/v3/products/reviews
Query parameters:
product - Filter by product IDstatus - Filter by status: approved, hold, spam, trashPOST /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 /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}
GET /woocommerce/wp-json/wc/v3/orders
Query parameters:
page - Current page (default: 1)per_page - Items per page (default: 10)search - Search ordersafter / before - Filter by date (ISO8601)status - Order status (see below)customer - Filter by customer IDproduct - Filter by product IDorderby - Sort by: date, id, include, title, slugorder - Sort order: asc, descOrder Statuses:
pending - Payment pendingprocessing - Payment received, awaiting fulfillmenton-hold - Awaiting payment confirmationcompleted - Order fulfilledcancelled - Cancelled by admin or customerrefunded - Fully refundedfailed - Payment failedExample:
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 /woocommerce/wp-json/wc/v3/orders/{id}
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
}
]
}
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 /woocommerce/wp-json/wc/v3/orders/{id}
GET /woocommerce/wp-json/wc/v3/orders/{order_id}/notes
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 customerGET /woocommerce/wp-json/wc/v3/orders/{order_id}/notes/{id}
DELETE /woocommerce/wp-json/wc/v3/orders/{order_id}/notes/{id}
GET /woocommerce/wp-json/wc/v3/orders/{order_id}/refunds
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 gatewayGET /woocommerce/wp-json/wc/v3/orders/{order_id}/refunds/{id}
DELETE /woocommerce/wp-json/wc/v3/orders/{order_id}/refunds/{id}
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 emailemail - Filter by exact emailrole - Filter by role: all, administrator, customer, shop_managerorderby - Sort by: id, include, name, registered_dateorder - Sort order: asc, descExample:
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 /woocommerce/wp-json/wc/v3/customers/{id}
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"
}
}
PUT /woocommerce/wp-json/wc/v3/customers/{id}
DELETE /woocommerce/wp-json/wc/v3/customers/{id}
GET /woocommerce/wp-json/wc/v3/customers/{customer_id}/downloads
Returns downloadable products the customer has access to.
GET /woocommerce/wp-json/wc/v3/coupons
Query parameters:
page - Current page (default: 1)per_page - Items per page (default: 10)search - Search couponscode - Filter by coupon codeGET /woocommerce/wp-json/wc/v3/coupons/{id}
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 discountfixed_cart - Fixed amount off entire cartfixed_product - Fixed amount off per productCoupon Properties:
code - Coupon code (required)amount - Discount amountdiscount_type - Type of discountdescription - Coupon descriptiondate_expires - Expiration date (ISO8601)individual_use - Cannot be combined with other couponsproduct_ids - Array of product IDs the coupon applies toexcluded_product_ids - Array of product IDs excludedusage_limit - Total number of times coupon can be usedusage_limit_per_user - Usage limit per customerlimit_usage_to_x_items - Max items the discount applies tofree_shipping - Enables free shippingproduct_categories - Array of category IDsexcluded_product_categories - Array of excluded category IDsexclude_sale_items - Exclude sale items from discountminimum_amount - Minimum cart total requiredmaximum_amount - Maximum cart total allowedemail_restrictions - Array of allowed email addressesPUT /woocommerce/wp-json/wc/v3/coupons/{id}
DELETE /woocommerce/wp-json/wc/v3/coupons/{id}
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}'
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}
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}'
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"}]'
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}
GET /woocommerce/wp-json/wc/v3/shipping_methods
GET /woocommerce/wp-json/wc/v3/shipping_methods/{id}
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}'
GET /woocommerce/wp-json/wc/v3/settings
GET /woocommerce/wp-json/wc/v3/settings/{group}
Common groups: general, products, tax, shipping, checkout, account, email
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"}'
POST /woocommerce/wp-json/wc/v3/settings/{group}/batch
GET /woocommerce/wp-json/wc/v3/webhooks
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.restoredproduct.created, product.updated, product.deleted, product.restoredcustomer.created, customer.updated, customer.deletedcoupon.created, coupon.updated, coupon.deleted, coupon.restoredGET /woocommerce/wp-json/wc/v3/webhooks/{id}
PUT /woocommerce/wp-json/wc/v3/webhooks/{id}
DELETE /woocommerce/wp-json/wc/v3/webhooks/{id}
GET /woocommerce/wp-json/wc/v3/reports
GET /woocommerce/wp-json/wc/v3/reports/sales
Query parameters:
period - Report period: week, month, last_month, yeardate_min / date_max - Custom date rangeGET /woocommerce/wp-json/wc/v3/reports/top_sellers
GET /woocommerce/wp-json/wc/v3/reports/coupons/totals
GET /woocommerce/wp-json/wc/v3/reports/customers/totals
GET /woocommerce/wp-json/wc/v3/reports/orders/totals
GET /woocommerce/wp-json/wc/v3/reports/products/totals
GET /woocommerce/wp-json/wc/v3/reports/reviews/totals
GET /woocommerce/wp-json/wc/v3/data
GET /woocommerce/wp-json/wc/v3/data/continents
GET /woocommerce/wp-json/wc/v3/data/continents/{code}
GET /woocommerce/wp-json/wc/v3/data/countries
GET /woocommerce/wp-json/wc/v3/data/countries/{code}
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
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}
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": [...]
}
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 fromResponse Headers:
X-WP-Total - Total number of itemsX-WP-TotalPages - Total number of pagesLink - Contains next, prev, first, last pagination linksExample:
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"
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();
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()
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()
YYYY-MM-DDTHH:MM:SScontext=edit parameter for additional writable fieldscurl -g when URLs contain brackets (fields[], sort[], records[]) to disable glob parsingjq 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.| Status | Meaning |
|--------|---------|
| 400 | Bad request or invalid data |
| 401 | Invalid or missing authentication |
| 403 | Forbidden - insufficient permissions |
| 404 | Resource not found |
| 500 | Internal server error |
Error Response Format:
{
"code": "woocommerce_rest_invalid_id",
"message": "Invalid ID.",
"data": {
"status": 404
}
}
MATON_API_KEY environment variable is set:echo $MATON_API_KEY
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
woocommerce. For example:https://gateway.maton.ai/woocommerce/wp-json/wc/v3/productshttps://gateway.maton.ai/wp-json/wc/v3/productsGenerated Mar 1, 2026
A retail business uses the skill to automate inventory updates across multiple WooCommerce stores, syncing product stock levels in real-time to prevent overselling. It enables bulk product imports and exports, ensuring accurate stock counts and reducing manual data entry errors.
A fulfillment center integrates the skill to automatically fetch new orders from WooCommerce, process them for shipping, and update order statuses. This streamlines logistics, reduces processing time, and improves customer satisfaction with timely notifications.
A marketing agency leverages the skill to pull customer data from WooCommerce, segmenting users based on purchase history for targeted email campaigns. It helps personalize marketing efforts, track customer lifetime value, and automate follow-ups.
A small business owner uses the skill to generate sales reports from WooCommerce data, analyzing trends in revenue, top-selling products, and customer demographics. This aids in making data-driven decisions for inventory planning and promotional strategies.
A brand with multiple online stores employs the skill to manage products, orders, and customers across different WooCommerce instances from a single interface. It centralizes operations, reduces administrative overhead, and ensures consistency in branding and pricing.
A software-as-a-service provider builds a tool that uses this skill to offer automated WooCommerce management features to clients, charging a monthly subscription fee. It generates recurring revenue by helping businesses streamline their e-commerce operations without technical expertise.
A digital agency integrates the skill into their service offerings to manage WooCommerce stores for clients, handling tasks like product updates, order processing, and reporting. Revenue comes from project-based fees or retainer contracts for ongoing support.
A marketplace platform uses the skill to aggregate product listings from multiple WooCommerce stores, enabling cross-selling and centralized search. Revenue is generated through commission on sales, listing fees, or premium features for store owners.
💬 Integration Tip
Start by setting up the MATON_API_KEY environment variable and creating a connection via the control panel; use the provided code snippets to test basic endpoints like listing products before scaling to more complex operations.
Monitor product prices across Amazon, eBay, Walmart, and Best Buy to identify arbitrage opportunities and profit margins. Use when finding products to flip, monitoring competitor pricing, tracking price history, identifying arbitrage opportunities, or setting automated price alerts.
Shopify integration - currently under maintenance. Contact founders@maton.ai for assistance.
Find and compare products online (Google Shopping) and locally (stores near you). Auto-selects best products based on price, ratings, availability, and preferences. Generates shopping list with buy links and store locations. Use when asked to shop for products, find best deals, compare prices, or locate items locally. Supports budget constraints (low/medium/high or "$X"), preference filtering (brand, features, color), and dual-mode search (online + local stores).
Monitor CamelCamelCamel price drop alerts via RSS and send Telegram notifications when items go on sale. Use when setting up automatic price tracking for Amazon products with CamelCamelCamel price alerts.
Navigate Amazon for buying, selling, and affiliating using price tracking, listing optimization, deal analysis, and affiliate link management.
Manage Shopify store data including orders, products, variants, customers, inventory, fulfillments, refunds, returns, and transactions via the Admin REST API.