У меня проблема с интеграцией LiveAgent (веб-приложения поддержки клиентов / билетов) и MS BotFramework.
Botframework в Azure отлично работает и готов к интеграции с ним.
Вот то, что я угадал / должен был быть архитектурой
- LiveAgent сделает HTTP POST (для этого у них есть API) к конечной точке бота MS Azure (приложение NodeJS - например:
https://<ms_azure_link>/api/messages
)
- Когда Azure получит POST, он будет соответствовать цели, запустив обычный диалог и вернет необходимый ответ (текст, карта героя, изображение и т. Д.) До конца разговора.
Вот мои вопросы:
- Когда LiveAgent хочет подключиться к Azure, какую конечную точку следует использовать?
api/messages
или что-то под названием DirectLine API 3.0 ?
На самом деле API DirectLine будет возвращать что-то вроде этого:
{
"conversationId": "3M3TeaDtc3uArxXwlna7AG",
"token": "<My token>",
"expires_in": 1800,
"streamUrl": "wss://directline.botframework.com/v3/directline/conversations/3M3TeaDtc3uArxXwlna7AG/stream?watermark=-&t=ubeJVCXqb9I.dAA.MwBNADMAVABlAGEARAB0AGMAMwB1AEEAcgB4AFgAdwBsAG4AYQA3AEEARwA.7UpMr6Tm0wE.9RmCM_XyjII.CQbU7viSec2P7CtznrijQwou0A8N0GynOvnsUmNT04o",
"referenceGrammarId": "669c7246-bc5c-f25f-aae7-0ad7f39e25b4"
}
Как видите, после подключения с помощью DirectLine необходимо продолжить использование WebSocket.
Так как же подключиться к этой вещи WebSocket с помощью LiveAgent? Для вашего сведения, LiveAgent поддерживает только HTTP GET / POST для пользовательского URL.
Если мы не будем использовать DirectLine API, то я буду использовать конечную точку бота MS Azure. Теперь возникает вопрос: что следует передать этой конечной точке, чтобы LiveAgent мог авторизоваться и использовать бота как обычно? Любой пример по этому поводу? Пример DirectLine API , похоже, не говорит об этом.
Большое спасибо заранее. Я знаю, что этот вопрос не может быть хорошо проиллюстрирован, но надеюсь, что вы можете понять.
Если у вас есть какие-либо вопросы, пожалуйста, дайте мне знать, я рад прояснить это.
Еще раз большое спасибо за вашу помощь.