WhatsApp Flow JSON 文件里有什么
Flow JSON 有两个必填属性:version 和 screens。每个界面包含 id、可选的顶部栏标题,以及类型为 SingleColumnLayout 的布局,其子项为各类组件:文本、输入框、选择列表、日期选择器、授权复选框和一个 Footer 按钮。
导航由 actions 控制。带 navigate 的 Footer 会打开下一个界面;在标记为 terminal 的最后一个界面上,带 complete 的 Footer 会关闭 Flow,并把载荷连同 flow token 发送给您的企业。从 Flow JSON 4.0 起,任何界面都可以用 ${screen.SCREEN_ID.form.field} 读取前面界面的字段,所以这些模板让 navigate 的载荷保持为空,并在最后的 complete 载荷中统一收集所有答案。
- version:Flow JSON 版本,所有模板均为 "7.3"。
- screens:按顺序排列的界面列表;第一个没有入站跳转的界面即入口界面。
- routing_model 和 data_api_version:仅用于调用您数据接口的 Flow。
- terminal 和 success:标记最后一个界面,以及在该处结束是否算作成功。
带数据接口与不带数据接口的 Flow
这十二套模板都是无接口(endpoint-less)的。它们无需服务器即可运行:选项直接写在 JSON 中,由 Meta 生成路由模型,客户完成 Flow 后答案会发送到您的 webhook。只要不需要实时数据,Meta 就建议使用无接口 Flow,因为它们打开更快,构建也更快。
当界面依赖实时数据时再添加数据接口:可预约时段、会变化的价格、库存,或对客户账户的核对。这时界面使用 data_exchange,Flow 需要 data_api_version 和 routing_model,您的接口必须解密每个请求并在 Meta 的超时时间内响应。这部分正是我们为客户搭建并托管的内容。
需要遵守的字符上限与组件规则
多数被拒的 Flow 都栽在细小的规则上。标签很短:文本输入框、文本区域或下拉框为 20 个字符,单选或复选框组为 30,日期选择器为 40,Footer 按钮为 35。选项标题上限 30 个字符,说明上限 300。标题可用 80 个字符,正文 4,096。
每个界面最多可使用 50 个组件、1 个 Footer、2 个嵌入链接、3 张图片和 5 个授权复选框。界面 id 只能包含字母和下划线,SUCCESS 为保留字。阿拉伯语标签按字符而非字节计数,所以 20 个字符的阿拉伯语标签没有问题。校验工具会检查以上所有项,并指出需要修改的界面。
面向海湾客户的阿拉伯语与从右到左 Flow
每套模板都有原生阿拉伯语版本,界面和字段名相同,因此您的 webhook 代码无需改动即可处理两种语言。WhatsApp 会在客户手机上从右到左排版阿拉伯语 Flow,预览也呈现相同的方向。
模板库包含对海湾地区重要的使用场景:设有开斋饭后推送时间的斋月和开斋节优惠报名、餐厅订位、房产看房申请,以及要求客户不要在聊天中发送证件照片的 KYC 文件清单。
如何把 Flow 发送给客户
发布 Flow 后,将它作为交互式 flow 消息发送,需要包含其 Flow ID、您生成的 flow token、简短的按钮文字和首个界面。模板库为每套模板提供了消息载荷。交互式消息只能在 24 小时客户服务窗口内使用;若要主动触达客户,请把 Flow 附加到带 Flow 按钮的已审核消息模板上。
客户完成后,WhatsApp 会向其展示答案摘要,您则在 webhook 上收到完整载荷。请回复一条确认消息,说明接下来会发生什么,以及如何修改或取消。
