W3S API Extension For Woocommerce Wordpress Plugin - Rating, Reviews, Demo & Download

Plugin Description
Enhances your store’s REST API by adding powerful, flexible endpoints.
Stay tuned more are coming!
Add or Remove a Single Category
Easily append or remove one category at a time—by numeric ID or human-friendly slug—using simple POST/PUT/PATCH or DELETE requests to
/wp-json/wc/v3/products/{product_id}/categories/{identifier}
Batch Manage Multiple Categories
In a single call, add or remove multiple categories at once via JSON payloads to
/wp-json/wc/v3/products/{product_id}/categories
Supply an array of IDs or slugs under the “categories” key to update your product’s category list in bulk.
Automatic Slug Resolution
Pass slugs like “summer-collection” and the plugin will resolve them to the correct WooCommerce term IDs on the fly—no extra lookups required.
Non-Destructive Updates
Neither endpoint touches other product data. Categories are merged or pruned transparently without overwriting prices, stock, attributes, or any other fields.
Built-In Validation & Security
Sanitization of all inputs (IDs and slugs) to guard against bad data.
Permission checks ensure only users with the edit_products capability (Shop Manager, Admin) can modify categories.
Clear, standardized error codes (w3s_api_extension_invalid_product and w3s_api_extension_invalid_product_category) for consistent API responses.
W3S API Extension for WooCommerce installs alongside the core WooCommerce REST API, requires no additional configuration, and works out of the box.
Endpoints Documentation
Product Categories
-
Add a single category
- Type: HTTP request
- Endpoint: `/wp-json/wc/v3/products/{product_id}/categories/{identifier}`
- Methods: POST, PUT, PATCH
- Examples:
curl -X PUT https://example.com/wp-json/wc/v3/products/125/categories/18
-u consumer_key:consumer_secret
curl -X PUT https://example.com/wp-json/wc/v3/products/125/categories/my-category
-u consumer_key:consumer_secret
-
Remove a single category
- Type: HTTP request
- Endpoint: `/wp-json/wc/v3/products/{product_id}/categories/{identifier}`
- Methods: DELETE
- Examples:
curl -X DELETE https://example.com/wp-json/wc/v3/products/125/categories/18
-u consumer_key:consumer_secret
curl -X DELETE https://example.com/wp-json/wc/v3/products/125/categories/my-category
-u consumer_key:consumer_secret
-
Batch add categories
- Type: HTTP request
- Endpoint: `/wp-json/wc/v3/products/{product_id}/categories`
- Methods: POST, PUT, PATCH
- Example:
curl -X PUT https://example.com/wp-json/wc/v3/products/125/categories
-u consumer_key:consumer_secret
-H “Content-Type: application/json”
-d ‘{“categories”: [1,”my-category”,3,”my-category-1″]}’
-
Batch delete categories
- Type: HTTP request
- Endpoint: `/wp-json/wc/v3/products/{product_id}/categories`
- Methods: DELETE
- Example:
curl -X DELETE https://example.com/wp-json/wc/v3/products/125/categories
-u consumer_key:consumer_secret
-H “Content-Type: application/json”
-d ‘{“categories”: [1,”my-category”,3,”my-category-1″]}’
Extra notes
- The single category endpoint doesn’t allow slug with characters anything other than latin & numbers [a-z0-9]
- Strings that include only numbers will be parsed as IDs and not as Slugs
Screenshots
No screenshots provided