Udostępnij za pośrednictwem


Rozpoczynanie konwersacji w interfejsie API Direct Line 3.0

Direct Line konwersacje są jawnie otwierane przez klientów i mogą być uruchamiane tak długo, jak bot i klient uczestniczą i mają prawidłowe poświadczenia. Gdy konwersacja jest otwarta, bot i klient mogą wysyłać wiadomości. Więcej niż jeden klient może łączyć się z daną konwersacją, a każdy klient może uczestniczyć w imieniu wielu użytkowników.

Otwieranie nowej konwersacji

Aby otworzyć nową konwersację od klienta, wydaj polecenie POST do punktu końcowego /v3/directline/conversation.

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

Poniższe fragmenty kodu zawierają przykład żądania rozpoczęcia konwersacji i odpowiedzi.

Żądanie

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

Reakcja

Jeśli żądanie zakończy się pomyślnie, odpowiedź będzie zawierać identyfikator konwersacji, token, wartość wskazującą liczbę sekund do wygaśnięcia tokenu oraz adres URL strumienia, którego klient może użyć do odbierania działań za pośrednictwem strumienia Protokołu WebSocket.

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

Zazwyczaj żądanie rozpoczęcia konwersacji jest używane do otwierania nowej konwersacji i zwracany jest kod stanu HTTP 201 , jeśli nowa konwersacja została pomyślnie uruchomiona. Jeśli jednak klient przesyła żądanie rozpoczęcia konwersacji z tokenem Direct Line w Authorization nagłówku, który został wcześniej użyty do rozpoczęcia konwersacji przy użyciu operacji rozpoczęcia konwersacji, zostanie zwrócony kod stanu HTTP 200, aby wskazać, że żądanie było akceptowalne, ale nie utworzono konwersacji (jak już istniał).

Porada

Połączenie z adresem URL strumienia protokołu WebSocket trwa 60 sekund. Jeśli nie można nawiązać połączenia w tym czasie, możesz ponownie nawiązać połączenie z konwersacją, aby wygenerować nowy adres URL strumienia.

Rozpoczynanie konwersacji a generowanie tokenu

Operacja rozpoczęcia konwersacji (POST /v3/directline/conversations) jest podobna do operacji generowania tokenu (POST /v3/directline/tokens/generate), w ramach których obie operacje zwracają token element , który może służyć do uzyskiwania dostępu do jednej konwersacji. Jednak operacja rozpoczęcia konwersacji uruchamia również konwersację, kontaktuje się z botem i tworzy adres URL strumienia Protokołu WebSocket, podczas gdy operacja generowania tokenu nie wykonuje żadnej z tych czynności.

Jeśli zamierzasz natychmiast rozpocząć konwersację z klientem, użyj operacji rozpoczęcia konwersacji. Jeśli planujesz dystrybuowanie tokenu do klientów i chcesz zainicjować konwersację, użyj zamiast tego operacji generowania tokenu .

Dodatkowe zasoby