Bigcommerce API - 创建货件 - 包括所有项目

Bigcommerce API - Create Shipment - Include all Items

根据文档,Create Shipment 方法需要 属性 "items" - 正在运送的项目数组,例如:

{
  "tracking_number": "EJ958083578US",
  "comments": "Ready to go...",
  "order_address_id": 1,
  "items": [
    {
      "order_product_id": 15,
      "quantity": 2
    }
  ]
}

在我们的业务中,发货几乎总是包含相关订单中的所有项目。

既然如此,有没有办法在不列出所有项目的情况下创建发货(这需要迭代产品行项目)?或者,另一种方法是默认包含所有项目(无需迭代)?

我们只是希望自动执行 adding tracking numbers to orders 的过程 - 这(作为手动过程)涉及使用 [order_number: tracking_number] 上传 csv - 即它自己显然假设所有物品都已装运。 API 似乎不包括那个(非常明智的)选项,但我可能错了。

来自 Bigcommerce 支持:

无法在不添加货件的情况下添加跟踪号,也无法将货件默认为包括所有产品。这是一个有用的建议,但我会转达给我们的产品团队,以便可能在 API 的未来版本中实施。

不幸的是,现在您需要 GET 到订单的产品子资源并遍历所有产品以提取它们的 'id' 值和 'order_address_id' 值,这样您就可以生成您的 POST 请求 shipment 子资源。除非您需要该送货地址的详细信息,否则不必直接向送货地址子资源发出 GET 请求。也没有必要向基本订单对象发出 GET 请求,除非您希望在那里找到详细信息,或者您希望自动化检查准备发货的订单的过程。

因此,假设您知道要运送的订单 ID,则总共只需要 2 个请求即可获取产品子资源,然后 POST 获取运送资源。