Direct Line API 3.0에서 대화 시작Start a conversation in Direct Line API 3.0

직접 회선 대화는 클라이언트에서 명시적으로 열고, 봇과 클라이언트가 참여하고 유효한 자격 증명이 있는 경우에만 실행될 수 있습니다.Direct Line conversations are explicitly opened by clients and may run as long as the bot and client participate and have valid credentials. 대화가 열려 있는 동안 봇과 클라이언트 모두 메시지를 보낼 수 있습니다.While the conversation is open, both the bot and client may send messages. 둘 이상의 클라이언트가 지정된 대화에 연결할 수 있으며 각 클라이언트는 여러 사용자를 대신하여 참여할 수 있습니다.More than one client may connect to a given conversation and each client may participate on behalf of multiple users.

새 대화 열기Open a new conversation

클라이언트에서 새 대화를 열려면 POST를 /v3/directline/conversations 엔드포인트로 실행합니다.To open a new conversation from your client, issue POST to the /v3/directline/conversations endpoint.

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

다음 코드 조각은 시작 대화 요청 및 응답의 예를 제공 합니다.The following snippets provide an example of the start conversation request and response.

요청Request

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

응답Response

요청이 성공하면 응답에는 대화 ID, 토큰, 토큰이 만료될 때까지의 시간(초)을 나타내는 값 및 클라이언트가 WebSocket 스트림을 통해 활동을 수신하는 데 사용할 수 있는 스트림 URL이 포함됩니다.If the request is successful, the response will contain an ID for the conversation, a token, a value that indicates the number of seconds until the token expires, and a stream URL that the client may use to receive activities via WebSocket stream.

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

일반적으로 시작 대화 요청은 새 대화를 여는 데 사용 되며, 새 대화가 성공적으로 시작 되 면 HTTP 201 상태 코드가 반환 됩니다.Typically, a start conversation request is used to open a new conversation and an HTTP 201 status code is returned if the new conversation is successfully started. 그러나 클라이언트가 이전에 대화 시작 작업을 사용 하 여 대화를 시작 하는 데 사용 된 헤더에 직접 줄 토큰을 사용 하 여 시작 대화 요청을 제출 하는 경우 Authorization 요청이 허용 되는 것을 나타내는 HTTP 200 상태 코드가 반환 되 고 이미 존재 하는 대화는 생성 되지 않습니다.However, if a client submits a start conversation request with a Direct Line token in the Authorization header that has previously been used to start a conversation using the start conversation operation, an HTTP 200 status code will be returned to indicate that the request was acceptable but no conversation was created (as it already existed).

WebSocket 스트림 URL에 연결하기까지 60초가 허용됩니다.You have 60 seconds to connect to the WebSocket stream URL. 이 시간 동안 연결을 설정할 수 없는 경우, 대화에 다시 연결하여 새 스트림 URL을 생성할 수 있습니다.If the connection cannot be established during this time, you can reconnect to the conversation to generate a new stream URL.

대화 시작 및 토큰 생성Start conversation versus generate token

대화 시작 작업 ( POST /v3/directline/conversations )은 두 작업에서 POST /v3/directline/tokens/generate token 단일 대화에 액세스 하는 데 사용할 수 있는를 반환 한다는 점에서 토큰 생성 작업 ()과 비슷합니다.The start conversation operation (POST /v3/directline/conversations) is similar to the generate token operation (POST /v3/directline/tokens/generate) in that both operations return a token that can be used to access a single conversation. 그러나 대화 시작 작업은 대화를 시작 하 고, 봇에 연결 하 고, WebSocket 스트림 URL을 만들지만, 토큰 생성 작업은 이러한 항목을 수행 하지 않습니다.However, the start conversation operation also starts the conversation, contacts the bot, and creates a WebSocket stream URL, whereas the generate token operation does none of these things.

클라이언트에서 바로 대화를 시작 하려는 경우 대화 시작 작업을 사용 합니다.If you intend to start the conversation immediately with your client, use the start conversation operation. 토큰을 클라이언트에 배포 하 고 대화를 시작 하려는 경우에는 토큰 생성 작업을 대신 사용 합니다.If you plan to distribute the token to clients and want them to initiate the conversation, use the generate token operation instead.

추가 리소스Additional resources