記事のサマリー(TL;DR)
- 在庫移転 Webhook 全6トピックに
origin.id/destination.idフィールドが追加(gid://shopify/Location/123形式) - 追加 API 呼び出しなしに移転元・移転先ロケーションをペイロード内で判別できるようになった
- 在庫移転ミューテーションの公式ドキュメントも同時に整備・明確化
複数拠点・倉庫を持つ Shopify Plus 事業者が注目すべき Webhook 仕様変更
これまで在庫移転 Webhook のペイロードには移転元・移転先のロケーション情報が含まれておらず、イベント受信後に別途 API を叩いてロケーションを特定する必要がありました。今回の変更で origin.id と destination.id が直接ペイロードに含まれるため、複数倉庫・店舗を持つ事業者やロジスティクス連携システムを構築している開発者は、ロジックを大幅に簡素化できます。日本国内でも、実店舗と EC 倉庫を組み合わせた Shopify Plus 運用が増えており、在庫の拠点間移転を WMS(倉庫管理システム)や基幹システムと連携しているケースでは、この変更が Webhook ハンドラーの改修好機となります。
詳細
在庫移転 Webhook ペイロードの新フィールド
以下の Webhook トピックのペイロードすべてに、移転元(origin)と移転先(destination)のロケーション情報が追加されました。
inventory_transfers/add_itemsinventory_transfers/update_item_quantitiesinventory_transfers/remove_itemsinventory_transfers/ready_to_shipinventory_transfers/cancelinventory_transfers/complete
各ペイロードには以下のフィールドが含まれます:
| フィールド | 例 |
|---|---|
origin.id |
gid://shopify/Location/123 |
destination.id |
gid://shopify/Location/456(例) |
ID 形式は Shopify 標準の Location Global ID(gid://shopify/Location/{数値ID})です。既存の GraphQL クエリや Admin API と同じ ID 体系で扱えるため、ロケーション情報の結合処理がシンプルになります。
ミューテーションドキュメントの明確化
在庫移転に関連するミューテーション(inventoryTransfer 系)の公式ドキュメントが同時に整備されました。各ミューテーションの引数・戻り値・エラーハンドリングに関する記述が補完されており、実装時の仕様解釈のブレを減らすことができます。
既存の Webhook ハンドラーへの影響
今回はフィールドの追加のみであり、既存フィールドの削除・変更は行われていません。後方互換性は維持されているため、既存のハンドラーが即座に壊れることはありませんが、新フィールドを活用するには受信側のパース処理を更新する必要があります。