我发现当我使用BigCommerce API更新订单时,订单的产品订单项会重复。看来即使我在订单更新JSON对象中传递了一个单行项目,我也会收到两行(订购产品)。
我正在按照此处记录的更新电话进行处理:https://developer.bigcommerce.com/api/stores/v2/orders#update-an-order
更新成功,但我的原始产品现在是两个产品系列。 似乎BC正在解释我作为新产品线发送的内容而不是替换/更新现有产品线。
我正在传递orderProducts的'id'。
我是否需要传递一些内容来表明订单项要更新而不是新订单?enter code here
这是我发送的JSON:
{
"customer_id": 1,
"date_created": "Mon, 14 Sep 2015 19:28:01 +0000",
"status_id": 11,
"base_shipping_cost": "0.0000",
"shipping_cost_ex_tax": "0.0000",
"shipping_cost_inc_tax": "0.0000",
"base_handling_cost": "0.0000",
"handling_cost_ex_tax": "0.0000",
"handling_cost_inc_tax": "0.0000",
"base_wrapping_cost": "0.0000",
"wrapping_cost_ex_tax": "0.0000",
"wrapping_cost_inc_tax": "0.0000",
"total_ex_tax": "34.0000",
"total_inc_tax": "34.0000",
"items_total": 16,
"items_shipped": 0,
"payment_method": "Manual",
"refunded_amount": "0.0000",
"order_is_digital": "false",
"ip_address": "64.231.103.57",
"geoip_country": "Canada",
"geoip_country_iso2": "CA",
"discount_amount": "0.0000",
"ebay_order_id": 0,
"billing_address": {
"first_name": "Charles",
"last_name": "Delfs",
"company": "Delfs Eng",
"street_1": "50 Moore St.",
"street_2": "Box 1428",
"city": "Bradford",
"state": "Ontario",
"zip": "L3Z 2B7",
"country": "Canada",
"country_iso2": "CA",
"phone": "",
"email": "mrdelfs@gmail.com"
},
"products": [{
"id": 253,
"product_id": 113,
"name": "Hammer and Anvils 6",
"sku": "",
"price_ex_tax": "24.0000",
"price_inc_tax": "24.0000",
"quantity": 1,
"ebay_item_id": "",
"product_options": []
}, {
"id": 254,
"product_id": 113,
"name": "Hammer and Anvils 6",
"sku": "",
"price_ex_tax": "24.0000",
"price_inc_tax": "24.0000",
"quantity": 1,
"ebay_item_id": "",
"product_options": []
}],
"shipping_addresses": []
}
BC支持的回应...... “感谢您联系Bigcommerce!
“我不愿意说订单行项目更新的细节很少,因为目前尚未完全构建。有多种方法可以更新现有的订单项 - 类似于您尝试过但您需要包含的内容如果您想要覆盖现有订单项,则订单中现有产品的“id”参数。但问题是,在对现有产品进行更新时,总计算似乎不正确。我看到类似的陌生感对现有送货地址进行更改。现在您 能够另外更新“total_inc_tax”和“total_ex_tax”以使其准确,但在某些情况下,“total_tax”订单项似乎仍然不正确。< / p>
这确实是v2 API没有正确解决的问题,需要在即将推出的下一个版本中运行。与此同时,我的建议是不以这种方式更新现有订单,而是在需要更新产品或送货地址时创建新订单并删除原件。更新订单上的其他详细信息似乎没有这些相同的负面后果。
我很抱歉,因为我确信这不是你想听到的。如果您对上述内容有任何疑问,请与我们联系。我会尽我所能提供帮助。“
答案 0 :(得分:0)
解决方案:我的代码未将返回的BC Line信息映射到正确的记录,随后创建重复项。
基本问题仍然存在: API允许订单项编辑但不删除订单项。他们建议删除并重新创建订单将破坏通过订单ID连接的所有第三方应用程序!