在庫と返金処理に対する並行性保護機能
Shopify APIのユーザーの中には、在庫や返金処理の調整に対する競合状態や重複更新の問題に直面している方も多いでしょう。これらの問題は、ネットワークの不具合により命令が再試行される際に特に発生する可能性があります。そこで、この問題に対処するためにShopifyは、在庫と返金処理に対する並行性と冪等性保護の機能を導入しました。
Compare and swapの変更
在庫更新の競合状況を防ぐために、Shopifyは複数のAPIバージョンでchangeFromQuantityフィールドを通じたCompare and swap保護機能を導入しました。
-
2026-01: 様々な在庫変更に対するchangeFromQuantityフィールドの導入 -
2026-01:inventorySetQuantitiesの変更に対するchangeFromQuantityフィールドの導入 -
2026-04: 様々な在庫変更に対してchangeFromQuantityフィールドを必須化 (BREAKING) -
2026-04:inventorySetQuantitiesの変更に対してchangeFromQuantityフィールドを必須化 (BREAKING)
冪等性の変更
再試行時に重複した操作を防ぐために、Shopifyは冪等性指示子を通じた保護機能を導入しました。
-
2026-01: 在庫調整と返金処理に対するオプショナルなidempotent指示子の導入 -
2026-04在庫調整と返金処理に対するidempotent指示子の必須化 (BREAKING)
変更を行った理由
在庫調整の多くは並行性と冪等性保護が欠けており、競合状態、重複更新、整合性問題が発生しやすい状態でした。この問題を解決するため、在庫API全体で並行性と冪等性チェックを標準化します。
詳細は、冪等性とcompare and swapのドキュメントをご覧ください。
参考記事: Concurrency protection features for inventory and refund mutations






Share:
`inventorySetQuantities` ミューテーションの新たな比較交換構文
`changeFromQuantity`フィールドを必須化する(明示的なオプトアウト付き)