Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Общения Direct Line открываются клиентами явным образом и могут выполняться, пока бот и клиент участвуют в них и имеют действительные учетные данные. Бот и клиент могут отправлять сообщения, пока общение остается открытым. К определенному диалогу могут подключаться несколько клиентов, и каждый из них может участвовать в нем от имени нескольких пользователей.
Открытие нового общения
Чтобы открыть новый диалог со стороны клиента, передайте запрос POST в конечную точку /v3/directline/conversations.
POST https://directline.botframework.com/v3/directline/conversations
Authorization: Bearer SECRET_OR_TOKEN
Приведенные ниже фрагменты кода содержат пример запроса и ответа на начальный диалог.
Запрос
POST https://directline.botframework.com/v3/directline/conversations
Authorization: Bearer RCurR_XV9ZA.cwA.BKA.iaJrC8xpy8qbOF5xnR2vtCX7CZj0LdjAPGfiCpg4Fv0y8qbOF5xPGfiCpg4Fv0y8qqbOF5x8qbOF5xn
Ответ
Если запрос выполнен, ответ будет содержать идентификатор общения, маркер и значение, указывающее количество секунд до истечения срока действия маркера, и URL-адрес потока, который может быть использован пользователем для получения действий через потоковую передачу 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..."
}
Как правило, запрос на начало беседы используется для открытия новой беседы, а код состояния HTTP 201 возвращается, если новая беседа успешно запущена. Однако если клиент отправляет запрос на начало беседы с маркером Direct Line в заголовкеAuthorization
, который ранее использовался для запуска беседы с помощью операции запуска беседы, возвращается код состояния HTTP 200, указывающий, что запрос был приемлемым, но не был создан (так как он уже существует).
Совет
На подключение к URL-адресу потока через протокол WebSocket выделяется 60 секунд. Если подключение невозможно установить в течение этого времени, вы можете повторно подключиться к беседе , чтобы создать новый URL-адрес потока.
Запуск беседы и создание маркера
Операция запуска диалога (POST /v3/directline/conversations
) аналогична операции создания маркера (POST /v3/directline/tokens/generate
) в том, что обе операции возвращают объект token
, который можно использовать для доступа к одной беседе. Однако операция запуска диалога также запускает беседу, обращается к боту и создает URL-адрес потока WebSocket, в то время как операция создания маркера не выполняет ни одного из этих действий.
Если вы планируете немедленно начать беседу с клиентом, используйте операцию запуска диалога. Если вы планируете распространять маркер для клиентов и хотите, чтобы они инициировали беседу, используйте операцию создания маркера .
Дополнительные ресурсы
- Основные понятия
- Аутентификация
- Receive activities via WebSocket stream (Получение действий через поток по протоколу WebSocket)
- Повторное подключение к общению