記事のサマリー(TL;DR)
- Dev Dashboard の Function 実行ログがアクセススコープ付与後に自動表示、マーチャント側の操作不要
- 必要スコープはファンクションの input query で参照するフィールドによって決まる
- 顧客データフィールドは Protected Customer Data の追加承認が必要なため別途申請が必要
Shopify Functions を活用する開発者・事業者が対応すべきスコープ管理の実務
Shopify Functions(カスタム割引・配送ロジック等)のデバッグは、これまでマーチャントに実行ログを手動で共有してもらう必要があり、特に複数店舗・代理店経由の案件では確認までのリードタイムが課題でした。今回の変更により、アプリが GraphQL Admin API 経由で対象フィールドを読み取る権限を持っていれば、開発者は Dev Dashboard 上でログを即時確認できます。
日本国内では Shopify Plus 上でチェックアウト拡張やカスタム B2B 価格ロジックを Functions で実装するケースが増えています。リリース後の挙動確認やトラブル対応時に、マーチャント担当者へのログ共有依頼というコミュニケーションコストが削減される点は、運用フェーズの効率化に直結します。顧客住所・顧客詳細などを input query で参照するファンクションは Protected Customer Data の承認フローが必要なため、スコープ設計の段階で確認しておくことが重要です。
詳細
変更内容
Dev Dashboard 上の Function 実行ログは、マーチャントがアプリに付与したアクセススコープに基づいて参照可能になりました。ログを表示するために必要なスコープは、ファンクションの input query で使用するフィールドによって決まります。アプリが GraphQL Admin API 経由でそれらのフィールドを読み取るスコープを持っている場合、マーチャントによる追加操作なしに実行詳細が自動で表示されます。
対応が必要なケース
Function 実行ログが表示されない場合は、アプリが input query に必要なスコープを持っているか確認してください。
1. インストール / 認証時にスコープをリクエストする
アプリが常時必要とするスコープは、インストール・認証フローで宣言・リクエストするのが基本です。詳細は Shopify 公式の Access scopes ドキュメントを参照してください。
2. 顧客データへのアクセスには Protected Customer Data スコープを申請する
顧客詳細・住所など一部のフィールドは、Protected Customer Data(保護顧客データ) への追加アクセス権が必要です。承認プロセスおよび必要なデータレベルスコープについては、公式の Protected customer data ドキュメントを参照してください。
3. 一時的・デバッグ用途には Optional Scopes を活用する
デバッグ時など一時的にのみ必要なスコープは、オプショナルスコープ(optional scope) として申請することが可能です。マーチャントはアプリを再インストールせずにスコープの付与・取り消しを行えます。
必要なスコープが付与されると、次回ログにアクセスした時点から実行詳細が自動的に表示されます。