Delen via


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.

Aanvullende resources