リクエスト
| Field | Type | Required | Description |
|---|---|---|---|
session_id | string | Yes | si_initiate_session のセッション ID |
message | string | No | ユーザーのテキストメッセージ |
action_response | object | No | UI アクション(ボタンクリック、フォーム送信)へのレスポンス |
message または action_response のいずれかは必須です。
Action Response オブジェクト
ユーザーが UI 要素とやり取りした場合:| Field | Type | Required | Description |
|---|---|---|---|
action | string | Yes | UI 要素由来のアクション識別子 |
element_id | string | No | 特定の UI 要素の ID |
payload | object | No | やり取りから得た追加データ |
レスポンス
| Field | Type | Description |
|---|---|---|
session_id | string | アクティブなセッションの確認 |
response | object | ブランドエージェントからのレスポンス |
session_status | string | 現在のセッション状態 |
handoff | object | session_status が “pending_handoff” のときに含まれる |
Session Status 値
| Status | Description |
|---|---|
active | セッションが通常継続中 |
pending_handoff | ブランドエージェントがハンドオフ準備完了を示す |
complete | 会話が完了 |
Handoff オブジェクト
session_status が pending_handoff の場合:
| Field | Type | Description |
|---|---|---|
type | string | ”transaction” または “complete” |
intent | object | 取引の場合: ユーザーが購入したい内容 |
context_for_checkout | object | ACP ハンドオフ用のサマリー |
例
シンプルなメッセージ交換
Request:アクションレスポンス(ボタンクリック)
Request:トランザクションハンドオフ
ユーザーが購入準備完了の場合: Request:ハンドオフの扱い
session_status: "pending_handoff" を受け取ったら:
type: "transaction"の場合 - 提供された intent とコンテキストで ACP チェックアウトを開始するtype: "complete"の場合 - 会話完了として通常チャットに戻る
si_terminate_session を呼び出して適切にセッションを閉じるべきです。
キーポイント
- message または action_response - 各リクエストには少なくともどちらかが必要です。ユーザーはメッセージ入力か UI 操作でやり取りします。
-
セッションステータスがフローを決める - 各レスポンスで
session_statusを確認し、会話継続かハンドオフ必要かを判断します。 -
ハンドオフでコンテキストを保持 -
context_for_checkoutオブジェクトが ACP にシームレスな購入体験に必要な情報を提供します。 - UI 要素は任意 - カードやカルーセルをいつ含めるかは、ブランドエージェントが会話に応じて判断します。