Freigeben über


Starten einer Unterhaltung in Direct Line API 3.0

Direct Line-Unterhaltungen werden explizit von Clients geöffnet und können solange ausgeführt werden, wie Bot und Client daran teilnehmen und gültige Anmeldeinformationen aufweisen. Solange die Unterhaltung geöffnet ist, können der Bot und der Client Nachrichten senden. Es können mehrere Clients eine Verbindung mit einer bestimmten Unterhaltung herstellen, und jeder Client kann im Namen mehrerer Benutzer teilnehmen.

Öffnen einer neuen Unterhaltung

Wenn Sie eine neue Konversation über Ihren Client beginnen möchten, senden Sie eine POST-Anforderung an den Endpunkt „/v3/directline/conversations“ aus.

POST https://directline.botframework.com/v3/directline/conversations
Authorization: Bearer SECRET_OR_TOKEN

Die folgenden Codeausschnitte bieten ein Beispiel für die Startunterhaltungsanforderung und -antwort.

Anforderung

POST https://directline.botframework.com/v3/directline/conversations
Authorization: Bearer RCurR_XV9ZA.cwA.BKA.iaJrC8xpy8qbOF5xnR2vtCX7CZj0LdjAPGfiCpg4Fv0y8qbOF5xPGfiCpg4Fv0y8qqbOF5x8qbOF5xn

Antwort

Wenn die Anforderung erfolgreich war, enthält die Antwort eine ID für die Unterhaltung, ein Token, einen Wert, der die Anzahl von Sekunden bis zum Ablauf des Tokens angibt, und eine Stream-URL, mit der der Client Aktivitäten über den WebSocket-Stream empfangen kann.

HTTP/1.1 201 Created
[other headers]
{
  "conversationId": "abc123",
  "token": "RCurR_XV9ZA.cwA.BKA.iaJrC8xpy8qbOF5xnR2vtCX7CZj0LdjAPGfiCpg4Fv0y8qbOF5xPGfiCpg4Fv0y8qqbOF5x8qbOF5xn",
  "expires_in": 1800,
  "streamUrl": "https://directline.botframework.com/v3/directline/conversations/abc123/stream?t=RCurR_XV9ZA.cwA..."
}

Normalerweise wird eine Startunterhaltungsanforderung verwendet, um eine neue Unterhaltung zu öffnen und ein HTTP 201-Statuscode zurückgegeben wird, wenn die neue Unterhaltung erfolgreich gestartet wird. Wenn ein Client jedoch eine Startunterhaltungsanforderung mit einem Direct Line Token in der Kopfzeile sendet, die zuvor zum Starten einer Unterhaltung mit dem Authorization Startunterhaltungsvorgang verwendet wurde, wird ein HTTP 200-Statuscode zurückgegeben, um anzugeben, dass die Anforderung zulässig war, aber keine Unterhaltung erstellt wurde (wie bereits vorhanden).

Tipp

Sie haben 60 Sekunden, um eine Verbindung mit der WebSocket-Stream-URL herzustellen. Wenn die Verbindung während dieser Zeit nicht eingerichtet werden kann, können Sie eine Verbindung mit der Unterhaltung erneut herstellen , um eine neue Stream-URL zu generieren.

Starten einer Unterhaltung im Vergleich zum Generieren von Token

Der Startunterhaltungsvorgang () ähnelt dem Generieren von Tokenvorgang (POST /v3/directline/tokens/generatePOST /v3/directline/conversations) in dem beide Vorgänge einen token Zugriff auf eine einzelne Unterhaltung zurückgeben können. Der Startunterhaltungsvorgang startet jedoch auch die Unterhaltung, kontaktiert den Bot und erstellt eine WebSocket-Stream-URL, während der Generieren-Tokenvorgang keine dieser Dinge ausführt.

Wenn Sie die Unterhaltung sofort mit Ihrem Client starten möchten, verwenden Sie den Startunterhaltungsvorgang. Wenn Sie das Token an Clients verteilen möchten und möchten, dass sie die Unterhaltung initiieren möchten, verwenden Sie stattdessen den Tokenvorgang .

Zusätzliche Ressourcen