DialogFlow:Intents和@ sys.any类型中的字母数字(固定长度)参数

时间:2018-03-08 12:43:43

标签: actions-on-google dialogflow

我有一个DialogFlow的意图,它接受来自用户的输入/参数以进行验证。该参数具有固定长度并且是字母数字的(例如 ABC1234 )。它是不同用户的随机ID。使用webhook调用在后端验证数据输入。

为了接受输入值,我必须将参数的类型设置为@sys.any。它确实有效,并将值传递给webhook进行验证。但由于此意图没有"输入上下文",因此从未触发下一个意图,因为来自用户的每个输入都被评估为@sys.any

我需要的是一种接受自定义价值的类型。但我找不到任何东西。

以下是意图的屏幕截图: enter image description here

另请注意,未触发的下一个意图是" In context" = authentication 用户说像book me这样的表达式。由于上述意图中的@sys.anybook me会导致上述意图触发。

这个问题有类似的要求,但没有答案:Verify pin intent

另外:DialogFlow - Improve entity/parameter recognition for alphanumeric parameters

2 个答案:

答案 0 :(得分:0)

这在Dialogflow上是不可能的。例如,您可以使用正则表达式在webhook中实现此目的。

答案 1 :(得分:0)

因此经过一番挖掘后,我不得不改变方法。也就是说,@sys.any不是要走的路。我选择使用输入参数的数字部分(最后四位数)而不是字母数字,并在服务器端/ webhook处理任何重复。我使用的类型是@sys.number-sequence

我仍然必须处理上下文,使得任何数字序列输入都不会触发此意图。