我开始在 Dialogflow CX 中使用灵活的 webhook 来管理一些较小的后端任务。考虑到我的后端任务的简单性,我更喜欢灵活的 webhook,它的开销较小,尤其是在响应请求时。
现在,我在不同的Dialogflow页面上有两个相似但不完全相同的场景,我想在其中重复使用相同的Dialogflow Webhook定义。为此,我在每个页面上为 webhook 分配了一个标签,允许后端服务区分场景。
对于我的灵活 Webhook,我需要在 Webhook 定义中指定 Webhook 请求的负载。虽然我注意到 webhook 标签是标准 webhook 请求的一部分,但我想知道如何在自定义负载中引用 webhook 标签。不幸的是,文档没有清楚地说明正确的参考是什么样子的。
这就是我的灵活 Webhook 负载当前的样子:
{
"my_param_1": "$session.params.param_1,
"my_param_2": "$session.params.param_2",
...
"webhook_tag": "?"
}
我已经尝试过:
"$webhook.params.tag"
、"$session.fulfillmentInfo.tag"
和“"$fulfillmentInfo.tag"
”。所有这些都导致未调用 Webhook,并出现以下错误:
...
"FunctionExecution": {
"Webhook": {
"Status": {
"ErrorCode": "INTERNAL"
}
}
},
...
"webhookStatuses": [
{
"code": 13
}
]
我注意到在标准 webhook 请求中我可以找到如下标签:
{
...
"fulfillmentInfo": {
"tag": "my_tag"
}
...
}
所以我希望我也可以在灵活的 webhook 请求中引用该标签。
代码 13 过去只发生在我身上,因为参数名称和 $Session.params.parameter_name 中的引用之间拼写不匹配