我正在将Dialogflow代理迁移到API V2,而我遇到的问题与"将此意图设置为会话结束"选项
我的履行webhook依赖于V1 webhook请求的"endConversation": true
属性来执行自定义平台逻辑。
有没有办法在不使用自定义有效负载的情况下在Dialogflow V2中公开这个相同的属性?
答案 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' } } }