Dela via


Starta en konversation i Direct Line API 3.0

Direct Line konversationer öppnas explicit av klienter och kan köras så länge roboten och klienten deltar och har giltiga autentiseringsuppgifter. Medan konversationen är öppen kan både roboten och klienten skicka meddelanden. Fler än en klient kan ansluta till en viss konversation och varje klient kan delta för flera användares räkning.

Öppna en ny konversation

Om du vill öppna en ny konversation från klienten utfärdar du POST till slutpunkten /v3/directline/conversations.

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

Följande kodfragment innehåller ett exempel på begäran och svar om att starta konversationen.

Förfrågan

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

Svarsåtgärder

Om begäran lyckas innehåller svaret ett ID för konversationen, en token, ett värde som anger antalet sekunder tills token upphör att gälla och en ström-URL som klienten kan använda för att ta emot aktiviteter via WebSocket-dataströmmen.

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

Normalt används en startkonversationsbegäran för att öppna en ny konversation och en HTTP 201-statuskod returneras om den nya konversationen har startats. Men om en klient skickar en begäran om att starta konversation med en Direct Line token i Authorization rubriken som tidigare har använts för att starta en konversation med startkonversationen returneras en HTTP 200-statuskod för att indikera att begäran var acceptabel men att ingen konversation skapades (eftersom den redan fanns).

Tips

Du har 60 sekunder på dig att ansluta till WebSocket-ström-URL:en. Om anslutningen inte kan upprättas under den här tiden kan du återansluta till konversationen för att generera en ny ström-URL.

Starta konversation kontra generera token

Åtgärden starta konversation (POST /v3/directline/conversations) liknar åtgärden för att generera token (POST /v3/directline/tokens/generate) eftersom båda åtgärderna returnerar en token som kan användas för att komma åt en enda konversation. Men startkonversationen startar också konversationen, kontaktar roboten och skapar en WebSocket-ström-URL, medan åtgärden för att generera token inte gör något av detta.

Om du tänker starta konversationen omedelbart med klienten använder du åtgärden Starta konversation. Om du planerar att distribuera token till klienter och vill att de ska initiera konversationen använder du åtgärden för att generera token i stället.

Ytterligare resurser