在 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,而產生權杖作業則不會執行這些動作。

如果您想要立即與用戶端啟動交談,請使用啟動交談作業。 如果您打算將權杖散發給用戶端,並想要它們起始交談,請改用 產生權杖 作業。

其他資源