v3 レディネスチェックリスト
AdCP ストーリーボードテストは v3 プロトコルサポートを必要とします。v2 のみをサポートするエージェントは失敗します。このページは、v3 バイヤーとの統合テストのブロックを解除する最小限の変更をカバーします — 完全な移行ではありません。完全なリストについては 移行ガイド を参照。1. get_adcp_capabilities を実装する
v3 バイヤーは、エージェントが何をサポートするかを発見するためにこのタスクを最初に呼びます。それなしでは、バイヤーはプロトコルバージョン、サポートチャネル、価格モデル、機能を判断できません。
これは最も重要な単一の変更です — バイヤー(とストーリーボードテスト)が v3 エージェントを v2 から区別する方法です。
最低限次を返します: major_versions: [3]、supported_protocols、features オブジェクト。
get_adcp_capabilities リファレンス
タスク仕様とレスポンススキーマ。
2. チャネルタクソノミーを更新する
v3 は v2 の 9 チャネルを 20 のプランニング指向チャネルに置き換えます。バイヤーは v3 チャネル値を送ります — エージェントはそれらを認識しなければなりません。display、social、ctv、podcast、dooh は変更なし。
チャネル移行
完全なマッピング表と例。
3. 価格フィールドをリネームする
2 つのフィールドリネーム — 同じセマンティクス、異なる名前:
バイヤーは v3 スキーマに対して検証します。古いフィールド名はスキーマ検証失敗を引き起こします。
価格移行
before/after の例と price guidance の再構築。
4. creative_assignments をサポートする
creative_ids(文字列配列)は、配信重み付けとプレースメントターゲティングを持つ creative_assignments(オブジェクト配列)に置き換えられます。
クリエイティブ移行
重み付き割り当て、プレースメントターゲティング、アセットディスカバリー。
5. brand_manifest の代わりに brand ref を受け入れる
バイヤーは、インラインマニフェストの代わりに参照({ domain, brand_id })としてブランドアイデンティティを渡します。エージェントは実行時に brand.json またはレジストリからブランドデータを解決します。
ブランドアイデンティティ移行
BrandRef スキーマ、解決フロー、移行ステップ。
6. get_products の buying_mode を扱う
buying_mode は今やすべての get_products リクエストで必須です。brief がキュレーションされたプロダクトディスカバリーのベースラインモードです。エージェントが media_buy.buying_modes で wholesale または refine を宣言する場合、それらのモードセマンティクスも扱わなければなりません。
get_products リファレンス
buying_mode を含む完全なリクエストスキーマ。
7. buyer_ref を削除 — idempotency_key を使う
v3 はすべてのリクエストとレスポンスから buyer_ref、buyer_campaign_ref、campaign_ref を削除します。セラー割り当ての media_buy_id と package_id が今や唯一の正準識別子です。
エージェントが重複排除に buyer_ref に依存していた場合、代わりに新しい idempotency_key フィールドを使ってください。idempotency_key(UUID v4)はすべての変更リクエストで 必須 です — エージェントはそれを省略するリクエストを INVALID_REQUEST で拒否しなければならず(MUST)、キーが異なるペイロードで再利用されたとき IDEMPOTENCY_CONFLICT を返さなければなりません(MUST)。規範的セマンティクスについては 冪等性実装ガイド を参照。
エージェントが内部トラッキングや相関(例: キャンペーン ID、セッショントレース、UI 状態へのマッピング)に buyer_ref を使った場合、代わりに context フィールドを使ってください。context は、すべてのレスポンスと webhook で変更なくエコーされる不透明なオブジェクトです — エージェントはそれを決してパースしたり、それに基づいて行動したりしてはなりません。create_media_buy のパッケージ相関については、非推奨のトップレベル buyer_ref ではなく packages[i].context(例えば context.buyer_ref)にパッケージごとのトラッキングを置いてください。3.1+ セラーは明示的なパッケージレスポンスに product_id をエコーしなければならず(MUST)、パッケージコンテキストはそうしないレガシーセラーのフォールバックのままです。
test=false
8. sync_accounts を実装する
v3 バイヤーは、バイを置く前に課金関係を確立します。エージェントは sync_accounts 呼び出しを受け入れ、バイヤーが後続のリクエストに含めるアカウント参照を返さなければなりません。
Accounts Protocol
アカウントプロビジョニング、ライフサイクル、sync_accounts タスク。