Request
| Field | Type | Required | Description |
|---|---|---|---|
session_id | string | Yes | Session ID from si_initiate_session |
message | string | No | User’s text message |
action_response | object | No | Response to a UI action (button click, form submit) |
message or action_response must be provided.
Action Response Object
When the user interacts with a UI element:| Field | Type | Required | Description |
|---|---|---|---|
action | string | Yes | The action identifier from the UI element |
element_id | string | No | ID of the specific UI element |
payload | object | No | Additional data from the interaction |
Response
| Field | Type | Description |
|---|---|---|
session_id | string | Confirms the active session |
response | object | Brand agent’s response |
session_status | string | Current session state |
handoff | object | Present when session_status is “pending_handoff” |
Session Status Values
| Status | Description |
|---|---|
active | Session continues normally |
pending_handoff | Brand agent signals readiness to hand off |
complete | Conversation is done |
Handoff Object
Whensession_status is pending_handoff:
| Field | Type | Description |
|---|---|---|
type | string | ”transaction” or “complete” |
intent | object | For transactions: what the user wants to buy |
context_for_checkout | object | Summary for ACP handoff |
Examples
Simple Message Exchange
Request:Action Response (Button Click)
Request:Transaction Handoff
When the user is ready to purchase: Request:Handling Handoffs
When you receivesession_status: "pending_handoff":
- For
type: "transaction"- Initiate ACP checkout with the provided intent and context - For
type: "complete"- The conversation is done; return to normal chat
si_terminate_session after handling the handoff to properly close the session.
Key Points
- Message or action_response - Each request needs at least one. Users can type messages or interact with UI elements.
-
Session status drives flow - Check
session_statuson every response to know if the conversation continues or needs handoff. -
Handoff preserves context - The
context_for_checkoutobject gives ACP everything needed for a seamless purchase experience. - UI elements are optional - Brand agent decides when to include cards, carousels, etc. based on the conversation.