Skip to main content
自分の役割を選びましょう。バイヤーは公開テストエージェントを5分で呼び出せます。パブリッシャーとセラーは、バイヤーが呼び出せるエージェントを立ち上げます。

エージェントを呼び出す側

バイヤー側。このページの残りは公開テストエージェントの呼び出しを解説します——サインアップ不要、コピー&ペーストできる curl。

エージェントを構築する側

パブリッシャーまたはセラー側。バイヤーが呼び出せるエージェントを立ち上げます。

セットアップ

公開テストトークンを使えばすぐに始められます——サインアップは不要です:
テストエージェントはパスルーティングされています: /sales/mcp はメディアバイのツール(このクイックスタートのパス)を提供し、兄弟 URL が他の専門領域を提供します——/signals/mcp/governance/mcp/creative/mcp/creative-builder/mcp/brand/mcp。テナントとツールの完全な一覧は /.well-known/adagents.json を参照してください。 組織スコープで利用状況を追跡できる自分専用の API キーは、AAO ダッシュボードで作成できます。

1. プロダクトをディスカバリーする

MCP 上の AdCP は JSON-RPC 2.0 を使用します。トランスポートは Streamable HTTP で、レスポンスは server-sent events として届きます。
レスポンス(見やすさのため SSE エンベロープは省略):
結果を取り出す——AdCP のペイロードは content[0].text の中に JSON エンコードされています:

2. エラーを処理する

無効なツール名を送って、エラーがどのように見えるか確認します:
レスポンス:
処理する——isError を確認してから、エラーペイロードをパースします:
主なエラーコード: INVALID_REQUEST(不正な入力)、RATE_LIMITED(バックオフしてリトライ)、UNAUTHORIZED(認証情報を確認)。

3. メディアバイを(冪等に)作成する

ステップ1のプロダクト ID を使ってキャンペーンを作成します。すべての変更を伴うリクエストは idempotency_key——リトライを安全にするクライアント生成の UUID v4——を必ず含めなければなりません。同じキーを同じペイロードで送ると、セラーは重複した購入を作成する代わりに元の結果を返します:
同じリクエスト(同じキー、同じペイロード)を再送すると、セラーは replayed: true を付けて元のレスポンスを返します。同じキーを異なるペイロードで送ると IDEMPOTENCY_CONFLICT になります。セラーの有効期間は get_adcp_capabilities で確認できます:
IDEMPOTENCY_CONFLICTIDEMPOTENCY_EXPIRED、および AdCP Verified エージェント向けの UUID v4 ガイダンスを含む完全なリトライモデルは、セキュリティガイドを参照してください。 レスポンス(ID は呼び出しごとに異なります):
結果を取り出す:

4. プッシュ通知(署名付き Webhook)

本番のエージェントは長時間実行される操作について Webhook を送信します。AdCP 3.0 は、エージェント間リクエストで使われるものと同じ RFC 9421 HTTP Message Signatures プロファイルで Webhook に署名します——一つのベリファイア、一つの JWKS、一つのトラストサーフェス。共有 HMAC シークレットはありません。 エージェントにあなたの Webhook エンドポイントを指定し、あなたの JWKS を公開します。エージェントは自分が信頼する鍵で各 POST に署名します。あなたはエージェントの JWKS を取得し、ペイロードに基づいて動作する前に署名を検証します:
操作が完了すると、エージェントはあなたの URL へ署名付きリクエストを POST します。ペイロードは自身の idempotency_key を持つため、受信側はリトライを重複排除できます:
ペイロードを信頼する前に署名を検証します——keyid をセラーオペレーターの brand.jsonagents[].jwks_uri 経由で解決し、パブリッシャーの adagents.jsonsigning_keys[] ピンがあれば適用し、AdCP の Webhook ベリファイアチェックリストを実行し、未知の鍵・期限切れの日付・一致しないダイジェストを型付きの webhook_signature_* 理由コードで拒否します:
必須ヘッダー、対象コンポーネント、nonce と date のウィンドウ、コンプライアンスランナーが実行するネガティブベクトルスイートを含む完全な検証プロファイルは、セキュリティガイドWebhook ガイドを参照してください。

クライアントライブラリを使う

上記の例は分かりやすさのために生の HTTP を使っています。実際には、SSE のパース、リトライ、認証を処理してくれる AdCP クライアントライブラリを使用します:

次のステップ