Variations are used for products that are available in different colors, sizes, or styles. Each variant can have its own image, price, and weight, and they typically have its own SKU and stock level.
Variant options can be displayed as one of four multiple-choice types:
- Swatch
- Radio Buttons
- Rectangle List
- Dropdown
Getting information and creating new variants is very important in product classification, inventory management, etc. That’s why I decided to publish this article.
First of all, we need to check the BigCommerce store to see all the Products that are available right now and a variant of a product you want to create. Then we also need to get the ID of the product in which you want to create a new product variant. You can read the blog: BigCommerce API 2023: How To Retrieve Product Data or BigCommerce Product API 2023: How to create a product to know more.
Retrieving All Product Variant
Log in to Postman, choose a workspace, and open a new request tab. Here, select GET and paste the URL:
https://api.bigcommerce.com/stores/{store_hash}/v3/catalog/products/{product_id}/variants
Replace Store hash with your store hash and product ID by the product id you want to see the variants
Now in the header section, fill in the information about:
- X-auth-token
- Accept
- Content-type
After all, click send button to see the result:
{
"data": [
{
"id": 78,
"product_id": 111,
"sku": "SM13-RE",
"sku_id": 127,
"price": null,
"calculated_price": 25,
"sale_price": null,
"retail_price": null,
"map_price": null,
"weight": null,
"calculated_weight": 1,
"width": null,
"height": null,
"depth": null,
"is_free_shipping": false,
"fixed_cost_shipping_price": null,
"purchasing_disabled": false,
"purchasing_disabled_message": "",
"image_url": "",
"cost_price": null,
"upc": "",
"mpn": "",
"gtin": "",
"inventory_level": 0,
"inventory_warning_level": 0,
"bin_picking_number": "",
"option_values": [
{
"id": 102,
"label": "Red",
"option_id": 113,
"option_display_name": "Color"
}
]
}
"meta": {
"pagination": {
"total": 5,
"count": 5,
"per_page": 50,
"current_page": 1,
"total_pages": 1,
"links": {
"current": "?page=1&limit=50"
}
}
}
}
Code language: JSON / JSON with Comments (json)
Create A New Product Variant Without error 409: “Aย variantย optionย valuesย shouldย correspondย toย the product’sย existingย optionย values”
For a new variant created separately from the base and its existing variants, the request body needs to reference the option choices and their values by ID. (This means that the options must already exist in the store.) Here is an example request body:
{
"sku": "New-SKU",
"option_values": [
{
"id": "option_value ID",
"option_id": "option ID"
}
]
}
Code language: JSON / JSON with Comments (json)
Get the option ID from product/[product_id]/options before creating a new option value
Select get and paste the URL: https://api.bigcommerce.com/stores/{store_hash}/v3/catalog/products/{product_id}/options
After having the information on the option ID and its option value ID you can create a new variant for it.
If you want to create a new option value for an existing option, then open a new request tab, select POST, and paste the following URL:
The header part does not change, go to the body, select raw, and choose JSON. Then add the following to the body to create a new option value, for example:
{
"is_default": false,
"sort_order": 3,
"label": "White"
}
Code language: JSON / JSON with Comments (json)
And result
And we will get the information of the newly created option value and it contains the option values ID
And now we have all the information we need to create a new product variant.
Open a new request tab, this time select POST and paste the URL: https://api.bigcommerce.com/stores/{store_hash}/v3/catalog/products/{product_id}/variants
The same as retrieving the products variant, you have to replace the store hash and product ID.
In the header section, fill in the information about:
- X-auth-token
- Accept
- Content-type
In the body section:
Creates a Product Variant that needs the following information:
- SKU
- Option_values
It is important to note that a product cannot have more than 600 SKUs, and each SKU cannot exceed 255 characters long.
The model for a POST to create variants on a product.
{
ย ย ย ย "sku": "New-SKU",
ย ย ย ย "option_values": [
ย ย ย ย ย ย ย ย {
ย ย ย ย ย ย ย ย ย ย ย ย "id": "option_value ID",
ย ย ย ย ย ย ย ย ย ย ย ย "option_id": "option ID"
ย ย ย ย ย ย ย ย }
ย ย ย ย ]
}
Code language: JSON / JSON with Comments (json)
The result will be like this
Now you can turn back to BigCommerce to see the results
The above are steps to retrieve and create a new product variant in BigCommerce Using Postman. Getting a list of product variants using the BigCommerce API is relatively easy. Creating a new product variant is also not too hard. You need to follow the steps that I instructed above. If you have any difficulty or questions at any step, please comment below or refer to our BigCommerce API documentation if you have any questions.
Hope you are successful