将LiveAgent与MS BotFramework(NodeJS)集成?

时间:2018-05-08 10:06:04

标签: botframework luis

我在整合LiveAgent(客户支持/票务Web应用程序)和MS BotFramework时遇到问题。

Azure中的botframework运行良好,随时可以与它集成。

以下是我猜/应该是架构

  1. LiveAgent将对MS Azure Bot端点(NodeJS应用程序 - 如:https://<ms_azure_link>/api/messages)执行HTTP POST(它们具有API)
  2. 当Azure收到POST时,它将匹配意图,运行正常的对话框流,并返回必要的响应(文本,英雄卡,图像等),直到会话结束。
  3. 以下是我的问题:

    1. 当LiveAgent想要连接到Azure时,应该使用哪个端点? api/messages或称为DirectLine API 3.0的内容?
    2. 实际上DirectLine API会返回如下内容: { "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。

      那么如何使用LiveAgent连接到这个WebSocket呢?有关您的信息,LiveAgent仅支持HTTP GET / POST到自定义URL。

    3. 如果我们不使用DirectLine API,那么我将使用MS Azure Bot Endpoint。现在问题变成:应该将什么传递给此端点,以便LiveAgent可以授权自己并使用Bot作为通常?有什么例子吗? DirectLine API Example似乎没有谈论这个。

    4. 非常感谢您提前。我知道这个问题可能没有很好地说明,但希望你能理解。

      如果您有任何疑问,请告诉我,我很高兴澄清一下。

      再次感谢你的帮助。

2 个答案:

答案 0 :(得分:5)

如果您希望将LiveAgent视为僵尸客户端,并向您的bot应用程序发出一些请求。我们建议您利用DirectLine API。

要通过Node.js实现DirectLine API,您可以从https://github.com/Microsoft/BotBuilder-Samples/tree/master/Node/core-DirectLine/DirectLineClient

处的示例开始

特别针对您的第二个问题,要与bot保持对话,不需要Web套接字流,除非您想要Receive activities via WebSocket stream

您可以参考官方DL代码示例中的code block,它不会保留Web套接字流,只会利用conversationIdtoken来生成HTTP请求反对机器人应用程序。

答案 1 :(得分:2)

我们使用Windows自助服务主机服务使用不带DirectLine的MS BOT Chat SDK进行了类似的解决方案。我们是从左侧到MS BOT以及从右侧到另一个CRM的接口。你什么时候说LiveAgent - 它是Salesforce解决方案吗?