Sdílet prostřednictvím


Opětovné připojení ke konverzaci v rozhraní API Direct Line 3.0

Pokud klient používá rozhraní WebSocket pro příjem zpráv, ale ztratí připojení, může se muset znovu připojit. V tomto scénáři musí klient vygenerovat novou adresu URL streamu WebSocket, kterou může použít k opětovnému připojení ke konverzaci.

Vygenerování nové adresy URL streamu WebSocket

Pokud chcete vygenerovat novou adresu URL streamu WebSocket, kterou je možné použít k opětovnému připojení k existující konverzaci, zadejte tento požadavek:

GET https://directline.botframework.com/v3/directline/conversations/{conversationId}?watermark={watermark_value}
Authorization: Bearer SECRET_OR_TOKEN

V tomto identifikátoru URI požadavku nahraďte {conversationId} ID konverzace a nahraďte {watermark_value} hodnotou vodoznaku (pokud watermark je parametr dostupný). Parametr watermark je volitelný. watermark Pokud je parametr zadaný v identifikátoru URI požadavku, konverzace se přehraje z vodoznaku a zaručuje, že se neztratí žádné zprávy. Pokud je watermark parametr vynechán z identifikátoru URI požadavku, přehrají se jenom zprávy přijaté po opětovném připojení.

Následující fragmenty kódu poskytují příklad žádosti o opětovné připojení a odpovědi.

Žádost

GET https://directline.botframework.com/v3/directline/conversations/abc123?watermark=0000a-42
Authorization: Bearer RCurR_XV9ZA.cwA.BKA.iaJrC8xpy8qbOF5xnR2vtCX7CZj0LdjAPGfiCpg4Fv0y8qbOF5xPGfiCpg4Fv0y8qqbOF5x8qbOF5xn

Odpověď

Pokud je požadavek úspěšný, odpověď bude obsahovat ID konverzace, tokenu a nové adresy URL streamu WebSocket.

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..."
}

Opětovné připojení ke konverzaci

Klient musí použít novou adresu URL streamu WebSocket k opětovnému připojení ke konverzaci do 60 sekund. Pokud se během této doby připojení nedá navázat, musí klient vydat další žádost o opětovné připojení, aby vygeneroval novou adresu URL datového proudu.

Pokud máte v nastavení Direct Line povolenou možnost rozšířeného ověřování, může se zobrazit chyba 400 MissingProperty, pokud nemáte správně nakonfigurovaný token připojený k požadavku.

Další materiály