0

是否可以使用SessionClientFlowClient在特定流程开始时与代理开始会话?Dialogflow ES API 允许发送事件,例如欢迎事件。CX 是否有类似的功能可以接收流 ID?

4

1 回答 1

2

如果您有自己的自定义集成,则可以向您的代理发送detectIntent请求以触发自定义事件。这使您的代理可以触发带有自定义事件的页面并向用户发送响应,而无需任何用户查询或输入。

这是创建自定义事件的简单指南:

  1. 在您的流程中,选择要添加自定义事件的页面,然后单击“事件处理程序”。如果“事件处理程序”不可见,请单击“添加路由类型”按钮添加事件处理程序。
  2. 单击“事件处理程序”字段旁边的 + 号并选择任何事件。
  3. 勾选“使用自定义事件”旁边的复选框。
  4. 添加您要使用的自定义事件的名称。
  5. 在“代理说”下添加所需的响应。
  6. 点击保存。

在此处输入图像描述

这是一个使用Node.js触发默认欢迎意图的示例 detectIntent 请求。

在此处输入图像描述

这是一个使用 REST API 触发自定义事件的示例 detectIntent 请求:

检测意图 API 的示例 URL:

发布 https://dialogflow.googleapis.com/v3beta1/projects/project-id/locations/us/agents/agent-id/sessions/session-id:detectIntent

对 URL 进行以下替换:

  • project-id:您的 GCP 项目 ID
  • agent-id:您的代理 ID
  • session-id:你的会话 ID

示例 JSON 请求正文应如下所示:

{
  "queryInput": {
    "event": {
      "event": "custom-event" // custom event to be triggered
    },
    "languageCode": "en"
  },
  "queryParams": {
    "timeZone": "America/Los_Angeles"
  }
}

您可以参考以下内容以获取更多信息:

您可以使用 Dialogflow CX 的客户端库Rest APIRPC API来创建自己的实现/集成。

于 2020-12-18T23:52:46.300 回答