DialogFlow CX webhook basics

Fel*_*lix 5 dialogflow-cx

I want to give my chatbot some calculation capabilities but I have no experience with webhooks at all. Unfortunately there seems to be close to zero documentation on this topic for DialogFlow CX (except some generic description of what webhooks are).

有人知道如何执行此操作的具体教程吗?或者有人能指出我正确的方向吗?

我的出发点:我有一个 DialogFlow CX 机器人,它有几个会话参数,我想将其用于一些计算,然后计算结果应包含在机器人文本话语中。

我现在需要执行哪些不同步骤?有人有具体的样本吗?我可以重用示例代码吗? (我基本上只知道我需要在 DialogFlow CX 中设置一个 webhook 资源,并且这种 webhook 的最简单方法可能是使用 Cloud Functions(我以前从未这样做过))

多谢!!!

小智 5

请注意,在 Dialogflow CX 中,无需使用 Webhook,借助系统函数即可完成加法和减法等简单计算。

\n

对于更复杂的计算,您可以按照以下一般步骤为 Dialogflow CX 设置和使用 Webhook:

\n
    \n
  1. 在您的首选托管站点(例如 Cloud\nfunctions)上创建 Web 服务,并参阅Webhook 服务要求和\n身份验证

    \n
  2. \n
  3. 设置 Webhook 服务后,您可以通过 Dialogflow CX 控制台或 API 将其作为 Webhook 资源添加到您的代理

    \n
  4. \n
  5. 为代理创建 webhook 资源后,您可以在任何支持使用 webhook 的部分添加\n(例如Fulfillment、\n RoutesEvent handlers等)。

    \n
  6. \n
  7. 当代理调用 Webhook 时,它会发送Webhook 请求json。有关详细信息,请参阅WebhookRequest 参考\n文档。

    \n
  8. \n
  9. 您可以在 webhookRequest 下获取Session 参数sessionInfo.parameters json 正文:

    \n
    {\n  "sessionInfo" : {\n    "session":<session string>,\n    "parameters": {\n       "param1": {\n           "value": "sample1"\n       }\n   }\n\n}\n
    Run Code Online (Sandbox Code Playgroud)\n

    这里\xe2\x80\x99是一个使用Node.js提取\n\n\xe2\x80\x9cparam1\xe2\x80\x9d参数值的示例Webhook代码:

    \n

    让 yourParameter = request.body.sessionInfo.parameters.param1;

    \n
  10. \n
  11. 然后,您的 Webhook 服务必须返回有效格式的Webhook\n响应json。有关详细信息,请参阅WebhookResponse 参考文档。\n此处\xe2\x80\x99s 是使用 Node.js 的示例代码,介绍如何发送文本\n响应并从 Webhook 响应传递会话参数:

    \n
    let jsonResponse = {\n   fulfillment_response: {\n     messages: [\n       {\n         text: {\n           text: ["This is a sample response."]\n         }\n       }\n     ]\n   },\n   sessionInfo: {\n     parameters: {\n          "sample-parameter": {\n              value: "sample1"\n          }\n     }\n   }\n };\n\n response.json(jsonResponse);\n
    Run Code Online (Sandbox Code Playgroud)\n
  12. \n
\n

请注意,接收、处理和发送 json 数据的确切代码会根据您使用的编程语言而有所不同。

\n

您可以在此 Stackoverflow 帖子中查看用于计算值的 JavaScript webhook 示例。

\n