我已经尝试了此Cart API V3: Can't create a Cart for product that has options链接中提供的解决方案,但对我而言不起作用。
修饰符是额外添加的产品,例如用于手提箱的“名称标签”。
我试图在“ option_selections”中添加修饰符,如下所示,但它返回422错误。
请求:
{
"quantity":"1",
"product_id":"5846",
"variant_id":150922,
"list_price":" 170.00",
"option_selections":[{"option_id":23800, "option_value":"10088"}]
}
响应: StatusCode:422,ReasonPhrase:“无法处理的实体”
非常感谢您的答复。
答案 0 :(得分:0)
如果您要创建新的购物车,请尝试以下请求正文(POST到/ carts端点):
{
"line_items": [
{
"quantity": 1,
"product_id": 76,
"list_price": 170.00,
"option_selections": [
{
"option_id": 21506,
"option_value": 10090
}
]
}
]
}
您不应该在任何这些字段值周围加上引号-list_price,product_id等都接受数字,而不是字符串。
如果要将新订单项添加到现有购物车中,则可以使用上述相同的请求正文。该请求将是对carts/{cartID}/items
编辑:
如果要更新购物车中已经存在的订单项,则需要将其放置到/carts/{cartID}/items/{itemID}
。
请求正文:
{
"line_item": {
"quantity": 1,
"product_id": 76,
"list_price": 170.00,
"option_selections": [
{
"option_id": 21506,
"option_value": 10090
}
]
}
}
注意:更新单个购物车商品时,它确实必须是“ line_item”而不是“ line_items”。我将与我们的文档团队一起在API参考中对此进行更新。
答案 1 :(得分:0)
我能够解决问题,尽管我同意凯伦·怀特(Karen White)的回答,但我想添加一种产品,该产品也具有诸如颜色和修饰符之类的选项。我无法做到这一点。我使用以下数据添加了带有选项和修饰符的产品。
与传递variant_id
相比,传递变量作为选项(option_id获取选项的ID,option_value获取选项值的ID),并传递修饰符作为选项(修饰符option_id,获取选项的ID,option_value获取选项值的ID)
{
"line_items": [{
"quantity": 1,
"product_id": 5846,
"option_selections": [{
"option_id": 23799,
"option_value": 10173
}, {
"option_id": 23800,
"option_value": 10088
}]
}]
}