通过 API 获取字段选项

Get Field option via API

我在我的产品上设置了一个产品选项(一个文本字段)。目的是收集将在购物车中使用的用户数据,并在结帐后完成订单。

我将分享我正在尝试的内容,但愿意以任何方式从产品页面获取用户输入以用于购物车和订单数据。

我的产品选项卡

我试图通过 api

获取此字段

GET: https://api.bigcommerce.com/stores/2bihpr2wvz/v3/catalog/products/114/options

回复:

{
    "data": [],
    "meta": {}
}

returns 没什么,就好像这个选项不存在一样。

最终。我只需要我的用户提供一个字符串,该字符串将在购物车中使用,也可用于 order.json... 我如何将其添加到购物车(使用 api)?变体会在这里玩吗?

编辑

就像凯伦说的;文本字段被认为是修饰符,没有变体或 sku 变化。

当我PUT: 2bihpr2wvz/v3/catalog/products/115/modifiers/113改变修饰符值时; body 应该是什么样子。我在下面尝试。

{
    "option_values": [
        {
            "id": 113,
            "value_data": {
                "build_id": "test_build_id"
            }
        }
    ]
}

有时我会得到 The product is currently associated with an option set, please remove it before editing an option or modifier.,但如果 body 格式正确,这可能会解决

文本字段被视为 v3 目录中的修饰符选项 API。尝试向 /v3/catalog/products/114/modifiers 端点发出请求,您应该会看到返回的数据。

关于选项与修饰符的快速说明--在 v3 目录 API 中,我们区分了可以附加到产品的两种选择类型:

  • 变体选项是用于构建 SKU 的选项,例如尺寸或颜色。
  • 修饰符选项是完全与 SKU 无关的选项。例如,购物者在其中输入自定义刺绣文本的文本字段、文件上传字段或为订单添加保险的复选框。

修饰符文本字段值将显示在订单和购物车响应中,但您需要向购物车请求添加查询参数以获取订单项的选项数据,如下所示:

/v3/carts/{cartID}?include=line_items.physical_items.options

要将带有修饰符的产品添加到购物车,请确保省略购物车主体中的 variant_id。我的回答中有几个示例请求可能会有所帮助: