概要
サンドボックスモードを使用すると、バイヤーは実際のプラットフォームコールや実際の費用なしに、メディア購入のライフサイクル全体 — 発見、キャンペーン作成、クリエイティブ、配信 — をテストできます。レスポンスにはシミュレートされたが現実的なデータが含まれます。 サンドボックスはリクエストごとではなくアカウントレベルで機能します。リクエストがサンドボックスアカウントを参照すると、リクエスト全体がサンドボックスとして扱われる。これにより、マルチステップフローで実際のトラフィックとテストトラフィックを誤って混在させるリスクを排除します。ケイパビリティの発見
セラーはget_adcp_capabilities でサンドボックスサポートを宣言する:
account.sandbox が宣言されていないか false の場合、セラーはサンドボックスをサポートしていません。
サンドボックスへの2つの経路
サンドボックスモードへの入り方は、セラーのアカウントモデル(require_operator_auth)によって異なります。2つの経路はまったく異なる — 正しい方に従うようにすること。
バイヤー宣言アカウント(require_operator_auth: false)
セラーはエージェントを信頼し、オペレーターごとの認証を必要としません。サンドボックスはナチュラルキーの一部だ — 同じブランド/オペレーターのペアがプロダクションとサンドボックスの両方のアカウントを持つことができ、sandbox: true で区別されます。
セットアップ: アカウントエントリに sandbox: true を付けて sync_accounts でサンドボックスアカウントを宣言する:
sandbox: true を付けたナチュラルキーでサンドボックスアカウントを参照する:
アカウント ID 名前空間(require_operator_auth: true)
セラーは各オペレーターが直接認証することを要求します。サンドボックスアカウントはセラーのプラットフォーム上の既存のテストアカウントだ — Stripe のテストモード、Google Ads サンドボックスアカウント、Snap のテスト広告主アカウントのようなもの。作成するのではなく、発見します。
セットアップ: sandbox: true フィルターを使って list_accounts でサンドボックスアカウントを発見する:
account_id でサンドボックスアカウントを参照する:
クイックリファレンス
レスポンスの確認
成功レスポンスにはsandbox: true が含まれ、リクエストがサンドボックスモードで処理されたことを確認します:
完全なライフサイクルの例(バイヤー宣言アカウント)
この例はバイヤー宣言アカウントのパスを示します。アカウント ID 名前空間の場合、サンドボックスアカウントをlist_accounts(またはセラー定義 ID のためのアウトオブバンドのオンボーディング)を通じて解決してから、各ステップのナチュラルキーアカウント参照を { "account_id": "acct_sandbox_acme_001" } に置き換える。
1. 商品の発見
2. メディアバイの作成
3. クリエイティブのアップロード
4. 配信の確認
サンドボックス vs ドライラン
一部の sync タスク(sync_creatives、sync_catalogs)は dry_run パラメータをサポートします。これらは異なる目的を持ちます:
これらは組み合わせられます——サンドボックスアカウントでの
dry_run: true は、サンドボックスの状態すら更新せずに同期をプレビューします。
セラーの実装
リクエストがサンドボックスアカウントを参照する場合(ナチュラルキーのsandbox: true またはサンドボックスの account_id を通じて)、エージェントはプロダクションの状態を永続化したり実世界の副作用を引き起こしたりしてはなりません(MUST NOT):
- 実際の広告プラットフォーム API コール(実際の注文、ラインアイテムなど)を行ってはならない(MUST NOT)
- 実際のお金を請求したり、実際の請求レコードを作成してはならない(MUST NOT)
- プロダクションと同じ方法で入力を検証しなければならない(MUST)(無効な予算、不正な日付などを拒否します)
- シミュレートされたデータを含むリアルなレスポンスシェイプを返さなければならない(MUST)
- 成功レスポンスに
sandbox: trueを含めるべきだ(SHOULD)
list_accounts が sandbox: true でフィルタリングした際に返すことができる既存のサンドボックス/テストアカウントがあることを確認するか、サンドボックス ID をアウトオブバンドで供給します。
バイヤー宣言アカウントのセラー: sync_accounts とアカウント参照でナチュラルキーの一部として sandbox: true を受け入れる。(brand, operator, sandbox: true) を (brand, operator) とは別のアカウントとして扱います。
プロトコルコンプライアンス
ケイパビリティでaccount.sandbox: true を宣言するセラーは以下をしなければなりません (MUST):
- アカウントモデルに適したサンドボックスアカウントを受け入れる
- サンドボックスアカウントを参照するすべてのリクエストにサンドボックスセマンティクスを適用します
- サンドボックスリクエストを処理する際、プロダクションの状態を永続化したり実世界の副作用を引き起こしたりしない
- 通常の入力検証を適用する(サンドボックスは検証をバイパスしない)
sandbox: true を含めるべきだ (SHOULD)。