使用Big Commerce中的cart.php将产品添加到购物车

时间:2015-05-29 12:30:58

标签: bigcommerce

我正在尝试使用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创建订单,因为此时我还没有结算地址。

1 个答案:

答案 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的值,我会得到一个类似于:

的GET

https://domain.com/api/v2/options/75/values

如果我在其他产品上使用了选项75,则会有不同的“产品选项ID”。