You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Dialogflow Webhook的Facebook Messenger Quick Replies不显示问题

排查步骤与修复方案
  • 第一优先级:修复JSON语法错误。当前完整配置的quickReplies对象结尾位置,多了一个尾随逗号——也就是数组最后一个元素后面额外加了,。这类语法错误在Webhook透传的宽松解析逻辑里不会触发显式报错,只会静默丢弃整个带语法错误的消息块,直接导致QR按钮根本传不到FBM侧,删掉这个多余的逗号即可。
  • 第二优先级:修正Quick Replies的结构逻辑。Quick Replies不是独立的消息类型,不能和text、card这类独立消息块平行放在fulfillmentMessages数组里。它是依附在某条文本消息上的交互组件,必须和配套的提示文本写在同一个fulfillmentMessage对象里,Dialogflow才会在透传的时候把它组装成FBM可识别的Quick Reply结构。
    现有结构是把三个text消息块独立列完,单独把quickReplies拆成了第四个独立的数组元素,Dialogflow在解析时找不到QR对应的绑定载体,会直接把这个无依附的QR块过滤掉,不会透传到FBM。
    修正后的结构示例(把最后一条提示文本和QR绑定为同一个消息):
    {
      "text": {
        "text": ["Just type xxxxxx."]
      },
      "quickReplies": {
        "title": "Alternative Names",
        "quickReplies": ["Maroon", "Rouge", "Rot", "Reed", "Fuscia", "Cyan"]
      },
      "platform": "FACEBOOK"
    }
    
  • 第三优先级:校验FBM侧的字段规则。FBM对Quick Replies有明确的长度限制:QR按钮单条文本不能超过20个字符,顶部提示title不能超过60个字符,单组最多展示11个QR按钮。只要任意字段超出限制,FBM会静默丢弃整个QR组件,不返回任何错误日志,需要逐字段核对长度是否合规。
  • 第四优先级:校验渠道配置匹配。现有配置里的text消息块没有标注平台属性,是全平台透传的;而QR块标注了"platform": "FACEBOOK",如果对接的FBM渠道没有在Dialogflow后台正确完成授权绑定,这类带平台属性的富组件会被单独过滤,而基础文本消息不受影响。因为之前的带"platform": "FACEBOOK"的card消息可以正常显示,这条可以在前面的问题修复后再做兜底校验。

内容的提问来源于stack exchange,提问作者PerryS

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.24 01:24:03