Webhook响应:使用followupEventInput显示建议芯片

时间:2018-06-13 06:40:05

标签: dialogflow

谷歌助手没有显示发送到webhook响应中的建议芯片。

{
"fulfillmentText": "Some text",
"payload": {
    "google": {
        "expectUserResponse": true,
        "richResponse": {
            "items": [
                {
                    "simpleResponse": {
                        "textToSpeech": "What number ?"
                    }
                }
            ],
            "suggestions": [
                {
                    "title": "One"
                },
                {
                    "title": "Two"
                }
            ]
        }
    }
},
"followupEventInput": {
    "name": "numbers",
    "parameters": {
        "param1": "this is it"
    }
}}

有趣的是,如果我删除" followupEventInput"字段,显示建议芯片。

有人可以给我一个关于这种行为的暗示吗?

1 个答案:

答案 0 :(得分:1)

您发回的JSON并没有做您希望它做的事情。

followupEventInput表示意图立即触发 ,而不是发回其余的回复(包括建议)。相反,后续事件的回复将被发回。

听起来您想要发回回复,然后,无论用户说什么或选择什么,他们的消息都会发送到特定的操作。请记住,Dialogflow Intents是根据用户的操作触发的,并根据可能设置的上下文进行整形。

在这种情况下,听起来您可能想要设置outputContext来影响在收集用户的响应时将检查哪些Intent。然后,您可以拥有一个Intent,将其作为输入Context并匹配可能的短语。如果您真的想要在回复中获得用户所说的任何内容,您可以使用适当的输入上下文设置的后备意图。

可以重定向到另一个Intent发送输出时,通常这是不必要的。请记住,Intents最能代表用户的输入,而不是代理商的输出。特别是如果您使用webhook生成并发送回复 - 只需发送回复。