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

NodeJS后端如何在WhatsApp Flow中获取用户wa_id、手机号等信息?

解决WhatsApp Flow启动时无法获取用户身份信息的问题

核心思路

Flow启动请求本身不会主动携带用户身份元数据,必须通过初始消息上下文+按钮Payload传参的方式关联用户信息,具体步骤如下:


1. 存储初始"Hi"消息的用户身份信息

当用户发送"Hi"时,你的Webhook会收到WhatsApp推送的消息请求,里面包含wa_id(用户唯一ID)、from(用户手机号)、wamid(消息唯一ID)这些关键字段。此时把这些信息和一个会话标识绑定存储,生产环境推荐用Redis这类持久化键值缓存,测试阶段可用内存缓存。

NodeJS示例代码(Express + Redis):

const express = require('express');
const redis = require('redis');
const client = redis.createClient(); // 按需配置Redis连接参数

const app = express();
app.use(express.json());

// 处理WhatsApp Webhook消息接收
app.post('/webhook', async (req, res) => {
  const message = req.body.entry[0].changes[0].value.messages[0];
  if (message.body.toLowerCase() === 'hi') {
    const waId = message.from; // 用户wa_id/手机号
    const wamid = message.id; // 消息唯一ID,用作会话标识
    // 存储用户信息,设置24小时过期时间
    await client.setEx(`session:${wamid}`, 86400, JSON.stringify({ waId, phone: message.from }));
    
    // 发送带Flow启动按钮的消息模板,重点在按钮Payload
    const flowButtonPayload = { sessionId: wamid }; // 嵌入会话标识
    // 调用WhatsApp API发送消息,将按钮的action.payload设为JSON.stringify(flowButtonPayload)
  }
  res.sendStatus(200);
});

2. 在Flow启动按钮中嵌入会话标识

发送消息模板时,给启动Flow的按钮配置payload字段,把刚才存储的会话标识(比如wamid)传进去。用户点击按钮启动Flow时,WhatsApp会把这个payload原封不动地传给你的Flow后端。

3. 从Flow启动请求中恢复用户信息

用户点击按钮后,Flow后端会收到启动请求,从请求体的payload字段取出会话标识,再去缓存中获取对应的用户信息。

NodeJS示例代码:

// 处理Flow启动请求
app.post('/flow/start', async (req, res) => {
  const flowPayload = JSON.parse(req.body.payload); // 解析按钮传来的Payload
  const sessionKey = `session:${flowPayload.sessionId}`;
  const userInfo = await client.get(sessionKey);
  
  if (!userInfo) {
    return res.json({ error: '会话已过期,请重新发送Hi' });
  }
  
  const { waId, phone } = JSON.parse(userInfo);
  // 现在可使用waId和phone进行后续数据交互
  res.json({
    type: 'form',
    fields: [{ type: 'phone', label: '手机号', value: phone, readOnly: true }]
  });
});

4. 可选:身份验证增强

若担心会话标识被篡改,存储用户信息时可同时存入签名(比如用waId + 自定义密钥生成HMAC),Flow启动时验证签名,确保用户身份未被伪造。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 16:31:01