Skip to main content
これらのタスクは call_adcp_agent ツールで任意の AdCP セールスエージェントに対して実行できます。

タスク概要

TaskPurposeResponse Time
get_adcp_capabilitiesエージェントの機能・ポートフォリオ取得~1s
get_products自然言語で在庫を探索~60s
list_creative_formatsクリエイティブ仕様の参照~1s
create_media_buyキャンペーン作成分〜日
update_media_buyキャンペーン更新分〜日
sync_creativesクリエイティブ資産アップロード分〜日
list_creativesクリエイティブラリ参照~1s
get_media_buy_deliveryパフォーマンス取得~60s

典型的なワークフロー

  1. 機能把握: get_adcp_capabilities で対応状況を確認
  2. 在庫探索: get_products に自然言語ブリーフを渡す
  3. フォーマット確認: list_creative_formats で要件を把握
  4. キャンペーン作成: create_media_buy で選択商品と予算を指定
  5. クリエイティブ登録: sync_creatives で資産を追加
  6. 配信監視: get_media_buy_delivery でパフォーマンスを追跡

Task Reference

get_products

自然言語ブリーフで広告プロダクトを探索します。
{
  "brief": "Looking for premium video inventory for a tech brand targeting developers",
  "brand_manifest": {
    "url": "https://example.com"
  },
  "filters": {
    "channels": ["display", "ctv"],
    "budget_range": { "min": 5000, "max": 50000 }
  }
}
主要フィールド:
  • brief (string): キャンペーン要件を自然言語で記述
  • brand_manifest (object): ブランドコンテキスト。{ "url": "https://..." } もしくはインラインのマニフェスト
  • filters (object, optional): チャネル、予算、delivery_type、format_types などで絞り込み
レスポンスの内容:
  • products: product_idnamedescriptionpricing_options を含む一致プロダクトの配列
  • 各プロダクトに format_ids(対応するクリエイティブフォーマット)と targeting(利用可能なターゲティング)が含まれる

get_adcp_capabilities

エージェントの機能、ポートフォリオ、対応フィーチャーを確認します。新しいエージェントを扱う際は まずここから
{}
追加パラメータは不要です。 レスポンスの内容:
  • adcp.major_versions: サポートする AdCP バージョン
  • supported_protocols: エージェントが実装するプロトコル(media_buy, signals, governance)
  • media_buy.portfolio: パブリッシャードメイン、主要チャネル、対応国
  • media_buy.execution: ジオターゲティング機能や AXE 連携
詳細は get_adcp_capabilities を参照してください。

list_creative_formats

対応しているクリエイティブ仕様を参照します。
{
  "format_types": ["video", "display"]
}
主要フィールド:
  • format_types (array, optional): 特定のフォーマットカテゴリに絞り込み
レスポンスの内容:
  • formats: 寸法、要件、アセットスキーマを含むフォーマット仕様の配列

create_media_buy

選択したプロダクトから広告キャンペーンを作成します。
{
  "buyer_ref": "campaign-2026-q1-001",
  "brand_manifest": {
    "url": "https://acme.com",
    "name": "Acme Corporation"
  },
  "packages": [
    {
      "buyer_ref": "pkg-video-001",
      "product_id": "premium_video_30s",
      "pricing_option_id": "cpm-standard",
      "budget": 10000
    }
  ],
  "start_time": {
    "type": "asap"
  },
  "end_time": "2026-03-31T23:59:59Z"
}
主要フィールド:
  • buyer_ref (string, required): このキャンペーンの固有 ID
  • brand_manifest (object, required): ブランド情報(URL 参照またはインラインマニフェスト)
  • packages (array, required): 購入するプロダクト。各要素には以下を含む:
    • buyer_ref: パッケージの識別子
    • product_id: get_products レスポンスから取得
    • pricing_option_id: プロダクトの pricing_options に含まれる ID
    • budget: 予算(ドル)
    • bid_price: オークション価格の場合に必須
    • targeting_overlay: 追加ターゲティング条件
    • creative_ids または creatives: 割り当てるクリエイティブ
  • start_time (object, required): { "type": "asap" } または { "type": "scheduled", "datetime": "..." }
  • end_time (string, required): ISO 8601 形式の終了日時
