ReactJS和WooCommerce REST API - 使用所选选项的值将商品添加到购物车



我正在为一家wooccommerce商店开发react前端,目前我正在尝试向购物车添加一个具有选定选项值(即尺寸和颜色(的商品。

我当前的api调用-

const AddToCart = async (id) => {
let config = {
method: "post",
url: "/wp-json/wc/store/v1/cart/add-item",
data: {
id : id,
quantity: 1,
attributes: [
{
color: color
},
{
size: size
}]
}
}
const resp = await axios(config).then((response) => {
console.log(response.data)
})
.catch((error) => {
console.log(error.response.data);
});
}

在文件中它说-

选择的属性(用于变体(包含具有密钥属性和值

然而,我所尝试的是给我这个错误-

code: "woocommerce_rest_variation_id_from_variation_data"
data: {status: 400}
message: "No matching variation found."

单个产品的json响应示例-

{
"id": 933,
.......    
"attributes": [
{
"id": 1,
"name": "Size",
"position": 0,
"visible": false,
"variation": true,
"options": [
"2XL",
"3XL",
"4XL",
"5XL",
"L",
"M",
"S",
"XL",
"XS"
]
}
],
"default_attributes": [],
"variations": [
936,
937,
938,
939,
940,
941,
942,
943,
944
],
...... 

您必须像这样传递数据:

data: {
id: id,
quantity: 1,
variation: [
{
attribute: "color"
value: color,
},
{
attribute: "size"
value: size,
}
]
}

根据文档,variation接受对象数组,对象应具有关键字attributevalue

这有什么问题[{attribute:"color",value:selectedColor},{attratute:"size",value:selected}]

最新更新