Request
Termination Reasons
Termination Context Object
Additional details vary by reason: Forhandoff_transaction:
user_exit:
session_timeout:
Response
ACP Handoff Object
For transaction terminations, includes data needed for ACP checkout:Follow-Up Object
Suggestions for future engagement:Examples
Transaction Handoff
After receivingpending_handoff with type: "transaction":
Request:
Conversation Complete (No Purchase)
When the conversation naturally ends without a transaction: Request:User Exit
When the user changes topic or explicitly leaves: Request:Session Timeout
When the session times out due to inactivity: Request:Host Terminated
When the host ends the session for policy or error reasons: Request:ACP Integration Flow
When the reason ishandoff_transaction:
- Host receives
acp_handoffin the termination response - Host initiates ACP checkout using the provided
checkout_urlandpayload - ACP handles the transaction while maintaining the user’s trust with the host
- Brand is not the merchant of record - ACP handles payment
Key Points
- Always terminate sessions - Even if the conversation seems done, call terminate to clean up resources and get follow-up suggestions.
-
ACP handoff data has expiration - The
expires_atfield indicates how long the checkout context is valid. - Follow-up enables re-engagement - Even non-transaction terminations can include suggestions for future engagement.
- Host maintains trust - Transactions go through ACP, keeping the user’s relationship with the host intact.