如何在Dialogflow CX Messenger中实现按钮点击信息回传webhook
Dialogflow CX按钮点击事件回传webhook配置方案
问题原因
现有配置中link字段的优先级高于event字段,只要配置了link参数,按钮会优先执行跳转逻辑,不会触发事件回传;删除link字段后未指定按钮交互类型,就会触发平台默认的页面打开行为。
修复步骤
- 完全移除配置中的
link字段,禁用跳转逻辑,让事件触发逻辑优先生效 - 新增
action字段,取值设为event,明确告知平台点击按钮时触发预设事件,而非跳转操作 - 完善
event下的parameters字段,填入需要回传给webhook的按钮标识、业务参数等内容
正确配置示例
{ "type": "button", "icon": { "type": "chevron_right", "color": "#FF9800" }, "text": "Button text 1", "action": "event", "event": { "name": "button_click_event", "languageCode": "zh-CN", "parameters": { "button_id": "btn_001", "business_param": "对应业务参数值" } } }
后续关联配置
- 在Dialogflow CX控制台的意图管理模块,新建一个触发条件为匹配上述事件名称
button_click_event的意图 - 给该意图开启webhook调用权限,用户点击按钮后,平台会自动将
parameters中的内容传递到你绑定的webhook地址,处理完成后返回对应响应即可 - 如果你使用的是自定义前端集成,需要在前端按钮渲染逻辑中添加判断:当按钮
action为event时,调用Dialogflow CX的detectIntent接口传入对应事件参数,不要执行默认跳转逻辑。
内容的提问来源于stack exchange,提问作者Rishabh
相关产品推荐
相关产品推荐

