在 Direct Line API 3.0 中啟動交談
直接線路對話是由用戶端明確地開啟,且只要 Bot 和用戶端在參與且具有有效認證,對話就會繼續執行。 對話開啟時,Bot 和用戶端可以傳送訊息。 可以有超過一個用戶端連線到指定對話,且每個用戶端都可以代表多個使用者參與對話。
開啟新的對話
若要從您的用戶端開啟新對話,請對 /v3/directline/conversations 端點發出 POST。
POST https://directline.botframework.com/v3/directline/conversations
Authorization: Bearer SECRET_OR_TOKEN
下列程式碼片段提供開始對話要求和回應的範例。
要求
POST https://directline.botframework.com/v3/directline/conversations
Authorization: Bearer RCurR_XV9ZA.cwA.BKA.iaJrC8xpy8qbOF5xnR2vtCX7CZj0LdjAPGfiCpg4Fv0y8qbOF5xPGfiCpg4Fv0y8qqbOF5x8qbOF5xn
回應
如果要求成功,回應將會包含對話識別碼、權杖、一個表示直到權杖過期前秒數的值,以及用戶端可用來透過 WebSocket 資料流接收活動的資料流 URL。
HTTP/1.1 201 Created
[other headers]
{
"conversationId": "abc123",
"token": "RCurR_XV9ZA.cwA.BKA.iaJrC8xpy8qbOF5xnR2vtCX7CZj0LdjAPGfiCpg4Fv0y8qbOF5xPGfiCpg4Fv0y8qqbOF5x8qbOF5xn",
"expires_in": 1800,
"streamUrl": "https://directline.botframework.com/v3/directline/conversations/abc123/stream?t=RCurR_XV9ZA.cwA..."
}
一般而言,啟動交談要求是用來開啟新的交談,如果成功啟動新的交談,則會傳回 HTTP 201 狀態碼。 不過,如果用戶端在標頭中使用 Authorization
先前用來啟動對話作業的Direct Line權杖提交開始交談要求,則會傳回HTTP 200狀態碼,指出要求是可接受的,但尚未建立任何交談 (,因為該要求已存在) 。
提示
您有 60 秒的時間可以連線到 WebSocket 資料流 URL。 如果目前無法建立連線,您可以 重新連線至交談 ,以產生新的串流 URL。
開始交談與產生權杖
啟動交談作業 (POST /v3/directline/conversations
) 類似于 產生權杖 作業, (POST /v3/directline/tokens/generate
) ,這兩個作業都會傳回 token
可用來存取單一交談的 。 不過,開始對話作業也會啟動交談、連絡 Bot,並建立 WebSocket 串流 URL,而產生權杖作業則不會執行這些動作。
如果您想要立即與用戶端啟動交談,請使用啟動交談作業。 如果您打算將權杖散發給用戶端,並想要它們起始交談,請改用 產生權杖 作業。