API CHANGE

在庫移動にメタフィールドを
定義・設定できるようになった

GraphQL Admin API 2026-07〜 | 在庫管理 × カスタムデータの新結合

BEFORE 2026-07Inventory Transferメタフィールド未対応AFTER 2026-07Inventory Transfer+ Metafields 対応METAFIELDSERP参照ID取扱い指示レビューチーム任意メタデータ別途APIコール不要1 Mutationで完結定義〜書込み
OVERVIEW

01何が変わったか

GraphQL Admin API バージョン 2026-07 より、在庫転送(Inventory Transfer)にメタフィールドを定義・設定できるようになりました。転送の作成・編集ミューテーション内に metafields 入力を渡すだけで済み、従来必要だった metafieldsSet の追加呼び出しが不要になります。ERP連携やハンドリング指示など転送固有のカスタムデータを、よりシンプルなフローで扱えます。

BEFOREAFTER 2026-07inventoryTransferCreateメタフィールドなしmetafieldsSet追加APIコールが必要カスタムデータ付与完了2ステップ必要inventoryTransferCreatemetafields: [...] を一緒に渡すカスタムデータ付与完了1ステップで完結ミューテーション数: 2回ミューテーション数: 1回
DETAILS

02対応ミューテーションと新しい仕組み

ミューテーション metafields入力 備考
inventoryTransferCreate 対応 作成時にメタフィールドを同時設定
inventoryTransferCreateAsReadyToShip 対応 出荷準備済み状態での作成時に設定
inventoryTransferEdit 対応 編集時にメタフィールドを更新可能
inventoryTransferDuplicate 自動複製 複製時に元の転送のメタフィールドも引き継がれる
MetafieldOwnerType TRANSFER 定義ミューテーションで使うオーナータイプ

定義の作成には metafieldDefinitionCreate 等の定義ミューテーションで MetafieldOwnerType.TRANSFER を使用します。定義を設けることでバリデーション(型チェック等)も適用可能です。

USE CASES

03業務に活かせる具体ユースケース

課題
ERPシステムと在庫転送を連携させる際、転送IDとERPの参照番号のひも付けを別テーブルや別API呼び出しで管理しており、データ整合性の維持が煩雑だった。
打ち手
inventoryTransferCreate 実行時に metafields 入力で erp_reference_id などのカスタムフィールドを同時に書き込む。
効果
転送レコード自体にERPの参照IDが紐づくため、転送データを取得するだけで連携に必要な情報が揃い、外部ストレージとの同期コストが削減できる。
技術メモ
メタフィールド定義に single_line_text_field 型を指定することでERPのIDフォーマットをバリデーションできる。
課題
特殊品や危険物を含む在庫転送に対してピッキングスタッフへの取扱い指示をメモ欄や外部ドキュメントで運用しており、転送データと分離して管理されていた。
打ち手
MetafieldOwnerType.TRANSFERhandling_instructions メタフィールド定義を作成し、転送作成・編集時に取扱い指示テキストをメタフィールドとして設定する。
効果
転送APIのレスポンスから直接取扱い指示を参照できるため、ピッキングシステムや倉庫管理UIと連携しやすくなり、情報の見落としリスクを低減できる。
技術メモ
定義に multi_line_text_field 型を使うことで複数行の詳細な指示文も格納可能。
課題
承認フローを持つ組織では、転送ごとにどのチームや担当者がレビュー済みかを別システムで管理しており、転送データ単体では承認状況を確認できなかった。
打ち手
承認チーム名や承認日時を inventoryTransferEditmetafields 入力で更新し、転送レコードに承認情報を直接付与する。
効果
転送データを取得するだけで承認状況が把握でき、監査ログとしても活用可能。転送を複製した際 (inventoryTransferDuplicate) にメタフィールドも自動引き継がれるため、定型転送のテンプレート運用にも活用できる。
技術メモ
複製時のメタフィールド引き継ぎは自動で行われるため、承認済みテンプレートを複製して一部を修正するワークフローにも自然に対応する。ただし承認日時など複製後に上書きが必要な値は編集で更新すること。
FOR DEVELOPERS

04技術者目線のポイント

APIバージョン

対応開始は GraphQL Admin API 2026-07 以降。それ以前のバージョンでは MetafieldOwnerType.TRANSFER および各ミューテーションへの metafields 入力は利用不可。

定義の作成

metafieldDefinitionCreate などの定義ミューテーションで MetafieldOwnerType.TRANSFER を指定することで転送専用のメタフィールド定義を作成。型バリデーションや名前空間の管理が可能になる。

一括設定のシンプル化

従来は転送作成後に別途 metafieldsSet を呼ぶ2ステップが必要だったが、今後は各 Create / Edit ミューテーションの metafields 入力に含めるだけで1ステップで完結する。

複製時の自動引き継ぎ

inventoryTransferDuplicate を実行すると、元の転送に設定されていたメタフィールドも自動で複製される。テンプレート的な転送パターンを複製して使い回す運用に適している。

既存アプリの移行

既存アプリが metafieldsSet を後続ステップで呼んでいた場合、2026-07以降は metafields 入力に統合できる。ただし移行は任意であり、metafieldsSet は引き続き使用可能と思われる(公式ドキュメントで要確認)。

注意点

定義なしでも値の書き込みは可能だが、型バリデーションや管理UI上での表示を得るには MetafieldOwnerType.TRANSFER を使った定義の作成を推奨。詳細は公式ドキュメントを参照のこと。

TRANSFER METAFIELD 実装フロー① 定義を作成MetafieldOwnerType.TRANSFER を指定② 転送を作成metafields: [...] を同時に渡す③ 転送を編集inventoryTransferEditで随時更新④ 複製メタフィールドも自動引き継ぎ利用可能なカスタムデータ例ERP参照ID / 取扱い指示 / レビューチーム / 承認情報 / その他メタデータ※ GraphQL Admin API 2026-07 以降で利用可能

在庫転送にERP連携情報や取扱い指示などのカスタムデータを1ミューテーションで付与できるようになったことで、バックエンド連携フローの実装コストを大幅に削減できます。

Source: https://shopify.dev/changelog/define-and-set-metafields-on-inventory-transfers-in-the-admin-graphql-api | 公開日: 2026年6月17日