我的大型商业产品详细信息
- 我的产品 ID 为 149 (product_id = 149)
- 我的产品有一个名为sized(option_id = 72)的指定选项,它是一个文本字段。
- 我的产品的 variant_id 为 160(根据 base_variant_id 的值假定)
添加到购物车
我使用以下正文调用 /api.bigcommerce.com/stores/{$$.env.store_hash}/v3/carts
{
"line_items": [
{
"quantity": 5,
"product_id": 149,
"variant_id": 160,
"option_selections": [
{
"option_id": 72,
"option_value": "test"
}
]
}
]
}
如果我不改变 Id,则响应
variant_id 值是我的产品base_variant_id。我需要添加variant_id,否则api调用将响应
"errors": {
"variant": "This product has options, variant ID is required"
},
"status": 422,
"title": "Missing or incorrect required fields",
"type": "https://developer.bigcommerce.com/api-docs/getting-started/api-status-codes"
}
添加variant_id消除了上述错误
响应变体,但由于未设置大小选项而失败
当我进行 POST api 调用以添加到卡片时,它提示未设置尺寸选项
{
"detail": "Please enter some text for the sized option.",
"status": 422,
"title": "Missing or incomplete product variant attributes",
"type": "https://developer.bigcommerce.com/api-docs/getting-started/api-status-codes"
}
如何设置大小选项值?
最佳答案
BigCommerce 中有两种类型的“选项” - 其中一种称为“自定义”,另一种称为“变体”。
两者之间的区别在于,变体会将您的主要产品分成几个“变体” - 这些本质上是您的主要产品完全不同的迭代 - 想象一下由棉质和羊毛制成的同一件衬衫。当您构建变体时,BigCommerce 将自动生成全新的 Variant 对象,其中具有唯一的 SKU 作为顶级产品的变体子项。 (如果您在 V3 产品 API 上有较新的商店。)
但是,自定义不会生成新的变体。考虑一个带有雕刻选项的银戒指 - 雕刻不需要在系统中创建全新的“产品子类型”,它只是店主每次订购银戒指时都会定制的东西该选项 - 基本产品是相同的
您需要在 V3 API 中检查您的产品,并将查询字符串添加到请求中以公开变体。不要使用顶级产品的 base_variant_id,而是使用 BC 为您的产品自动生成的变体的 id。
或者,要在前端查看该选项的变体 ID,当您选择在产品页面本身设置的选项时,控制台会注销product-details.js 中的productAttributesChanged 函数的response.data - BC 也会返回一个带有变体 ID 的响应对象
关于cart - 我的大型商业创建购物车 API 调用失败,因为我的产品选项未分配值。我怎样才能给它赋值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62214718/