ExchangeLineItemに
4フィールド追加
productId / title / variantSku / variantTitle が取得可能に
ShopifyのGraphQL Admin APIにおけるExchangeLineItemオブジェクトに、productId・title・variantSku・variantTitleの4フィールドが新たに追加されました。返品・交換処理を扱うアプリや自社開発システムにおいて、交換対象商品の情報を別途クエリせずに一度に取得できるようになります。公開日は2026年7月15日です。
1追加フィールドのBefore / After
2各フィールドの役割
| フィールド名 | 型(推定) | 用途 |
|---|---|---|
productId |
ID | 交換先商品のグローバルID。商品ページへの紐付けや在庫確認に利用 |
title |
String | 交換先商品のタイトル。注文確認メールや管理UIの表示に活用 |
variantSku |
String | 交換先バリアントのSKUコード。WMSや外部在庫管理との連携に必須 |
variantTitle |
String | 交換先バリアントの表示名(例: 赤 / Lサイズ)。ピッキング指示書などに利用 |
※型情報は元記事に記載なし。上記は一般的なShopify GraphQL慣例に基づく推定です。公式スキーマで必ずご確認ください。
3業務ユースケース
- 課題
- 返品・交換アプリで交換後の商品タイトルをメール通知に含めたいが、ExchangeLineItemから商品名が取れず、別途Productクエリが必要でコードが煩雑だった。
- 打ち手
-
ExchangeLineItemのtitleフィールドを直接クエリし、交換確定時のメール本文に動的に挿入する。 - 効果
- APIコール数を削減しレイテンシが改善。コード行数も減りメンテナンス性が向上。
- 技術メモ
- 返品ミューテーション(
returnCreateなど)のレスポンスに含まれるExchangeLineItemで即座に参照可能。追加のクエリ設計が不要。
- 課題
- WMS(倉庫管理システム)との連携時、交換商品のSKUを取得するためにProductVariantクエリを別途実行しており、処理フローが複雑だった。
- 打ち手
-
variantSkuフィールドを返品・交換フローのレスポンスから直接取得し、WMSへのピッキング指示に使用する。 - 効果
- 交換処理のWebhookやポーリング処理でSKUをワンステップで取り出せるようになり、WMS連携の実装がシンプルになる。
- 技術メモ
- SKUが未設定の場合のnull処理を忘れずに実装すること。バリアントにSKUが設定されていない店舗では空文字またはnullが返る可能性がある。
- 課題
- カスタム管理画面で交換履歴を一覧表示する際、バリアント名(色・サイズ等)を表示するために複数のリレーションを辿る必要があり、クエリが深くなっていた。
- 打ち手
-
variantTitleフィールドを利用し、交換一覧画面のGraphQLクエリを簡素化する。 - 効果
- クエリの深さが減り、GraphQLのcomplexityスコアを抑制。レート制限への抵触リスクが下がる。
- 技術メモ
- バリアントが存在しない(単一バリアント商品)の場合、
variantTitleの扱いは公式ドキュメントで要確認。
4技術者向けポイント
GraphQL Admin APIのExchangeLineItem型。対応APIバージョンは元記事に記載なし。最新バージョンを利用することを推奨。
フィールドの追加のみのため、既存クエリは破壊的変更なしで動作し続ける。オプトインで新フィールドを追加するだけでよい。
①既存のExchangeLineItemクエリに4フィールドを追記 ②レスポンス型定義(TypeScriptなど)を更新 ③null/undefined処理を確認してデプロイ。
返品・交換に関連するWebhookペイロードへの反映有無は元記事に記載なし。GraphQLクエリ側での取得を基本とし、公式で要確認。
型・null可否・非推奨フラグなどの詳細は元記事に記載なし。公式GraphQLスキーマで必ず最終確認を。
「返品・交換フローに関わるアプリ・連携システムのGraphQLクエリを見直すだけで、商品名・SKU・バリアント情報を追加APIコールなしに取得できるようになります。」
Source: https://shopify.dev/changelog/new-fields-on-exchangelineitem | 公開日: 2026年7月15日





Share:
Storefront API @inContext に channelId が追加
POSバンドル割引をコンポーネント単位で取得できるように