Återanslut till en konversation i Direct Line API 3.0
Om en klient använder WebSocket-gränssnittet för att ta emot meddelanden men förlorar anslutningen kan den behöva återansluta. I det här scenariot måste klienten generera en ny WebSocket-ström-URL som den kan använda för att återansluta till konversationen.
Generera en ny WebSocket-ström-URL
Om du vill generera en ny WebSocket-ström-URL som kan användas för att återansluta till en befintlig konversation skickar du den här begäran:
GET https://directline.botframework.com/v3/directline/conversations/{conversationId}?watermark={watermark_value}
Authorization: Bearer SECRET_OR_TOKEN
I den här begärande-URI:n ersätter du {conversationId} med konversations-ID:t och ersätter {watermark_value} med vattenstämpelvärdet (om parametern watermark
är tillgänglig). Parametern watermark
är valfri. Om parametern watermark
anges i begärande-URI:n spelas konversationen upp från vattenstämpeln, vilket garanterar att inga meddelanden går förlorade. Om parametern watermark
utelämnas från begärande-URI:n spelas endast meddelanden som tas emot efter återanslutningsbegäran upp igen.
Följande kodfragment innehåller ett exempel på begäran och svar om återanslutning.
Förfrågan
GET https://directline.botframework.com/v3/directline/conversations/abc123?watermark=0000a-42
Authorization: Bearer RCurR_XV9ZA.cwA.BKA.iaJrC8xpy8qbOF5xnR2vtCX7CZj0LdjAPGfiCpg4Fv0y8qbOF5xPGfiCpg4Fv0y8qqbOF5x8qbOF5xn
Svarsåtgärder
Om begäran lyckas innehåller svaret ett ID för konversationen, en token och en ny WebSocket-ström-URL.
HTTP/1.1 200 OK
[other headers]
{
"conversationId": "abc123",
"token": "RCurR_XV9ZA.cwA.BKA.iaJrC8xpy8qbOF5xnR2vtCX7CZj0LdjAPGfiCpg4Fv0y8qbOF5xPGfiCpg4Fv0y8qqbOF5x8qbOF5xn",
"streamUrl": "https://directline.botframework.com/v3/directline/conversations/abc123/stream?watermark=000a-4&t=RCurR_XV9ZA.cwA..."
}
Återanslut till konversationen
Klienten måste använda den nya WebSocket-ström-URL:en för att återansluta till konversationen inom 60 sekunder. Om anslutningen inte kan upprättas under den här tiden måste klienten utfärda en ny återanslutningsbegäran för att generera en ny ström-URL.
Om alternativet "Förbättrad autentisering" är aktiverat i inställningarna för Direct Line kan du få felet "MissingProperty" 400 om du inte har en korrekt konfigurerad token kopplad till begäran.