レスポンスの内容:
  • media_buy_id: 作成されたキャンペーン ID
  • status: 現在の状態(非同期承認では pending など)
  • packages: 作成されたパッケージとその ID

update_media_buy

既存キャンペーンを更新します。
{
  "media_buy_id": "mb_abc123",
  "updates": {
    "budget_change": 5000,
    "end_time": "2026-04-30T23:59:59Z",
    "status": "paused"
  }
}
主要フィールド:
  • media_buy_id (string, required): 更新するキャンペーン ID
  • updates (object): 反映する変更内容。例: budget_change, end_time, status, targeting など

sync_creatives

クリエイティブアセットをアップロードし管理します。
{
  "creatives": [
    {
      "creative_id": "hero_video_30s",
      "name": "Brand Hero Video",
      "format_id": {
        "agent_url": "https://creative.adcontextprotocol.org",
        "id": "video_standard_30s"
      },
      "assets": {
        "video": {
          "url": "https://cdn.example.com/hero.mp4",
          "width": 1920,
          "height": 1080,
          "duration_ms": 30000
        }
      }
    }
  ],
  "assignments": {
    "hero_video_30s": ["pkg_001", "pkg_002"]
  }
}
主要フィールド:
  • creatives (array, required): 同期するクリエイティブアセット
    • creative_id: 固有の識別子
    • format_id: agent_urlid を含むフォーマット指定
    • assets: アセット内容(video, image, html など)
  • assignments (object, optional): creative_id とパッケージ ID のマッピング
  • dry_run (boolean): 適用せず差分を確認
  • delete_missing (boolean): 今回送られていないクリエイティブをアーカイブ

list_creatives

フィルタを指定してクリエイティブライブラリを検索します。
{
  "filters": {
    "status": ["active"],
    "format_types": ["video"]
  },
  "limit": 20
}

get_media_buy_delivery

キャンペーンのパフォーマンス指標を取得します。
{
  "media_buy_id": "mb_abc123",
  "granularity": "daily",
  "date_range": {
    "start": "2026-01-01",
    "end": "2026-01-31"
  }
}
レスポンスの内容:
  • delivery: 配信メトリクスの集計(impressions, spend, clicks など)
  • by_package: パッケージ別の内訳
  • timeseries: 粒度指定時の時系列データ

Key Concepts

Brand Manifest

ブランドコンテキストは 2 つの方法で提供できます。 URL 参照(推奨):
{
  "brand_manifest": {
    "url": "https://brand.com"
  }
}
インラインマニフェスト:
{
  "brand_manifest": {
    "name": "Brand Name",
    "url": "https://brand.com",
    "tagline": "Brand tagline",
    "colors": { "primary": "#FF0000" }
  }
}

Format IDs

クリエイティブフォーマット ID は構造化されたオブジェクトです。
{
  "format_id": {
    "agent_url": "https://creative.adcontextprotocol.org",
    "id": "display_300x250"
  }
}
agent_url はフォーマットを定義するクリエイティブエージェントを示します。標準 IAB フォーマットには https://creative.adcontextprotocol.org を使用します。

Pricing Options

プロダクトには pricing_options 配列が含まれます。各オプションには次が含まれます。
  • pricing_option_id: create_media_buy で使用
  • pricing_model: “cpm”、“cpm-auction”、“flat-fee” など
  • price: 固定価格の場合のベース価格
  • floor: オークションの最低入札額
オークション価格の場合はパッケージに bid_price を含めます。

Asynchronous Operations

create_media_buysync_creatives のような処理は人による承認を要する場合があります。レスポンスには以下が含まれます。
  • status: "pending" - 承認待ちの状態
  • task_id - 非同期処理の追跡用
完了状況はポーリングまたは Webhook で確認します。

エラーハンドリング

典型的なエラー:
  • 400 Bad Request: パラメータ不正。必須フィールドを確認
  • 401 Unauthorized: 認証トークンが無効または不足
  • 404 Not Found: product_id / media_buy_id / creative_id が不正
  • 422 Validation Error: スキーマ検証エラー。フィールド型を確認
エラーレスポンス例:
{
  "error": {
    "code": "VALIDATION_ERROR",
    "message": "budget must be greater than 0",
    "field": "packages[0].budget"
  }
}