Zahájení konverzace v rozhraní DIRECT LINE API 3.0
Direct Line konverzace jsou explicitně otevřeny klienty a mohou běžet, pokud se robot a klient účastní a mají platné přihlašovací údaje. Během konverzace může robot i klient odesílat zprávy. K dané konverzaci se může připojit více než jeden klient a každý klient se může účastnit jménem více uživatelů.
Otevření nové konverzace
Pokud chcete otevřít novou konverzaci od klienta, zadejte POST do koncového bodu /v3/directline/konverzace.
POST https://directline.botframework.com/v3/directline/conversations
Authorization: Bearer SECRET_OR_TOKEN
Následující fragmenty kódu poskytují příklad žádosti o zahájení konverzace a odpovědi.
Žádost
POST https://directline.botframework.com/v3/directline/conversations
Authorization: Bearer RCurR_XV9ZA.cwA.BKA.iaJrC8xpy8qbOF5xnR2vtCX7CZj0LdjAPGfiCpg4Fv0y8qbOF5xPGfiCpg4Fv0y8qqbOF5x8qbOF5xn
Odpověď
Pokud je požadavek úspěšný, odpověď bude obsahovat ID konverzace, token, hodnotu, která označuje počet sekund, dokud platnost tokenu nevyprší, a adresu URL streamu, kterou klient může použít k příjmu aktivit prostřednictvím streamu 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..."
}
Žádost o zahájení konverzace se obvykle používá k otevření nové konverzace a stavový kód HTTP 201 se vrátí, pokud se nová konverzace úspěšně spustí. Pokud ale klient odešle žádost o zahájení konverzace s tokenem Direct Line v Authorization
hlavičce, která se dříve použila k zahájení konverzace pomocí operace zahájení konverzace, vrátí se stavový kód HTTP 200, který označuje, že požadavek byl přijatelný, ale nebyla vytvořena žádná konverzace (jak už existovala).
Tip
K adrese URL streamu WebSocket máte 60 sekund. Pokud se během této doby připojení nedá navázat, můžete se k konverzaci znovu připojit a vygenerovat novou adresu URL streamu.
Zahájení konverzace versus vygenerování tokenu
Počáteční operace konverzace (POST /v3/directline/conversations
) je podobná operaci vygenerování tokenu (POST /v3/directline/tokens/generate
), v které obě operace vrací token
ten, který lze použít pro přístup k jedné konverzaci. Operace zahájení konverzace ale také spustí konverzaci, kontaktuje robota a vytvoří adresu URL streamu WebSocket, zatímco operace vygenerování tokenu nic z těchto věcí nedělá.
Pokud chcete konverzaci zahájit okamžitě s klientem, použijte operaci zahájení konverzace. Pokud plánujete token distribuovat klientům a chcete, aby zahájili konverzaci, použijte místo toho operaci vygenerování tokenu .