API CHANGE

在庫APIエラーコード廃止
ITEM_NOT_STOCKED_AT_LOCATION

2026-10以降、4つの在庫ミューテーションからこのエラーは完全消滅

BEFORE 2026-10ITEM_NOT_STOCKED_AT_LOCATIONInventoryAdjustQuantitiesInventoryMoveQuantitiesInventorySetOnHandQuantitiesInventorySetQuantitiesUserErrorAFTER 2026-10エラー廃止ITEM_NOT_STOCKED_AT_LOCATION→ REMOVED ✕InventoryAdjustQuantitiesInventoryMoveQuantitiesInventorySetOnHandQuantitiesInventorySetQuantitiesUserError任意ロケーションで在庫調整が可能になり、エラー発生条件が消滅

Shopify Admin APIの2026-10バージョンから、在庫操作ミューテーション4種におけるITEM_NOT_STOCKED_AT_LOCATIONエラーコードが廃止されます。以前の仕様変更によりどのロケーションでも在庫数量を調整できるようになり、このエラーが発生する条件そのものがなくなったためです。該当エラーをハンドリングしているコードは安全に削除できます。

BACKGROUND

01廃止の背景と対象スコープ

もともとITEM_NOT_STOCKED_AT_LOCATIONは、特定ロケーションで取り扱いのない商品に対して在庫調整を行おうとした際に返されるエラーでした。しかし、Shopifyの以前のアップデートにより任意のロケーションで在庫数量を調整できるようになったため、このエラーが発生するシナリオ自体が存在しなくなりました。結果として、エラーコードは「発生しないが定義だけ残っている廃止済みコード」となり、2026-10での正式削除が決定されました。

WHY THIS ERROR IS OBSOLETEアプリが在庫調整ミューテーションを呼び出すロケーション指定任意のロケーションIDをパラメータとして渡す調整成功どのロケーションでも在庫操作が受け付けられる旧: ITEM_NOT_STOCKED_AT_LOCATION取り扱いなしロケーションへの操作時に返されていたが…発生条件が消滅 → エラーコード廃止USE CASES

02業務・開発への影響と活用シーン

課題
倉庫を複数持つEC事業者が、新規ロケーションに商品を割り当てる前に在庫を先行セットしようとするとエラーが返っていた
打ち手
2026-10以降はロケーション未登録状態でも在庫調整ミューテーションが通るため、事前のロケーション紐付け手順が不要になる
効果
倉庫開設・移転時の在庫データ移行フローをシンプル化でき、オペレーションミスを削減
技術メモ
InventoryAdjustQuantitiesで対象locationIdを直接指定するだけでOK。事前チェック処理の削除を検討
課題
在庫同期アプリがITEM_NOT_STOCKED_AT_LOCATIONを受け取った際に同期をスキップする分岐ロジックを持っており、保守コストが発生していた
打ち手
該当エラーコードをキャッチするtry/catchやswitch文の分岐を削除し、コードベースをスリム化する
効果
エラーハンドリングのテストケースも削減でき、QAコストの低下と可読性向上を同時に実現
技術メモ
2026-10未満のAPIバージョンを並行サポートする場合は後方互換のため当面ロジックを残すこと
課題
POSや店舗在庫管理システム連携時に、特定店舗への在庫反映が弾かれるケースがあり、手動リカバリが必要だった
打ち手
エラー発生を前提とした再試行ループや管理者通知処理を廃止し、シンプルな一発投入フローに変更する
効果
POS連携の信頼性向上と、障害対応工数の削減。自動化率を高められる
技術メモ
InventorySetOnHandQuantitiesを使う店舗在庫セット処理が主な対象。移行後は他のエラーコードのハンドリングは引き続き必要
DEVELOPER NOTES

03開発者が押さえるべき技術ポイント

破壊的変更

対象APIバージョン: 2026-10〜

2026-10以前のバージョンではエラーコードは引き続き定義されています。バージョンを固定しているアプリは影響なし。2026-10へ移行するタイミングで対応が必要です。

対象ミューテーション 4種

  • InventoryAdjustQuantities
  • InventoryMoveQuantities
  • InventorySetOnHandQuantities
  • InventorySetQuantitiesUserErrorCode

安全に削除できる

既存ハンドリングコードの扱い

公式は「このエラーに依存するロジックは安全に削除できる」と明言。削除前に該当コードのテストが通っているかを確認してから除去することを推奨します。

注意: 旧バージョン並行運用

後方互換に注意

2026-10未満のAPIバージョンを同時サポートするアプリでは、旧バージョン向けのエラーハンドリングを残す必要があります。バージョン分岐の設計を確認してください。

前提となる仕様変更

任意ロケーションでの在庫調整

本廃止の前提として「任意ロケーションで在庫数量を調整できるようにする変更」が先行して行われています。詳細はChangelog記載のリンク先を参照してください(本記事では元記事に記載のある範囲のみ言及)。

GraphQL型定義への影響

UserErrorCode enumから削除

InventorySetQuantitiesUserErrorCode enumから当該値が消えます。GraphQLコード生成ツール(graphql-codegenなど)を使っている場合は2026-10移行後に型を再生成し、参照箇所がないか確認してください。

「在庫APIのITEM_NOT_STOCKED_AT_LOCATIONエラーはAPI 2026-10で廃止されるため、該当ハンドリングを除去してコードをスリム化できます——ロケーション制限なしの在庫調整が標準になりました。」

Source: https://shopify.dev/changelog/removal-of-itemnotstockedatlocation-error | 公開日: 2026年6月19日