Admin GraphQL API / 開発者向け

Rollouts を「読める・追える」
クエリと Webhook が Admin GraphQL API に登場

アプリが Rollout(計画的なローンチ・実験・期間限定イベント)を見つけ、スケジュールやトラフィック配分、変更されるリソースを読み取り、変更時には通知を受け取れるようになった。対象はディスカウント・カタログ・テーマ・チェックアウトとアカウントの設定。

このページの構成
  1. そもそも何が変わるのか(30秒で理解)
  2. 図解 : Rollout の中身と、読めるもの
  3. 新しく使える 4 つの機能
  4. スケジュールと配分 : 「設定値」と「実効値」は別物
  5. Webhook → 再取得で追従する流れ
  6. アクセス条件(スコープと再承認)
  7. 技術者が押さえるべき5つのポイント
  8. 業務に活かせる3つのユースケース
  9. 提案で使える1行サマリ

1そもそも何が変わるのか

Rollout は、ディスカウント・カタログ・テーマ・チェックアウトとアカウントの設定などをまたぐ「計画的なローンチ/実験/期間限定イベント」の単位。
今回、アプリが Admin GraphQL API から Rollout を検索・取得して中身を読み、変化を Webhook で受け取れるようになった。

アプリから見て : これまで

本記事は以前の状態を明示していない(記載なし)。今回「アプリが Rollout を discover / read できるようになった」と案内されている。

アプリから見て : これから

Rollout の一覧・検索・ID 指定取得、トリートメントごとの変更内容、スケジュール、配分を読める。ライフサイクル・実効配分・リソース変更を Webhook で受け取れる。

2図解 : Rollout の中身と、読めるもの

Rollout スケジュール 予定の開始 / 終了時刻 トラフィック配分 trafficAllocation(設定値) effectiveTrafficAllocation(現在値) トリートメント split 値(分割比率) 各トリートメントが 影響する ディスカウント カタログ テーマ チェックアウトと アカウントの設定 あなたのアプリ Query : rollouts / rollout(id:) Webhook : 変化を通知で受け取る スコープ : read_rollouts 中身のリソースは既存スコープも必要
Rollout とは : 記事では「ディスカウント・カタログ・テーマ・チェックアウトとアカウントの設定をまたぐ、計画的なローンチ・実験・期間限定イベント」と説明されている。マーチャント側の作成・運用方法の説明は本記事には記載なし。

3新しく使える 4 つの機能

見つける・読む
rollouts で一覧・検索
rollout(id:) で直接取得
何が変わるか
トリートメントごとに
4 種のリソースへの影響
スケジュール・配分
開始/終了予定、設定配分
実効配分、split 値
最新に追従
Rollout Webhook を購読し
影響 Rollout を再取得

4スケジュールと配分 : 「設定値」と「実効値」は別物

予定の開始時刻 予定の終了時刻 planned activation 〜 conclusion trafficAllocation 設定された配分 設定値 effectiveTrafficAllocation 現在の実効配分 実効値 ≠ 一致するとは限らない

※ バーの長さはイメージ。具体的な数値や、両者がずれる条件は記事に記載なし。

記事は明確に 「設定された配分だけでは実効的なリーチは決まらない」 と注意している。実際にどれだけ届いているかを扱うなら effectiveTrafficAllocation を見ること。

5Webhook → 再取得で追従する流れ

1

Rollout Webhook を購読

通知の種類は「ライフサイクル」「実効配分」「リソース変更」の 3 系統。

2

通知を受け取る

どの Rollout が変わったかを知るきっかけとして使う。

3

影響 Rollout を再取得

記事の推奨 : 影響を受けた Rollout を refetch して連携データを最新に保つ。

通知の系統何がわかるか具体的なトピック名
ライフサイクルRollout の状態の変化記載なし(API リファレンス参照)
実効配分effective allocation の変化記載なし(API リファレンス参照)
リソース変更Rollout が変更するリソースの変化記載なし(API リファレンス参照)

6アクセス条件(スコープと再承認)

必須

read_rollouts

Rollout データにアクセスするために要求するスコープ。

併用

既存リソーススコープ

