appliesOnSubscriptionのデフォルト値がtrueに変更
GraphQL Admin APIのアプリ割引入力型で、サブスクリプション適用フラグのデフォルトが反転
GraphQL Admin APIのDiscountCodeAppInputおよびDiscountAutomaticAppInputにおいて、appliesOnSubscriptionフィールドのデフォルト値がfalse → trueへ変更されました。対象は全アクティブAPIバージョンです。既存アプリで値を明示的に指定している場合は影響ありません。
1変更内容の図解
2業務に活かせるユースケース
- 課題
- サブスクリプション商品向けのアプリ割引を作成する際、毎回
appliesOnSubscription: trueを明示的に記述しており、コードが冗長になっていた - 打ち手
- デフォルトがtrueになったため、サブスクリプションへの適用が標準挙動となる。新規にアプリ割引を作成するミューテーションから
appliesOnSubscriptionフィールドの記述を省略可能 - 効果
- ミューテーション入力オブジェクトを簡潔に保ちながら、サブスクリプション対応割引を確実に生成できる
- 技術メモ
- 既存の明示的な指定は引き続きそのまま機能する。省略した場合のみデフォルト値(true)が適用される
- 課題
- 新規参入の開発者がアプリ割引を実装する際、
appliesOnSubscriptionの指定漏れでサブスクリプションに割引が効かないバグを踏みやすかった - 打ち手
- デフォルト値がtrueになったことで、フィールドを省略してもサブスクリプションに割引が適用されるようになり、意図しない非適用を防げる
- 効果
- 実装ミスによるサポート対応コストの削減と、割引キャンペーンの歩留まり向上が期待できる
- 技術メモ
- ただしサブスクリプションに割引を意図的に適用させたくない場合は、
appliesOnSubscription: falseを明示的に渡す必要がある
- 課題
- コードレビュー時に
appliesOnSubscriptionの設定の有無を確認する作業が発生し、レビューコストが高かった - 打ち手
- デフォルト値がtrueとなり、
appliesOnOneTimePurchase(デフォルトtrue・変更なし)と挙動が統一された。両フィールドともに「省略=適用する」という一貫したセマンティクスになった - 効果
- フィールドの意図を確認するレビュー負担が軽減され、コードの可読性・保守性が向上する
- 技術メモ
- 対象入力型は
DiscountCodeAppInputとDiscountAutomaticAppInputの2種類
3技術者向けポイント
全アクティブGraphQL Admin APIバージョンに即時適用済み。特定バージョンへの段階的展開ではない。
DiscountCodeAppInputとDiscountAutomaticAppInputの2入力型のappliesOnSubscriptionフィールドのみが対象。
明示的に値を指定しているコードの動作は変わらない。デフォルト値が参照されるのは値が省略された場合のみ。
割引がチェックアウトで適用されるロジック自体には変更なし。デフォルト値のスキーマ定義変更のみ。
サブスクリプションへの割引適用を明示的に除外したい場合は、appliesOnSubscription: falseの明示指定が必要になる。省略=適用する、に変わった点に留意。
元記事の記載どおり「No action required」。既存アプリへの影響調査・コード変更・マイグレーション作業はいずれも不要。
| フィールド | 変更前デフォルト | 変更後デフォルト | 備考 |
|---|---|---|---|
| appliesOnSubscription | false | true | 今回の変更対象 |
| appliesOnOneTimePurchase | true | true(変更なし) | 元からtrueのまま |
アプリ割引のサブスクリプション適用フラグがデフォルトtrueになり、明示指定不要で「一度きり購入」と同等の挙動が得られるようになりました。既存コードへの影響はなく、新規実装をよりシンプルに記述できます。
Source: https://shopify.dev/changelog/default-value-of-appliesonsubscription-changed-to-true-for-app-discount-inputs | 公開日: 2026年5月4日






Share:
サブスク操作の実行者を記録できるactorフィールド追加
1カートラインに複数割引を同時適用可能に