【发布时间】:2018-05-08 10:06:04
【问题描述】:
我在集成 LiveAgent(客户支持/票务 Web 应用程序)和 MS BotFramework 时遇到问题。
Azure 中的机器人框架运行良好,可以与之集成。
这是我猜测/假设的架构
- LiveAgent 将向 MS Azure Bot Endpoint(NodeJS 应用程序 - 例如:
https://<ms_azure_link>/api/messages)进行 HTTP POST(他们有 API) - Azure 收到 POST 后,会匹配意图,运行正常的对话流,并返回必要的响应(文本、英雄卡、图像等),直到对话结束。
这是我的问题:
- 当 LiveAgent 想要连接到 Azure 时,应该使用哪个端点?
api/messages或称为 DirectLine API 3.0 的东西? -
实际上 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。
如果我们不使用 DirectLine API,那我将使用 MS Azure Bot Endpoint。现在问题变成了:应该将什么传递给该端点,以便 LiveAgent 可以授权自己并像往常一样使用 Bot?有什么例子吗? DirectLine API Example 好像没在说这个。
提前非常感谢您。我知道这个问题可能没有很好地说明,但希望你能理解。
如果您有任何问题,请告诉我,我很高兴澄清这一点。
再次非常感谢您的帮助。
【问题讨论】:
标签: botframework azure-language-understanding