大数跨境

在库存发货 API 中添加已取消的接收操作

在库存发货 API 中添加已取消的接收操作 Shopify电商独立站
2026-09-17
2
导读:在 2026-10 版本中,GraphQL Admin API 现在支持库存发货的 CANCELED(已取消)接收操作。当库存发货的行项目单位确定无法送达时,您可以将其标记为已取消,并且可以读取发货及

在2026-10版本中,GraphQL Admin API 现在支持用于库存发货的接收操作中的CANCELED取消操作。当货物永远不会到达时,您可以将库存发货行项目单位标记为已取消,并且可以读取发货及其行项目上的取消数量。这是对2026-10候选版本的附加更改。无需采取任何操作,早期 API 版本的应用程序不受影响。

变更内容

取消接收加入了版本2026-10中库存发货 API 上现有的接受和拒绝接收操作。

新增字段

  • InventoryShipment上的totalCanceledQuantity:发货中所有行项目中标记为取消的项目总数量,以及现有的totalAcceptedQuantity和totalRejectedQuantity字段。
  • InventoryShipmentLineItem上的canceledQuantity:行项目中标记为取消的项目数量,以及现有的acceptedQuantity和rejectedQuantity字段。

取消的单位计入InventoryShipment.totalReceivedQuantity,因此在2026-10上,接收总数完全分解为已接受、已拒绝和已取消。

新增枚举值

  • InventoryShipmentReceiveLineItemReason上的CANCELED。在inventoryShipmentReceive突变的行项目中将其作为reason传递以将单位标记为取消,或作为bulkReceiveAction传递以将发货中所有剩余单位标记为取消。

Webhook 负载更新

在版本2026-10或更高版本上订阅webhook 主题的inventory_shipments/receive_items现在会在items_received的每个条目中接收old_canceled_quantity和new_canceled_quantity,且仅更改取消数量的接收现在会触发交付。早期版本的订阅保持不变。取消字段从有效载荷中省略,且仅取消的接收不会为这些版本触发交付。

受影响对象

使用 GraphQL Admin API 版本2026-10或更高版本(或unstable)来读取库存发货、接收发货行项目或订阅inventory_shipments/receive_items webhook 的应用程序可以使用取消接收操作。

版本早于2026-10的应用程序不受影响。新字段和枚举值不可用,webhook 有效载荷保持其当前形状,且仅取消的接收对于这些订阅仍被抑制。

为何重要

收到库存调拨的商家有时会发现,部分货物将永远不会送达。在此之前,API 仅支持接受或拒绝接收货物,因此应用无法记录或观察这一结果。这些货物要么永远处于未接收状态,要么必须被错误地记录为已拒绝。取消接收操作能够准确地关闭这些货物的状态,而将与采购订单、仓库管理系统或第三方物流(3PL)同步接收状态的应用程序现在可以记录和反映完整的情况。

操作步骤

无需采取任何操作。要使用取消接收操作:

  1. 将您的应用程序更新到 API 版本2026-10。
  2. 在您的应用程序显示或同步接收进度的地方查询InventoryShipment上的totalCanceledQuantity以及InventoryShipmentLineItem上的canceledQuantity。
  3. 当您标记不会到达的单位时,将reason: CANCELED传递给inventoryShipmentReceive。
  4. 针对开发商店进行测试,并确认您的inventory_shipments/receive_items webhook 处理器处理old_canceled_quantity和new_canceled_quantity字段。
mutation ReceiveShipment { inventoryShipmentReceive( id: "gid://shopify/InventoryShipment/123" lineItems: [ { shipmentLineItemId: "gid://shopify/InventoryShipmentLineItem/456" quantity: 5 reason: CANCELED } ] ) @idempotent(key: "b105ab7c-4680-4bfc-b350-c766e01a431f") { inventoryShipment { totalCanceledQuantity lineItems(first: 10) { nodes { id canceledQuantity } } } userErrors { code field message } } }

此示例将发货行项目上的 5 个单位标记为取消,并读回更新的取消数量。将 ID 替换为您自己的发货和行项目 ID,并为每次接收生成唯一的幂等性密钥。自版本2026-04起,此突变需要该密钥。有关详细信息,请参阅幂等请求指南。

相关文档

  • inventoryShipmentReceive 变异
  • InventoryShipment 库存运输对象
  • InventoryShipmentLineItem 库存发货行项目对象
  • InventoryShipmentReceiveLineItemReason enum
  • Webhooks 参考
【声明】内容源于网络
0
0
Shopify电商独立站
1234
内容 7146
粉丝 0
Shopify电商独立站 1234
总阅读87.4k
粉丝0
内容7.1k