Dialogflow API V2"会话结束" webhook请求中的标志

时间:2018-05-24 18:40:38

标签: dialogflow

我正在将Dialogflow代理迁移到API V2,而我遇到的问题与"将此意图设置为会话结束"选项

enter image description here

我的履行webhook依赖于V1 webhook请求的"endConversation": true属性来执行自定义平台逻辑。

有没有办法在不使用自定义有效负载的情况下在Dialogflow V2中公开这个相同的属性?

3 个答案:

答案 0 :(得分:2)

奇怪的是,它存储在代理程序级别。如果导出代理,则会在endIntentIds文件中注意到一个agent.json键,该键是设置了此标志的意图ID的数组。

我不确定为什么不将其存储在意图上。从you have to fully export the agent via the v2 API in order to see agent-level settings开始,您必须这样做,然后解压缩文件才能确定是否在意图上设置了此标志。

更新

事实证明,可以通过入站Webhook履行请求访问此信息。检出matthewwayne's answer

答案 1 :(得分:2)

您可以在Dialogflow的v2 Webhook请求中查看queryResult.diagnosticInfo.end_conversation字段,其形式如下:

{
  "queryResult": {
    "diagnosticInfo": {
      "end_conversation": true
    },
    ...
  },
  ...
}

答案 2 :(得分:0)

我正在使用streamingDetectIntent的{​​{1}}方法。

在回调中,我得到了sessionClient,如下所示。

diagnosticInfo

所以我正在使用以下方式来确定它是否是最后意图。

diagnosticInfo: { fields: { end_conversation: { boolValue: true, kind: 'boolValue' } } }