AdCP の主要リリースを高レベルでまとめ、移行のポイントを示します。詳細な技術的変更は CHANGELOG.md を参照してください。
Version 3.0.0-beta.1
ステータス: Beta | Full Changelog | Migration Guide
このリリースはベータ版です。 API はテストに耐える状態ですが、正式版 3.0.0 までに破壊的変更が入る可能性があります。早期利用者からのテストとフィードバックを歓迎します。
変更概要
Version 3.0.0 はメディアバイを超え、ガバナンス、ブランドセーフティ、会話型コマースへ領域を拡張する メジャーリリース です。詳細な移行手順は Migration Guide を参照してください。
🎯 主なテーマ:
- メディアチャネル分類 - 5 つのフォーマット起点チャネルから、バイヤーの予算配分を反映した 19 のプランニング指向チャネルへ全面刷新。詳しくは Media Channel Taxonomy。
- ガバナンスプロトコル - プロパティリスト、コンテンツスタンダード、ブランドセーフティ評価を、協調的なキャリブレーションワークフローと共に定義。
- Sponsored Intelligence プロトコル - AI アシスタント内でのブランド会話体験。ブランドエージェントエンドポイントを途切れなく呼び出す方法を定義。詳細は Sponsored Intelligence。
- プロトコルレベルの能力ディスカバリー -
get_adcp_capabilities タスクがエージェントカード拡張を置き換え、実行時に機能、サポートプロトコル、ジオターゲティングシステムを公開。
- クリエイティブ割り当ての重み付け - 単純な creative ID 配列を、トラフィック配分とプレースメントターゲティングに対応する重み付き割り当てへ置換。
- グローバルなジオターゲティング - 名前付きシステム(Nielsen DMA、UK ITL、Eurostat NUTS2 など)による構造化ターゲティングで国際市場に対応。
破壊的変更の概要
| Change | v2.x | v3.x |
|---|
| Channels | 5 values | 19 planning-oriented values |
| Creative assignment | creative_ids: [...] | creative_assignments: [{...}] |
| Metro targeting | geo_metros: ["501"] | geo_metros: [{ system, code }] |
| Postal targeting | geo_postal_codes | geo_postal_areas with system |
| Asset discovery | assets_required: [...] | assets: [{ asset_id, required }] |
詳細な before/after と移行手順は Migration Guide を参照してください。
新しいプロトコルドメイン
ガバナンスプロトコル
ブランドセーフティと在庫キュレーション:
- プロパティリスト -
create_property_list、get_property_list、update_property_list、delete_property_list、list_property_lists
- コンテンツスタンダード -
create_content_standards、get_content_standards、update_content_standards、calibrate_content、validate_content_delivery
- 商品フィルタリング - ガバナンスリストを
get_products に渡し、コンプライアンス済み在庫を探索
会話型ブランド体験:
- セッション管理 -
si_check_availability、si_initiate_session、si_send_message、si_terminate_session
- 機能ネゴシエーション - ブランドがモダリティ(音声・動画・アバター)を宣言し、ホストが対応機能を返す
- コマース連携 - 取引を ACP へ途切れなくハンドオフ
詳細は Sponsored Intelligence Overview。
新機能
get_adcp_capabilities タスク - エージェントカード拡張に代わる実行時の能力ディスカバリー
- 統一されたアセットディスカバリー -
required ブール値付きの assets 配列で完全なアセット可視化
- プロパティリストフィルタリング - ガバナンスリストを
get_products に渡し、ブランドセーフな在庫を抽出
v3 で削除された項目
| Removed | Replacement |
|---|
adcp-extension.json agent card | get_adcp_capabilities task |
list_authorized_properties task | get_adcp_capabilities portfolio section |
assets_required in formats | assets array with required boolean |
preview_image in formats | format_card object |
creative_ids in packages | creative_assignments array |
geo_postal_codes | geo_postal_areas |
fixed_rate in pricing | fixed_price |
price_guidance.floor | floor_price (top-level) |
クイック移行チェックリスト
完全な移行ガイドを見る →
Version 2.5.0
リリース日: 2025 年 11 月 | Full Changelog
変更概要
Version 2.5.0 は 開発体験と API の磨き込み を目的としたリリースで、型安全性、スキーマ基盤、クリエイティブワークフロー性能を大幅に改善しました。TypeScript/Python のコード生成、厳密なバリデーションセマンティクス、柔軟なスキーマバージョニングにより、本番規模の導入に備えています。
🎯 主なテーマ:
- 型安全性とコード生成 - プロトコル全体に判別子フィールドを追加し、TypeScript/Python の型推論を向上、曖昧な共用体を排除。
- クリエイティブ一括プレビュー - 最大 50 件のクリエイティブを 1 回の API 呼び出しで生成し、直接 HTML 埋め込みも可能。プレビュー時間を 5〜10 倍短縮。
- スキーマ基盤 - セマンティックパス(
/schemas/2.5.0/, /schemas/v2/, /schemas/v2.5/)でビルド時バージョン管理を実現し、バージョン固定と自動マイナートラッキングを提供。
- API 一貫性 - 原子的なレスポンスセマンティクス(success XOR error)と標準化された Webhook ペイロードで曖昧さを排除し、信頼性を向上。
- シグナルプロトコルの改善 - 認可に基づくデプロイメント別のアクティベーションキーを返却し、マルチプラットフォームでの適切なシグナル活性化を実現。
- テンプレートフォーマット -
accepts_parameters により、実行時寸法や尺などを受け付ける動的フォーマットをサポート。
- 商品ディスカバリーの強化 - 日付範囲、予算制約、国ターゲティング、チャネルフィルタを持つ構造化フィルタで検索精度を向上。
主な改善点
型安全性とコード生成
- 判別子フィールド を判別共用体全体(配信先、価格、プロパティセレクター、プレビューのリクエスト/レスポンス)に追加
- 原子的レスポンスセマンティクス - すべてのタスクレスポンスで厳密な success XOR error パターン(
oneOf 判別子)を採用
- すべての const フィールドに 明示的な型宣言 を付与し、正確な TypeScript リテラル型を生成
- 31 個の新しい enum スキーマ をインライン定義から抽出し再利用性を向上
スキーマ基盤
- ビルド時バージョニング - セマンティックなパス(
/schemas/2.5.0/)、メジャーエイリアス(/schemas/v2/)、マイナーエイリアス(/schemas/v2.5/)をサポート
- 一貫したメディアバイレスポンス -
create_media_buy と update_media_buy が共に完全な Package オブジェクトを返す
- 標準化された Webhook ペイロード - プロトコルエンベロープをトップレベルに、タスクデータを
result フィールドに配置
商品ディスカバリー
- 構造化フィルタ - フィルタオブジェクトを個別スキーマ(
product-filters.json、creative-filters.json、signal-filters.json)に分離
- 強化されたフィルタ - 日付範囲(
start_date、end_date)、通貨付き予算範囲、国ターゲティング、チャネルフィルタを追加
- 完全な enum 対応 - フィルタで全 enum 値を制限なく受け付け
シグナルプロトコル
- アクティベーションキー -
activate_signal が認証権限に基づきデプロイメント別のアクティベーションキー(セグメント ID、キー/バリュー)を返却
- 用語の統一 - リクエストとレスポンス全体で「deployments」に統一
クリエイティブプロトコル
- バッチプレビュー対応 -
preview_creative が 1〜50 件のプレビューを 1 リクエストでサポート
- 直接 HTML 埋め込み - iframe なしで表示できる生 HTML をレスポンスに含められる
- シンプルな brand manifest - 必須フィールドを
name のみにし、重複した型生成を排除
- テンプレートフォーマット -
accepts_parameters により display_[width]x[height]、video_[duration]s のような動的フォーマットを実現
- インラインクリエイティブ更新 -
sync_creatives タスクが既存キャンペーンへの upsert セマンティクスを提供
ドキュメントとテスト
- テスト可能なドキュメント - すべてのコード例をライブスキーマで検証可能
- クライアントライブラリの明示 - イントロに NPM バッジとインストール手順を掲載
- 50 ファイルで 389 件のリンク切れを修正
移行ガイド
判別子フィールド(Breaking)
多くのスキーマで判別子フィールドが必須になりました。コードを更新してください。
Signal Destinations:
// Before
{
"platform_id": "ttd"
}
// After
{
"type": "platform",
"platform_id": "ttd"
}
Property Selectors:
// Before
{
"publisher_domain": "cnn.com",
"property_ids": ["cnn_ctv_app"]
}
// After
{
"publisher_domain": "cnn.com",
"selection_type": "by_id",
"property_ids": ["cnn_ctv_app"]
}
Pricing Options:
// Before
{
"pricing_model": "cpm",
"rate": 12.50
}
// After
{
"pricing_model": "cpm",
"is_fixed": true,
"rate": 12.50
}
Webhook ペイロード構造(Breaking)
Webhook ペイロードがトップレベルでプロトコルエンベロープを使用するようになりました。
Before:
{
"task_id": "task_123",
"status": "completed",
"media_buy_id": "mb_456",
"packages": [...]
}
After:
{
"task_id": "task_123",
"task_type": "create_media_buy",
"status": "completed",
"timestamp": "2025-11-21T10:30:00Z",
"result": {
"media_buy_id": "mb_456",
"packages": [...]
}
}
Signal Activation レスポンス(Breaking)
activate_signal のレスポンスが単一キーから deployments 配列へ変更されました。
Before:
{
"activation_key": "segment_123"
}
After:
{
"deployments": [
{
"destination": {"type": "platform", "platform_id": "ttd"},
"activation_key": "segment_123",
"status": "active"
}
]
}
テンプレートフォーマット
フォーマットがパラメーターを受け取り、動的サイズに対応できるようになりました。
テンプレートフォーマット定義:
{
"format_id": {"agent_url": "https://creative.adcontextprotocol.org", "id": "display_static"},
"accepts_parameters": ["dimensions"],
"renders": [{
"role": "primary",
"parameters_from_format_id": true
}]
}
parameters_from_format_id: true は、使用時の format_id から寸法を取得することを示します。
利用例(パラメータ化された format_id):
{
"format_id": {
"agent_url": "https://creative.adcontextprotocol.org",
"id": "display_static",
"width": 300,
"height": 250
}
}
これは display_static テンプレートの 300x250 版を生成します。
商品フィルタリングの強化
get_products に構造化フィルタが追加されました。
{
"filters": {
"start_date": "2026-01-01",
"end_date": "2026-03-31",
"budget_range": {
"min": 10000,
"max": 50000,
"currency": "USD"
},
"countries": ["US", "CA"],
"channels": ["display", "video"]
}
}
スキーマバージョニング
利用可能な新しいバージョンパス:
/schemas/2.5.0/ - 正確なバージョン(本番利用に推奨)
/schemas/v2.5/ - 最新の 2.5.x パッチ(パッチリリースで自動更新)
/schemas/v2/ - 最新の 2.x リリース(マイナー/パッチで自動更新)
/schemas/v1/ - 後方互換エイリアス(v2 と同一)
破壊的変更
- 配信先、プロパティセレクター、価格オプション、プレビューリクエストで 判別子フィールドが必須
- Webhook ペイロード構造 - タスクデータが
result フィールド下へ移動し、domain は不要に
- シグナルアクティベーションレスポンス -
activation_key 文字列から deployments 配列へ変更
- レガシークリエイティブフィールドの削除 -
list_creatives レスポンスから media_url、click_url、duration を削除
非破壊的な追加
- すべてのタスクリクエストで任意の Application
context オブジェクト
- ビジュアル UI 向けの任意フィールド
product_card と format_card
- 後方互換の
preview_creative バッチプレビューモード
- 配信レポートでのパッケージ価格フィールド(既存ドキュメントをスキーマで強制)
- マイナーバージョンのシンボリックリンク (
/schemas/v2.5/)
Version 2.3.0
リリース日: 2025 年 10 月 | Full Changelog
変更概要
パブリッシャー所有のプロパティ定義 - プロパティをパブリッシャーが所有し、エージェントが参照するモデルへ変更(IAB Tech Lab sellers.json に倣う)。重複をなくし、プロパティ情報の単一のソース・オブ・トゥルースを提供。
プレースメントターゲティング - 商品が複数のプレースメント(ホームページバナー、記事サイドバーなど)を定義でき、バイヤーは商品購入内でプレースメントごとに異なるクリエイティブを割り当て可能。
シンプルな予算指定 - 予算をパッケージ単位のみに限定し、混在通貨キャンペーンを可能にするとともに、メディアバイレベルでの冗長な集約を排除。
移行ガイド
パブリッシャー所有のプロパティ
Before:
{
"properties": [{
"publisher_domain": "cnn.com",
"property_name": "CNN CTV App",
"property_tags": ["ctv", "premium"]
}]
}
After:
{
"publisher_properties": [
{
"publisher_domain": "cnn.com",
"property_tags": ["ctv"]
}
]
}
バイヤーは https://cnn.com/.well-known/adagents.json からプロパティ定義を取得します。
メディアバイ予算の削除
Before:
{
"budget": 50000,
"packages": [...]
}
After:
{
"packages": [
{"package_id": "p1", "budget": 30000},
{"package_id": "p2", "budget": 20000}
]
}
予算はパッケージ単位のみで指定します。
破壊的変更
- 商品の
properties フィールド → publisher_properties
list_authorized_properties は publisher_domains 配列を返却
- create_media_buy/update_media_buy リクエストから
budget を削除
Version 2.2.0
リリース日: 2025 年 10 月 | Full Changelog
変更概要
Build Creative の整合性 - build_creative タスクが明確な「manifest-in → manifest-out」の変換モデルに準拠し、パラメーター名を統一。
移行ガイド
Before:
{
"source_manifest": {...},
"promoted_offerings": [...]
}
After:
{
"creative_manifest": {
"format_id": {...},
"assets": {
"promoted_offerings": [...]
}
}
}
破壊的変更
build_creative パラメーターを source_manifest から creative_manifest に改名
- トップレベルの
promoted_offerings を削除(マニフェストの assets に移動)
Version 2.1.0
リリース日: 2025 年 1 月 | Full Changelog
変更概要
シンプルなアセットスキーマ - アセットのペイロードスキーマとフォーマット要件スキーマを分離し、冗長性を排除。アセットタイプはマニフェストの宣言ではなくフォーマット仕様で決定。
移行ガイド
Before:
{
"assets": {
"banner_image": {
"asset_type": "image",
"url": "https://cdn.example.com/banner.jpg",
"width": 300,
"height": 250
}
}
}
After:
{
"assets": {
"banner_image": {
"url": "https://cdn.example.com/banner.jpg",
"width": 300,
"height": 250
}
}
}
破壊的変更
- クリエイティブマニフェストから
asset_type フィールドを削除
- スキーマパスを
/creative/asset-types/*.json から /core/assets/*-asset.json に変更
- 制約フィールドをアセットペイロードからフォーマット仕様へ移動