Module — 8 operations
Products read and edited; orders and customers read only, and always will be.
Needs: SiteHelm Pro on a licensed site, and WooCommerce 8.0 or newer.
There is no order-update, no order-status-set and no customer write. A shop’s order history is a financial record, and the dispatcher pair carries no operation that could reach one indirectly.
Orders and customers gate on manage_woocommerce alone, because they carry personal and financial data that product-editing rights should not open.
A variable product’s price lives on its variations. product-get says so, and product-update refuses a price change on one rather than writing a value the shop will ignore.
A read still asks WordPress for a capability against the object. There is no anonymous read anywhere in the surface.
content-read
Pages products newest first with name, SKU, status, type, price, sale price, stock status and quantity, and categories; filtered by search term, status, category or stock state
needs edit_products
content-read
Reads one product in full — name, description, short description, SKU, regular and sale price, stock, categories, tags, images, type — and says when the price lives on the product's variations rather than on the product
needs edit_products
content-read
Lists the product categories with parent, slug and product count
needs edit_products
content-read
Pages orders newest first with status, total, currency, item count and date, filtered by status, customer or date range
needs manage_woocommerce
content-read
Reads one order — line items, totals, tax, shipping, payment method and status history
needs manage_woocommerce
content-read
Pages shop customers with order count, lifetime spend and last order date
needs manage_woocommerce
Every one of these is previewed before it runs, snapshotted before it changes anything, and verified afterwards by reading the site back. The chips are the policies the operation itself declares.
content-write
Creates one simple product from name, description, SKU, prices, stock and categories
needs edit_products
content-write
Changes one product's name, description, SKU, regular price, sale price, stock status, stock quantity or categories
needs edit_products, re-checked as edit_product against the resolved product