Rollout の中に含まれるディスカウント等のリソース本体(payload)には、それぞれの既存スコープが適用される。

注意

再承認が必要な場合あり

既存インストールでは、マーチャントによる再承認(reauthorization)が必要になる可能性がある。

ディスカウントを読むアプリは、別ガイド 「Update your app to account for discount Rollouts」 に、ディスカウント固有の連携方法と互換性の挙動がまとまっている。対応 API バージョンは本記事に記載なし。

7技術者が押さえるべき5つのポイント

READ

1. 今回は「読み取り+通知」

記事で案内されているのはクエリ(rollouts / rollout(id:))と Webhook。Rollout を作成・更新する mutation については記載なし。

≠

2. 設定配分 ≠ 実効リーチ

trafficAllocation だけで判断しない。現在どれだけ効いているかは effectiveTrafficAllocation、トリートメント間の配分は split 値で読む。

3. Webhook は「合図」、真実は再取得

記事は通知後に影響 Rollout を refetch するよう案内している。通知 payload の中身だけで状態を組み立てる前提にしない設計が無難。

4. スコープは二段構え

read_rollouts に加え、中身のリソース payload には既存スコープが適用される。片方だけだと見えない部分が出る前提でスコープ設計とエラーハンドリングを。

%OFF

5. ディスカウント系アプリは専用ガイドを必読

ディスカウントを読むアプリ向けに「Update your app to account for discount Rollouts」が用意され、互換性の挙動にも触れている。既存のディスカウント連携がある場合は、本機能の導入有無に関わらず確認対象。既存インストールの再承認フローもあわせて計画する。

8業務に活かせる3つのユースケース

%OFF
USE CASE 1

ディスカウント連携アプリの「Rollout 由来の割引」への追従

課題
ディスカウントを読み取るアプリ(価格表示・レポート等)が、Rollout による期間限定・実験的な割引の存在を把握できないと、表示や集計がずれるおそれがある。
打ち手
read_rollouts を追加 → rollouts でディスカウントに影響する Rollout を把握 → Webhook 受信時に該当 Rollout を再取得。
効果
割引がいつ・どの配分で効くかをアプリ側でも把握でき、問い合わせや不整合の原因を追いやすくなる。
技術メモ
ディスカウント固有の挙動は専用ガイドに従う。既存インストールは再承認が必要になる場合があるため、マーチャント向け告知を先に用意。
設定 vs 実効
USE CASE 2

実験・ローンチの「実効リーチ」を可視化するダッシュボード

課題
テーマやチェックアウト設定の実験を行う際、「設定した配分」と「実際に届いている配分」の差が見えず、結果の解釈を誤りやすい。
打ち手
Rollout ごとに trafficAllocation・effectiveTrafficAllocation・トリートメントの split 値・開始/終了予定を取得して並べて表示。実効配分の Webhook で更新。
効果
実験の進行状況を管理画面を巡回せずに一覧でき、レポート時の前提(実際の配分)を正しく添えられる。
技術メモ
記事が「設定配分だけでは実効リーチは決まらない」と明言している点を UI 上でも明示する。ずれる条件は記載なしのため推定ロジックは入れない。
USE CASE 3

セール・期間限定イベントの「変更カレンダー」と運用アラート

課題
ディスカウント・カタログ・テーマを同時に切り替えるイベントで、いつ何が変わるかが関係者間で共有されず、サポートや在庫・広告運用が後手に回る。
打ち手
Rollout の予定開始/終了時刻と、各トリートメントが影響するリソースを取得してカレンダー化。ライフサイクル / リソース変更 Webhook で Slack 等へ通知。
効果
イベント開始前の確認漏れ防止、切り替え時の問い合わせ対応の迅速化。
技術メモ
通知を受けたら必ず再取得して最新状態で表示を更新。具体的な Webhook トピック名や payload 形式は API リファレンスで確認(本記事に記載なし)。

9提案で使える1行サマリ

「ディスカウント・カタログ・テーマ・チェックアウト設定をまたぐ Rollout を、
アプリが read_rollouts で読み、Webhook で追従できるようになった。
実際の配分は effectiveTrafficAllocation を見て、通知が来たら再取得するのが鉄則。」