BigCommerce API 在更新订单时创建重复的订单产品行

问题描述 投票:0回答:1

我发现当我使用 BigCommerce API 更新订单时,订单的产品系列项目会重复。看起来,即使我在订单更新 JSON 对象中传递了一个行项目,我也会得到两行(订单产品)。

我将按照此处记录的方式进行更新调用:https://developer.bigcommerce.com/api/stores/v2/orders#update-an-order

更新成功但是我原来的产品现在是两条产品线了。 BC 似乎将我发送的内容解释为新产品线,而不是替换/更新现有产品线。

我正在传递订单产品的“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": "[email protected]"
  },
  "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”行项目在某些情况下似乎仍然不正确。

这确实是 v2 API 没有正确解决的问题,需要在即将发布的下一个版本中进行改进。与此同时,我的建议是不要以这种方式更新现有订单,而是创建一个新订单,并在需要更新产品或送货地址时丢弃原始订单。更新订单的其他详细信息似乎不会产生同样的负面后果。

我很抱歉,因为我确信这不是您想听到的。如果您对上述内容有任何疑问,请告诉我,我会尽力提供帮助。”

e-commerce bigcommerce
1个回答
0
投票

解决方案:我的代码未将返回的 BC 线路信息映射到正确的记录并随后创建重复项。

一个根本问题仍然存在: API 允许编辑订单项,但不允许删除订单项。他们建议删除并重新创建订单将破坏通过订单 ID 连接的所有 3rd 方应用程序!

© www.soinside.com 2019 - 2024. All rights reserved.