WhatsApp模板中flow_action_data动态数据为空问题求助
问题详情
我在使用WhatsApp Cloud API集成消息模板与WhatsApp Flows时遇到异常:原本要通过flow_action_data传递动态数据,但用户点击模板里的Flow按钮打开页面后,所有动态字段全为空。目前的具体现象:
- 消息模板能正常在WhatsApp端接收
- 模板内的Flow按钮可正常唤起Flow页面
- Flow页面内容完全空白,
flow_action_data里的动态值完全不显示 - 不通过消息模板,单独发送Flow时功能正常,动态数据能正确渲染
已完成操作:
- 创建含Flow按钮的消息模板
test_extremo_wa - 模板已绑定对应Flow ID
- 通过指定API请求发送消息,附带Flow JSON及Postman请求详情
排查步骤与解决方案
严格匹配
flow_action_data字段名与Flow定义
检查Flow JSON里的动态字段占位符(比如{{user_id}}),必须和API请求中flow_action_data的键名完全一致,包括大小写、下划线/驼峰格式。比如Flow用{{user_name}},请求里就不能写成"username"或"User_Name"。确认模板绑定的是Flow的正确版本
去Meta Business Manager查看模板的Flow按钮配置,确保绑定的是最新发布的Flow版本。如果Flow有过更新但没重新绑定到模板,旧版Flow的字段结构可能和新的flow_action_data不匹配,导致数据无法映射。检查API请求的
flow_action_data层级是否正确
发送模板消息的API请求中,flow_action_data必须嵌套在正确的层级里,不能放错位置。正确的请求结构示例:{ "messaging_product": "whatsapp", "recipient_type": "individual", "to": "目标手机号", "type": "template", "template": { "name": "test_extremo_wa", "language": { "code": "es" }, "components": [ { "type": "button", "sub_type": "flow", "index": 0, "parameters": [ { "type": "action", "action": { "name": "flow", "parameters": { "flow_id": "你的Flow ID", "flow_action_data": { "动态字段1": "测试值1", "动态字段2": "测试值2" } } } } ] } ] } }重点:
flow_action_data必须放在action.parameters层级下,不能错位。检查Flow的数据源配置
在Flow Builder里编辑对应屏幕或组件,确认动态数据的数据源设置为接受来自flow_action_data的输入,而不是固定值或其他类型的数据源。验证权限与Flow状态
确认发送API请求的系统用户拥有该Flow的使用/编辑权限,同时Flow必须处于**已发布(Published)**状态,草稿状态的Flow无法通过模板正常接收动态数据。用极简版本测试排查
创建一个仅含单个动态文本组件的极简Flow,再做一个对应的测试模板绑定它,发送请求传递动态数据。如果极简版本能正常渲染,说明原Flow存在复杂逻辑或字段映射问题,需要逐步拆解排查原Flow的组件配置。
内容的提问来源于stack exchange,提问作者Jacobo Molina

