Skip to main content
ブランドエージェントとの会話セッションを開始します。ユーザーがブランドとのやり取りに興味を示したとき、ホストプラットフォームがこのタスクを呼び出します。

リクエスト

FieldTypeRequiredDescription
contextstringYesユーザー意図の自然言語記述
identityobjectYes同意ステータスを含むユーザーアイデンティティ
media_buy_idstringNo広告起点の場合の AdCP メディアバイ ID
placementstringNoセッションがトリガーされた場所(例: “chatgpt_search”)
offering_idstringNo適用するブランド固有のオファー参照
supported_capabilitiesobjectNoホストプラットフォームがサポートする機能
offering_tokenstringNo相関用の si_get_offering からのトークン

Offering Token

開始前にホストが si_get_offering 参照を行った場合、セッション継続性 のためトークンを含めます:
{
  "offering_token": "offering_abc123xyz"
}
トークンは、ユーザーに何がどの順で提示されたかをブランドエージェントに伝えます。これにより自然な会話の流れが可能になります:
  • ユーザーが見る: “Nike Pegasus (89),AirMax(89), Air Max (129), Vomero ($139)”
  • ユーザーが言う: “真ん中のものについて詳しく教えて”
  • ブランドエージェントはトークンに保存されたコンテキストを用いて「真ん中のもの」→ Air Max と解釈する

Identity オブジェクト

consent_grantedtrue の場合:
FieldTypeRequiredDescription
consent_grantedbooleanYestrue 固定
consent_timestampstringYes同意の ISO 8601 タイムスタンプ
consent_scopearrayYesユーザーが共有に同意したフィールド
privacy_policy_acknowledgedobjectNoユーザーが承諾したブランドポリシー
userobjectYesユーザーの PII
consent_grantedfalse の場合:
FieldTypeRequiredDescription
consent_grantedbooleanYesfalse 固定
anonymous_session_idstringYesこの匿名セッションの一意 ID

Supported Capabilities オブジェクト

ホストプラットフォームがレンダリングできるものを宣言します:
{
  "modalities": {
    "conversational": true,
    "voice": { "providers": ["elevenlabs", "openai"] },
    "video": false,
    "avatar": false
  },
  "components": {
    "standard": ["text", "link", "image", "product_card", "carousel", "action_button"],
    "extensions": {
      "chatgpt_apps_sdk": "1.0"
    }
  },
  "commerce": {
    "acp_checkout": true
  }
}

レスポンス

FieldTypeDescription
session_idstringこのセッションの一意識別子
responseobjectブランドエージェントの初回レスポンス
negotiated_capabilitiesobjectブランドとホストの機能の交差集合

Response オブジェクト

FieldTypeDescription
messagestringブランドエージェントからのテキスト応答
ui_elementsarrayレンダリングするビジュアルコンポーネント

リクエスト

{
  "context": "User wants to fly to Boston next Tuesday morning on flight 632 at 6 AM.",
  "media_buy_id": "delta_q1_premium_upgrade",
  "placement": "chatgpt_search",
  "offering_id": "delta_chatgpt_3313",
  "identity": {
    "consent_granted": true,
    "consent_timestamp": "2026-01-18T10:30:00Z",
    "consent_scope": ["name", "email"],
    "privacy_policy_acknowledged": {
      "brand_policy_url": "https://delta.com/privacy",
      "brand_policy_version": "2026-01"
    },
    "user": {
      "email": "[email protected]",
      "name": "Jane Smith",
      "locale": "en-US"
    }
  },
  "supported_capabilities": {
    "modalities": {
      "conversational": true,
      "voice": true
    },
    "components": {
      "standard": ["text", "link", "image", "product_card", "carousel", "action_button"]
    },
    "commerce": {
      "acp_checkout": true
    }
  }
}

レスポンス

{
  "session_id": "sess_abc123",
  "response": {
    "message": "Hi Jane! I found DL632 departing at 6:15 AM next Tuesday. Great news—as a SkyMiles Gold member, you qualify for our free Premium Economy upgrade on this flight.",
    "ui_elements": [
      {
        "type": "product_card",
        "data": {
          "title": "DL632 to Boston - Tue Jan 27",
          "subtitle": "6:15 AM → 9:42 AM (3h 27m)",
          "price": "$199",
          "badge": "Free Premium Economy Upgrade",
          "image_url": "https://delta.com/images/premium-economy.jpg",
          "cta": { "label": "Book with Upgrade", "action": "checkout" }
        }
      }
    ]
  },
  "negotiated_capabilities": {
    "modalities": {
      "conversational": true,
      "voice": true
    },
    "components": {
      "standard": ["text", "link", "image", "product_card", "carousel", "action_button"]
    },
    "commerce": {
      "acp_checkout": true
    }
  }
}

キーポイント

  1. コンテキストは会話ハンドオフ - ホストがブランドエージェントにユーザーのニーズを伝え、ブランドエージェントが自然に会話を続けます。
  2. ブランドがロイヤルティデータを参照 - Jane のメールが認識されれば、Delta が SkyMiles ステータスを自動取得します。ホストはロイヤルティ番号を保持しません。
  3. offering_id はブランド固有 - ブランドがこの参照を解釈し、プロモーションや割引、ロイヤルティ特典を適用します。ホストはオファーの意味を理解せずに渡すだけです。
  4. 機能ネゴシエーション - レスポンスの negotiated_capabilities には、このセッションで利用できる機能(ブランドとホストの交差)が示されます。
  5. 明示的同意のある PII 受け渡し - consent_granted が true の場合、実際のメール/名前が渡されます(ハッシュなし)。これは同意に基づく直接のハンドオフです。