priceRuleフィールド削除
2026-10 GraphQL Admin APIの対応指針
DraftOrderDiscountNotAppliedWarningからlegacy PriceRuleオブジェクトが完全撤廃。移行フィールドと影響範囲を整理する。
GraphQL Admin APIの2026-10バージョンから、DraftOrderDiscountNotAppliedWarningオブジェクトのpriceRuleフィールドが完全に削除されます。draftOrderCalculate・draftOrderCreate・draftOrderUpdateのレスポンスでpriceRuleを参照しているアプリは、2026-10へのアップグレード前にdiscountTitle/discountCodeへの移行が必須です。
01削除されるフィールドと代替フィールド
priceRuleはかねてより非推奨とされていたレガシーフィールドです。2026-10以降、DraftOrderDiscountNotAppliedWarningがPriceRuleオブジェクトへの唯一のエントリポイントであったため、priceRuleの削除にともないPriceRuleオブジェクト自体およびその関連型もpublic schemaから完全に削除されます。旧バージョンのAPIは各バージョンのEOLまで引き続きpriceRuleを提供します。
02業務に活かせる具体ユースケース
- 課題
- 受注管理システムとShopifyを連携するアプリが、下書き注文作成時に適用できなかったディスカウントの情報を
priceRule.titleでログ記録している。2026-10移行後にクエリが失敗しアラートが止まらない。 - 打ち手
- 該当クエリを
discountTitleに書き換える。フラットなフィールドになるためネスト解消でコードも簡潔になる。 - 効果
- ログパイプラインの停止ゼロ。かつコードの複雑度が下がり保守性が向上する。
- 技術メモ
-
draftOrderCreate/draftOrderUpdate/draftOrderCalculateの3ミューテーションすべてで影響を受ける可能性があるため、コードベースを横断的に検索して漏れなく修正すること。
- 課題
- カスタマーサービスツールが
priceRule.discountCodes { nodes { code } }を取得してオペレーターに「使えなかったコード」を表示している。移行後に画面がブランクになる問題が発生。 - 打ち手
- 表示ロジックを
discountCodeフィールドに切り替える。単一文字列になるため配列処理が不要になり実装がシンプルになる。 - 効果
- オペレーターへのフィードバックが維持され、CS対応品質を損なわずにAPI移行を完了できる。
- 技術メモ
- 旧
discountCodes { nodes { code } }は複数コードを返せる構造だったが、discountCodeは単一文字列。複数コードのケースがあるか事前に業務フローを確認しておくこと(元記事には複数コード対応の記載なし)。
- 課題
- スキーマ自動生成ツール(GraphQL Code Generatorなど)でTypeScriptの型定義を生成しているプロジェクトが、
PriceRule型や関連型を他の箇所でも参照していた場合、2026-10のスキーマ取得後にビルドエラーが多発する。 - 打ち手
-
DraftOrderDiscountNotAppliedWarningのクエリ修正とあわせて、PriceRule型への参照をコードベース全体で検索・削除する。型が消えることを前提にした影響範囲調査を先行させる。 - 効果
- スキーマ更新後のビルドが一発で通り、CI/CDパイプラインの停止を防げる。
- 技術メモ
-
DraftOrderDiscountNotAppliedWarningがpublic Admin APIでPriceRuleオブジェクトへの唯一の経路だったため、他のクエリでPriceRuleを直接参照することは既に不可能だったはず。ただし過去に生成した型定義ファイルに残骸が残っている場合があるため確認が必要。
03技術者が押さえるべき5つのポイント
破壊的変更
2026-10は後方互換なし2026-10以降のAPIバージョンを指定したリクエストでpriceRuleを選択するとスキーマエラーになる。旧バージョン(2026-07以前)はEOLまで利用可能。
影響ミューテーション
3つのミューテーションが対象draftOrderCalculate・draftOrderCreate・draftOrderUpdateのレスポンスに含まれるDraftOrderDiscountNotAppliedWarningが対象。見落としがちなdraftOrderCalculateも忘れずに確認。
スキーマ変化
PriceRule型がpublic schemaから消えるpriceRule削除の副作用として、PriceRuleオブジェクトとその関連型がpublic GraphQL Admin APIのスキーマから完全に除外される。イントロスペクションの結果も変わる。
移行コスト低
置き換えはシンプルな2フィールドネストされたpriceRule { title / discountCodes }を、フラットなdiscountTitle・discountCodeに置き換えるだけ。ロジックの大幅な変更は不要。
| 確認項目 | 内容 | 優先度 |
|---|---|---|
| クエリ検索 | コードベース全体でpriceRuleをDraftOrderDiscountNotAppliedWarningコンテキストで使用している箇所をgrepする |
🔴 高 |
| 型定義確認 | GraphQL Code GeneratorなどでPriceRule型が生成されていないか確認・削除 | 🟠 中 |
| テスト更新 | discountWarningのモックレスポンスにpriceRuleが含まれているテストを更新 |
🟠 中 |
| APIバージョン固定の確認 | 旧バージョンに固定しているアプリは当面影響なし。ただしEOLスケジュールを把握しておく | 🟡 低 |
| 公式ドキュメント確認 | DraftOrderDiscountNotAppliedWarningオブジェクトの最新仕様を公式docsで確認 | 🟡 低 |
「2026-10へのアップグレード前にpriceRule→discountTitle/discountCodeの置き換えを完了するだけで、下書き注文のディスカウント警告取得が引き続きシンプルかつ確実に動作します。」
Source: https://shopify.dev/changelog/remove-pricerule-from-draft-order-discount-warning | 公開日: 2026年6月23日






Share:
Storefront MCP カートツールが廃止へ|UCP Cart MCPへ移行
在庫APIエラーコード廃止:ITEM_NOT_STOCKED_AT_LOCATION削除