Skip to content

Instantly share code, notes, and snippets.

@woogists
Last active November 25, 2024 16:24
Show Gist options
  • Save woogists/28114c936874719f8dcb698f8c4bacc6 to your computer and use it in GitHub Desktop.
Save woogists/28114c936874719f8dcb698f8c4bacc6 to your computer and use it in GitHub Desktop.
Brands REST API

Brands REST API

The Brands REST API allows you to create, view, update, and delete individual, or a batch, of brands. The endpoint is /wp-json/wc/v1/products/brands which basically mimics /wp-json/wc/v1/products/categories. You can refer to the same documentation of product categories REST API.

In addition to /products/brands endpoints, the /products endpoints also updated to display brands in the response and check the JSON request for brands.

Examples

  • Retrieve all product brands:

    curl https://example.com/wp-json/wc/v2/products/brands -u consumer_key:consumer_secret
    
  • Create a product brand:

    curl -X POST https://example.com/wp-json/wc/v2/products/brands \
     -u consumer_key:consumer_secret \
     -H "Content-Type: application/json" \
     -d '{
     "name": "Apple",
     "image": {
       "src": "https://upload.wikimedia.org/wikipedia/commons/thumb/f/fa/Apple_logo_black.svg/768px-Apple_logo_black.svg.png"
      }
    }'
    
  • Delete a product brand:

    curl -X DELETE https://example.com/wp-json/wc/v2/products/brands/9?force=true -u consumer_key:consumer_secret
    
  • Set brands to a product:

     curl -X PUT https://example.com/wp-json/wc/v2/products/123 \
      -u consumer_key:consumer_secret \
      -H 'Content-Type: application/json' \
      -d '{"brands": [48, 49]}'
    

    Note: When setting a brand to a product the url needs to be products/123 where 123 is the id of the product you want to update.

@nekranox
Copy link

nekranox commented Feb 24, 2023

This does not explain how to remove brands from a product.

I tried this and it did not work

curl -X PUT https://example.com/wp-json/wc/v2/products/123 \ -u consumer_key:consumer_secret \ -H 'Content-Type: application/json' \ -d '{"brands": []}'

Also this did not work

curl -X PUT https://example.com/wp-json/wc/v2/products/123 \ -u consumer_key:consumer_secret \ -H 'Content-Type: application/json' \ -d '{"brands": null}'

In both cases a brand that was previously assigned to the product remained so.

UPDATE: This does work
curl -X PUT https://example.com/wp-json/wc/v2/products/123 \ -u consumer_key:consumer_secret \ -H 'Content-Type: application/json' \ -d '{"brands": [0]}'

@thubamamba
Copy link

Just wanna say how bad the support for this plugin has been, yikes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment