updateVariantData( )
Updates the data (such as the price and the weight) of an existing product variant in the store.
Description
The updateVariantData()
function returns a Promise that resolves when a product's
variant, with the specified choice and corresponding value, has been updated.
For example, if my product is a ring, I can update the price of the Gold value of the Metal choice, or the price of the Silver value of the Metal choice. In this example, "price" is the variant's data.
When passing parameters to updateVariantData()
, if the combination of the product ID, choice, or choice value does not match any existing
variants, an error is issued.
Only the properties passed in the VariantInfo
object will be updated. All other properties remain the same.
Note: The
Manage Variants
field for the product must be set to true to update a variant's data.
Syntax
function updateVariantData(productId: string, variantInfo: Array<VariantInfo>): Promise<VariantItem>
updateVariantData Parameters
NAME
TYPE
DESCRIPTION
ID of the product to update.
The information to update for the variant.
Returns
Fulfilled - The updated variant. Rejected - Error message.
Return Type:
NAME
TYPE
DESCRIPTION
Unique variant ID.
The choices of the retrieved variant.
Variant information.
Was this helpful?
Update the data of a variant
1/*******************************2 * Backend code - products.jsw *3 *******************************/45import wixStoresBackend from 'wix-stores-backend';67export function updateVariantData(productId, variantInfo) {8 return wixStoresBackend.updateVariantData(productId, variantInfo);9}1011/*************12 * Page code *13 *************/1415import { updateVariantData } from 'backend/products';1617// ...1819$w('#myProductPage').getProduct()20 .then((product) => {21 let productId = product._id;22 let productManageVariants = product.manageVariants;2324 // check that variants can be added and updated25 // for this product26 if (productManageVariants) {27 const weight = 10;28 const price = 15;29 const variantInfo = [{30 weight,31 price,32 "choices": {33 "Color": "Blue",34 "Size": "Large"35 }36 }];3738 updateVariantData(productId, variantInfo)39 .then(() => {40 // product variant data have been updated41 })42 .catch((error) => {43 // there was an error updating the product variant44 });45 }46 })