如何在BigCommerce Api中向购物车订单项添加修饰符

时间:2018-06-21 12:22:01

标签: api cart bigcommerce

我已经尝试了此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:“无法处理的实体”

非常感谢您的答复。

2 个答案:

答案 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

的POST

编辑: 如果要更新购物车中已经存在的订单项,则需要将其放置到/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
        }]
    }]
}