我正在尝试使用remote.php中的http post将产品添加到购物车,如
POST /cart.php HTTP/1.1
Host: mobfirst.mybigcommerce.com
Cache-Control: no-cache
Content-Type: application/x-www-form-urlencoded
action=add&product_id=35&variation_id=currency_id=&attribute[66]=11&qty[]=1
它有效,但我想知道如何找出与选项产品相对应的属性数量(attibute []中的66)。我看到它很动态。
ps:我无法使用api创建订单,因为此时我还没有结算地址。
答案 0 :(得分:3)
支持答案:
除了抓取产品页面之外,我实际上并不知道找到属性编号的方法。刚刚挖掘并测试了一些东西,虽然我已经找到了它的来源。
属性编号似乎来自“产品选项ID”编号,您可以从API中提取该编号(不要与“选项ID”编号混淆)。最简单的解释方法是举个例子,比如我想找到ID为50的产品的属性编号。我会向GET请求:
https://domain.com/api/v2/products/50/options
这会给我一个“产品选项”对象的列表,它们看起来与此类似:
[
{
"id": 199,
"option_id": 75,
"display_name": "Option 1",
"sort_order": 0,
"is_required": true
},
{
"id": 200,
"option_id": 76,
"display_name": "Other Option",
"sort_order": 1,
"is_required": true
}
]
所看到的ID号对于该特定产品是唯一的,并且与在POST中将产品添加到购物车时使用的属性编号相匹配。在这种情况下,我的产品有两个选项,都是必需的,属性编号将是199和200.要查找值的ID,我必须自己查找选项值,例如ID 199,选项是ID 75为了提取选项ID 75的值,我会得到一个类似于:
的GEThttps://domain.com/api/v2/options/75/values
如果我在其他产品上使用了选项75,则会有不同的“产品选项ID”。