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

WhatsApp商务流程导航时触发端点并实现屏幕跳转的方法咨询

WhatsApp商务流程导航时触发端点并实现屏幕跳转的方法咨询

我完全懂你的困惑!官方文档里确实提到了用data_exchange调用端点并返回下一个屏幕,但具体实现细节讲得太模糊了,我来给你拆解下关键步骤:

一、在Flow JSON里配置data_exchange触发动作

首先得在当前屏幕的交互元素(比如提交按钮)里,把动作类型设为data_exchange,指定你的后端端点地址,同时传递当前屏幕的用户输入数据。举个简单的配置示例:

{
  "screen": {
    "id": "user_info_screen",
    "elements": [
      {
        "type": "button",
        "text": "提交信息进入下一步",
        "action": {
          "type": "data_exchange",
          "endpoint": "https://你的后端域名.com/flow-handler",
          "method": "POST",
          "headers": {
            "Content-Type": "application/json"
          },
          "body": {
            "user_name": "{{user_info_screen.name_input.value}}",
            "user_phone": "{{user_info_screen.phone_input.value}}"
          }
        }
      }
    ]
  }
}

这里的{{屏幕ID.字段ID.value}}是Flow的模板语法,用来获取当前屏幕输入框的用户输入值,你可以根据自己的字段配置调整。

二、后端端点的响应是跳转核心

这一步是实现屏幕跳转的关键!你的后端接收到请求处理完成后,必须返回符合WhatsApp Flows规范的JSON响应,其中要明确指定跳转动作和目标屏幕:

举个正常跳转的响应示例:

{
  "action": {
    "type": "navigate",
    "screen_id": "order_confirm_screen",
    "data": {
      "greeting_text": "你好{{user_name}},请确认你的订单信息"
    }
  }
}
  • type固定为navigate,表示触发屏幕跳转动作
  • screen_id必须和你Flow JSON里定义的目标屏幕ID完全一致(大小写敏感)
  • data是可选字段,用来给目标屏幕传递预填充数据,目标屏幕可以用{{目标屏幕ID.字段名}}来引用这些数据

如果需要处理错误场景,也可以返回错误提示动作:

{
  "action": {
    "type": "show_error",
    "message": "信息验证失败,请检查手机号格式后重试"
  }
}

三、常见踩坑点提醒

  • 后端响应的Content-Type必须是application/json,否则Flow无法解析
  • 目标屏幕ID一定要和Flow配置里的完全匹配,别打错字
  • 确保后端端点能被WhatsApp的服务器正常访问(不要有防火墙或地域限制)

你之前尝试的代码如果没成功,可以先检查这几个点:是不是后端响应格式不符合要求?屏幕ID有没有写错?或者data_exchange的配置里有没有正确传递用户数据?

备注:内容来源于stack exchange,提问作者Mattia Ferigutti

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.17 09:33:15