https://adcontextprotocol.org/schemas/v2/signals/activate-signal-request.json
レスポンススキーマ: https://adcontextprotocol.org/schemas/v2/signals/activate-signal-response.json
activate_signal は次を含む有効化ライフサイクル全体を扱います。
- 有効化リクエストの開始
- 進行状況の監視
- 最終的なデプロイステータスの返却
リクエストパラメーター
| Parameter | Type | Required | Description |
|---|---|---|---|
signal_agent_segment_id | string | Yes | 有効化するシグナルのユニバーサル ID |
deployments | Destination[] | Yes | 有効化対象(下記 Destination Object を参照) |
Destination Object
各デプロイ先はtype フィールドでプラットフォームベースかエージェントベースかを区別します。
| Parameter | Type | Required | Description |
|---|---|---|---|
type | string | Yes | 識別子。DSP なら “platform”、セールスエージェントなら “agent” |
platform | string | Conditional* | プラットフォーム ID(例: ‘the-trade-desk’, ‘amazon-dsp’)。type=“platform” の場合必須 |
agent_url | string (URI) | Conditional* | セールスエージェントを識別する URL。type=“agent” の場合必須 |
account | string | No | プラットフォーム/エージェント上のアカウント ID |
platform は type=“platform” の場合必須、agent_url は type=“agent” の場合必須。
Activation Keys: 認証済みの呼び出し元がリクエスト中のいずれかのデプロイ先にアクセス権を持つ場合、シグナルエージェントはレスポンスにそのデプロイメント用の activation_key を含めます。
Permission Model: キーの付与はリクエストのフラグではなく、シグナルエージェント側の認証・認可に基づきます。
- セールスエージェントは自分の
agent_urlに一致するデプロイメントのキーを受け取ります - 複数 DSP への認証情報を持つバイヤーは、それらすべてのキーを受け取ります
- アクセス可否はシグナルエージェントの権限モデルで決定されます
レスポンス構造
すべての AdCP レスポンスは次を含みます。- message: 有効化ステータスの概要
- context_id: 進行状況追跡用のセッション ID
- data: タスク固有のペイロード(下記 Response Data 参照)
- MCP: 平坦な JSON を返却
- A2A: アーティファクトで返却(text パートに message、data パートにデータ)
- ステータス追跡: task_id で完了状況を確認
- 進行更新: 有効化進捗のリアルタイム更新
レスポンスデータ
フィールド説明
- deployments: 各デプロイ先の結果
- platform: DSP のプラットフォーム ID(platform か agent_url のいずれかが入る)
- agent_url: デプロイメントエージェントの URL(platform か agent_url のいずれかが入る)
- account: 必要に応じたアカウント ID
- activation_key: ターゲティングに使用するキー(下記参照)。認証済みの呼び出し元がそのデプロイにアクセスできる場合にのみ含まれる。
- estimated_activation_duration_minutes: 非同期処理の所要時間目安
- deployed_at: 有効化完了時刻(ISO 8601)
- errors: 有効化中のエラーや警告
- code: プログラムで扱いやすいエラーコード
- message: 文脈を含む説明
- field: エラーに関連するフィールド(任意)
- suggestion: 解決策の提案(任意)
- details: 有効化固有の追加情報(任意)
Activation Key Object
デプロイ先でのシグナル利用方法を示します。セグメント ID かキー/バリューのいずれかです。 セグメント ID 形式(DSP で一般的):プロトコル別の例
AdCP のペイロードはプロトコル間で同一で、ラッパーのみ異なります。MCP リクエスト - セールスエージェントへの有効化
MCP レスポンス - 同期(キー/バリュー)
即時レスポンスとアクティベーションキー:MCP リクエスト - DSP 有効化
MCP レスポンス - 非同期(セグメント ID)
初期レスポンス:A2A リクエスト
自然言語での呼び出し
スキルを明示して呼び出す
A2A レスポンス(ストリーミング)
初期レスポンス:プロトコルトランスポート
- MCP: ポーリングや webhook による非同期トラッキング用の task_id を返す
- A2A: SSE で進捗と完了をリアルタイム送信
- データ整合性: どちらも同一の AdCP データ構造とバージョン情報を含む
Webhook サポート
初期レスポンスがsubmitted となる長時間処理では、webhook を設定して完了時のレスポンスを受け取ります。
activate_signal のフルレスポンスが届きます。
シナリオ
非同期有効化 - 初期レスポンス(保留)
Message: “I’ve initiated activation of ‘Luxury Automotive Context’ on PubMatic for account brand-456-pm. This typically takes about 60 minutes. I’ll monitor the progress and notify you when it’s ready to use.” Complete Response:非同期有効化 - 最終レスポンス(デプロイ済み)
Message: “Excellent! The ‘Luxury Automotive Context’ signal is now live on PubMatic. You can start using it immediately with the activation key provided. The activation completed faster than expected - just 52 minutes.” Complete Response:同期有効化 - セールスエージェント(即時)
Message: “Signal successfully activated on Wonderstruck sales agent. Use the key-value pair in your targeting configuration.” Complete Response:成功(警告付き)
Message: “Successfully activated ‘Luxury Automotive Context’ on PubMatic, but noted some configuration issues. The signal is live and ready to use, though performance may be sub-optimal until the account settings are updated.” Complete Response:エラーレスポンス(失敗)
Message: “I couldn’t activate the signal on PubMatic. Your account ‘brand-456-pm’ doesn’t have permission to use Peer39 data. Please contact your PubMatic account manager to enable Peer39 access, then we can try again.” Complete Response:エラーコード
Activation Errors
SIGNAL_AGENT_SEGMENT_NOT_FOUND: シグナルエージェントセグメント ID が存在しないACTIVATION_FAILED: 何らかの理由で有効化できないALREADY_ACTIVATED: 指定プラットフォーム/アカウントですでに有効化済みDEPLOYMENT_UNAUTHORIZED: 権限不足でデプロイ不可INVALID_PRICING_MODEL: リクエストした課金モデルが利用できない
Configuration Warnings
SUBOPTIMAL_CONFIGURATION: 有効化したが設定により性能に影響の可能性SLOW_ACTIVATION: 想定より時間がかかっているが進行中FREQUENCY_CAP_RESTRICTIVE: 有効化済みだがフリークエンシーキャップが厳しい可能性
エラーハンドリングの考え方
ステータスとエラーの区別
- タスクステータス: 有効化の全体結果(
deployed、failedなど) - errors 配列: 具体的な問題や警告、対応策
- 部分成功:
errorsに警告があってもdeployedとなる場合がある
エラーの種類
- 致命的エラー: 有効化を阻害(status =
failed) - 警告: 有効化は成功するが注意点あり(status =
deployed+ errors) - 設定上の問題: パフォーマンスに影響する非致命的な課題
利用上の注意
- アカウント指定: アカウント単位で有効化する場合は
accountを含める - プラットフォーム全体: プラットフォーム全体で有効化する場合は
accountを省略 - 非同期処理: ステータス更新がある長時間タスク
- 監視: ポーリングまたは SSE で task_id を監視
- 冗長性: 失敗時はリトライ可能(冪等)
実装ガイド
有効化メッセージの生成
message フィールドは明確なステータスとアクションを伝えるべきです。