Интегрировать LiveAgent с MS BotFramework (NodeJS)? - PullRequest
0 голосов
/ 08 мая 2018

У меня проблема с интеграцией LiveAgent (веб-приложения поддержки клиентов / билетов) и MS BotFramework.

Botframework в Azure отлично работает и готов к интеграции с ним.

Вот то, что я угадал / должен был быть архитектурой

  1. LiveAgent сделает HTTP POST (для этого у них есть API) к конечной точке бота MS Azure (приложение NodeJS - например: https://<ms_azure_link>/api/messages)
  2. Когда Azure получит POST, он будет соответствовать цели, запустив обычный диалог и вернет необходимый ответ (текст, карта героя, изображение и т. Д.) До конца разговора.

Вот мои вопросы:

  1. Когда LiveAgent хочет подключиться к Azure, какую конечную точку следует использовать? api/messages или что-то под названием DirectLine API 3.0 ?
  2. На самом деле 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.

  3. Если мы не будем использовать DirectLine API, то я буду использовать конечную точку бота MS Azure. Теперь возникает вопрос: что следует передать этой конечной точке, чтобы LiveAgent мог авторизоваться и использовать бота как обычно? Любой пример по этому поводу? Пример DirectLine API , похоже, не говорит об этом.

Большое спасибо заранее. Я знаю, что этот вопрос не может быть хорошо проиллюстрирован, но надеюсь, что вы можете понять.

Если у вас есть какие-либо вопросы, пожалуйста, дайте мне знать, я рад прояснить это.

Еще раз большое спасибо за вашу помощь.

Ответы [ 2 ]

0 голосов
/ 09 мая 2018

Если вы хотите относиться к LiveAgent как к бот-клиенту и сделать запрос к вашему бот-приложению. Мы предлагаем вам использовать API DirectLine.

Для реализации с DirectLine API через Node.js, вы можете начать с образца с https://github.com/Microsoft/BotBuilder-Samples/tree/master/Node/core-DirectLine/DirectLineClient

Специально для вашего второго вопроса, чтобы поддерживать разговор с ботом, поток веб-сокетов не требуется, если вы не хотите получать действия через поток WebSocket

Вы можете сослаться на блок кода из официального примера кода DL, который не поддерживает поток веб-сокетов и использует только conversationId и token для выполнения HTTP-запросов к приложение бота.

0 голосов
/ 08 мая 2018

Мы сделали аналогичное решение, используя MS BOT Chat SDK без DirectLine, используя службу windows selfservicehost. Мы являемся интерфейсом с левой стороны к MS BOT и с другой CRM с правой стороны. Когда вы говорите LiveAgent - это решение Salesforce?

...