Opnieuw verbinding maken met een gesprek in Direct Line API 3.0
Als een client de WebSocket-interface gebruikt om berichten te ontvangen, maar de verbinding verliest, moet deze mogelijk opnieuw verbinding maken. In dit scenario moet de client een nieuwe WebSocket-stream-URL genereren die kan worden gebruikt om opnieuw verbinding te maken met het gesprek.
Een nieuwe WebSocket-stream-URL genereren
Als u een nieuwe WebSocket-stream-URL wilt genereren die kan worden gebruikt om opnieuw verbinding te maken met een bestaand gesprek, geeft u deze aanvraag uit:
GET https://directline.botframework.com/v3/directline/conversations/{conversationId}?watermark={watermark_value}
Authorization: Bearer SECRET_OR_TOKEN
Vervang in deze aanvraag-URI {conversationId} door de gespreks-id en vervang {watermark_value} door de watermerkwaarde (als de watermark
parameter beschikbaar is). De watermark
parameter is optioneel. Als de watermark
parameter is opgegeven in de aanvraag-URI, wordt het gesprek opnieuw afgespeeld vanuit het watermerk, waardoor wordt gegarandeerd dat er geen berichten verloren gaan. Als de watermark
parameter wordt weggelaten uit de aanvraag-URI, worden alleen berichten die worden ontvangen nadat de aanvraag voor opnieuw verbinding is gemaakt, opnieuw afgespeeld.
De volgende codefragmenten bevatten een voorbeeld van de aanvraag en het antwoord opnieuw verbinden.
Aanvraag
GET https://directline.botframework.com/v3/directline/conversations/abc123?watermark=0000a-42
Authorization: Bearer RCurR_XV9ZA.cwA.BKA.iaJrC8xpy8qbOF5xnR2vtCX7CZj0LdjAPGfiCpg4Fv0y8qbOF5xPGfiCpg4Fv0y8qqbOF5x8qbOF5xn
Antwoord
Als de aanvraag is geslaagd, bevat het antwoord een id voor het gesprek, een token en een nieuwe WebSocket-stream-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..."
}
Opnieuw verbinding maken met het gesprek
De client moet de nieuwe WebSocket-stream-URL gebruiken om binnen 60 seconden opnieuw verbinding te maken met het gesprek . Als de verbinding gedurende deze tijd niet tot stand kan worden gebracht, moet de client een andere aanvraag voor opnieuw verbinden uitgeven om een nieuwe stream-URL te genereren.
Als u 'Verbeterde verificatieoptie' hebt ingeschakeld in de Direct Line-instellingen, krijgt u mogelijk de fout 400 'MissingProperty' als er geen correct geconfigureerd token is gekoppeld aan de aanvraag.