Dela via


Å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.

Ytterligare resurser