返回文档导航
WhatsApp Business Operations

BeeX WhatsApp Business 运营配置说明

给中国运营同事在印尼使用:说明每个环境的两个业务号(登录/OTP 主号 + 人工客服号)如何配置、各自的应用场景,哪些信息要提供给技术,Webhook 和模板如何验证,避免 WABA、Phone Number ID、Token 混用。
更新时间 2026-06-18 适用 ID 测试 / ID 正式 图表统一使用 Mermaid 不在文档中保存 Token 明文
测试环境号码 +62 851-7842-6342 BeeX 印尼测试环境 id-test 使用,运营联调、开发测试、QA 验证都用这个。
正式线上号码 +62 851-6815-5794 BeeX 印尼正式环境上线后使用。需要运营确认付款方式、模板、Webhook、质量状态。
核心原则 一个环境一套 WA 配置 测试和正式不要共用同一个号码、token、WABA ID,避免测试消息影响线上用户。

一、WhatsApp 号码总表(号码 / 应用场景 / 环境)

每个正式业务环境有 两个号登录 / OTP 主号(发验证码、机器人自动回复、营销推送)和 人工客服号(用户「添加客服」用,只记录入站、不自动回复)。另有一个 Meta 官方诊断号,不接入业务。

环境用途 / 应用场景显示号码号码(去 +,用于 wa.me)WABA IDPhone Number ID
Meta 诊断 仅用于 Meta Cloud API 功能诊断,不接入 BeeX 业务、不给真实用户。 +1 555-643-8458 937291589132420 1121698924356818
测试 id-test 登录 / OTP 主号。登录验证码、支付密码验证码;机器人自动回复(hello、TikTok/Shopee 商品链接解析、订单/钱包查询);营销推送。用户入站与自动回复都走这个号。 +62 851-7842-6342 6285178426342 2010663139854304 1158162724037776
测试 id-test 人工客服号。App / H5「添加客服」按钮跳转的号码。系统只按此号记录入站消息来触发「已添加客服」奖励,不自动回复、不跑机器人 +62 851-6815-5850 6285168155850 3232775950444594 1227019117161727
正式 id 登录 / OTP 主号。登录验证码、支付密码验证码;机器人自动回复;营销推送。用户入站与自动回复都走这个号。 +62 851-6815-5794 6285168155794 2722826034801282 1204657329390185
正式 id 人工客服号。「添加客服」跳转号码。只按此号记录入站触发「已添加客服」奖励,不自动回复、不跑机器人 +62 851-9966-4342 6285199664342 2443026896208114 1189780530883484
登录号和客服号收到的入站消息通过 metadata.phone_number_id 区分,落到同一张 wa_inbound_messages(带 phone_number_id 列)。是否「已添加客服」严格按客服号的 Phone Number ID 统计,发给登录号的消息不计入。客服号与登录号在同一 Meta Business / 同一 Meta App 下,可复用同一 System User Token。
重要限制:一个号码如果接入 WhatsApp Cloud API,就不能同时登录在手机上的 WhatsApp App 或 WhatsApp Business App。否则可能出现 webhook 收不到消息、API 发送失败、号码状态异常等问题。

二、环境架构与账号隔离

flowchart LR
  OPS["运营
Meta Business / WhatsApp Manager"]:::ops META["Meta Cloud API
graph.facebook.com/v25.0"]:::meta subgraph TEST["BeeX ID 测试环境 id-test"] WABA_TEST["登录/OTP 号 · WABA 2010663139854304
Phone Number ID 1158162724037776
+62 851-7842-6342"]:::wa SUP_TEST["客服号 · WABA 3232775950444594
Phone Number ID 1227019117161727
+62 851-6815-5850"]:::sup API_TEST["api-id-test.beexofficial.com
/webhooks/whatsapp"]:::api end subgraph PROD["BeeX ID 正式环境 id"] WABA_PROD["登录/OTP 号 · WABA 2722826034801282
Phone Number ID 1204657329390185
+62 851-6815-5794"]:::wa SUP_PROD["客服号 · WABA 2443026896208114
Phone Number ID 1189780530883484
+62 851-9966-4342"]:::sup API_PROD["api-id.beexofficial.com
/webhooks/whatsapp"]:::api end OPS --> META META --> WABA_TEST META --> SUP_TEST META --> WABA_PROD META --> SUP_PROD WABA_TEST -->|"回调覆盖 → 测试 URL"| API_TEST SUP_TEST -->|"回调覆盖 → 测试 URL"| API_TEST WABA_PROD -->|"回调覆盖 → 正式 URL"| API_PROD SUP_PROD -->|"回调覆盖 → 正式 URL"| API_PROD classDef ops fill:#fff7ed,stroke:#fb923c,color:#9a3412; classDef api fill:#eff6ff,stroke:#3b82f6,color:#1d4ed8; classDef wa fill:#fef3c7,stroke:#e07c00,color:#7a4f24,stroke-width:2px; classDef sup fill:#ecfeff,stroke:#0891b2,color:#155e75,stroke-width:2px; classDef meta fill:#f5f3ff,stroke:#8b5cf6,color:#5b21b6; classDef user fill:#f0fdf4,stroke:#15803d,color:#166534;
测试环境和正式环境可以属于同一个 Meta Business,但建议使用不同 WABA / 不同 Phone Number / 不同 Token。至少必须做到:Webhook 地址、Phone Number ID、Token、模板可见性都能按环境独立验证。

三、运营需要提供给技术的配置

测试环境 id-test

配置项说明
官方显示号码+62 851-7842-6342给测试用户看到的号码。
官方号码,去掉加号6285178426342用于 WhatsApp deep link / wa.me 链接。
WABA ID2010663139854304WhatsApp Business Account ID。
Phone Number ID1158162724037776Cloud API 发消息使用的号码 ID。
Meta Business ID运营从 Meta 后台提供用于账号归属确认。
Meta App ID运营从 Meta 后台提供用于 webhook 和权限确认。
Meta App Secret运营通过安全方式提供不要发群、不要写文档。
System User Access Token运营通过安全方式提供服务端调用 Cloud API 的凭证。

正式线上环境

配置项说明
官方显示号码+62 851-6815-5794真实用户上线后使用的号码。
官方号码,去掉加号6285168155794用于 WhatsApp deep link / wa.me 链接。
WABA ID2722826034801282WhatsApp Business Account ID。
Phone Number ID1204657329390185Cloud API 发消息使用的号码 ID。
Meta Business ID运营从 Meta 后台提供用于账号归属确认。
Meta App ID运营从 Meta 后台提供用于 webhook 和权限确认。
Meta App Secret运营通过安全方式提供不要发群、不要写文档。
System User Access Token运营通过安全方式提供服务端调用 Cloud API 的凭证。

人工客服号(两个环境,已接入 Cloud API)

环境显示号码号码(去 +)WABA IDPhone Number ID
测试 id-test+62 851-6815-5850628516815585032327759504445941227019117161727
正式 id+62 851-9966-4342628519966434224430268962081141189780530883484
客服号与同环境登录号在同一 Meta Business / 同一 Meta App 下,可复用登录号的 System User Token(技术侧 SEAHUB_WHATSAPP_SUPPORT_ACCESS_TOKEN 留空即复用)。运营只需两步:① 把该客服号 WABA 的「回调地址覆盖(Override Callback URL)」指向对应环境的 /webhooks/whatsapp 并填该环境 Verify Token;② 订阅 messages 字段。客服号只接收、不发送模板,无需额外模板审批。
安全要求:Access Token、App Secret 不要发普通群,不要截图公开展示,不要写入飞书文档、GitHub 或代码仓库。只通过公司约定的安全方式交给技术配置。

四、Webhook 配置

sequenceDiagram
  autonumber
  participant O as 运营 Meta 后台
  participant M as Meta Webhook Verify
  participant B as BeeX API
  participant D as BeeX DB
  O->>M: 填 Callback URL + Verify Token
  M->>B: GET /webhooks/whatsapp?hub.challenge=...
  B-->>M: 返回 hub.challenge
  O->>M: 订阅 messages 等字段
  participant U as 用户 WhatsApp
  U->>M: 给 BeeX 官方号发消息
  M->>B: POST /webhooks/whatsapp
  B->>D: wa_inbound_messages 幂等落库
  B->>B: 识别登录 / 邀请 / 商品链接 / 命令
  B-->>M: 200 OK
  B->>M: sendText / sendTemplate
  M-->>U: BeeX 自动回复

测试环境 Callback URL

https://api-id-test.beexofficial.com/webhooks/whatsapp

正式环境 Callback URL

https://api-id.beexofficial.com/webhooks/whatsapp
多号路由(保证环境隔离):同一个 Meta App 下每个环境有登录号 + 客服号两个 WABA。App 级 Callback URL 只填一个默认值即可,其余每个 WABA 都用「回调地址覆盖(Override Callback URL)」单独指向本环境 URL:测试的两个 WABA 都指向 api-id-test,正式的两个 WABA 都指向 api-id。这样即使共用一个 Meta App,测试消息也不会串到正式库。服务端按入站 metadata.phone_number_id 判断是登录号还是客服号。

Verify Token

Verify Token 由技术同事生成并提供给运营。运营在 Meta 后台填写时,必须和技术配置的 SEAHUB_WHATSAPP_VERIFY_TOKEN 完全一致。

需要订阅的 Webhook 字段

字段作用
messages用户给 BeeX 官方号发消息时,系统才能收到。
message_template_status_update模板审核状态变化通知。
account_update账号状态变化通知。
phone_number_name_update号码名称状态变化通知。

五、消息模板配置

flowchart TD
  OPS["运营创建模板
Meta WhatsApp Manager"]:::ops --> LANG{"语言是否为 id?"}:::decision LANG -->|"否"| FIX_LANG["补充印尼语 id 版本"]:::warn LANG -->|"是"| APPROVE{"状态 Approved?"}:::decision APPROVE -->|"否"| WAIT["等待审核 / 修改模板"]:::warn APPROVE -->|"是"| TECH["技术用当前环境 WABA 测试发送"]:::api TECH -->|"返回 wamid"| OK["模板可用"]:::ok TECH -->|"132001"| MISS["当前 WABA 下模板不可见
检查模板名 / 语言 / WABA / 审核状态"]:::warn classDef ops fill:#fff7ed,stroke:#fb923c,color:#9a3412; classDef decision fill:#fef3c7,stroke:#e07c00,color:#7a4f24,stroke-width:2px; classDef api fill:#eff6ff,stroke:#3b82f6,color:#1d4ed8; classDef ok fill:#f0fdf4,stroke:#15803d,color:#166534; classDef warn fill:#fff5f5,stroke:#dc2626,color:#991b1b;
模板名语言用途必须确认
login_code_idid登录验证码、手机号验证码测试和正式 WABA 下都要 Approved。
edit_password_idid设置或修改支付密码验证码测试和正式 WABA 下都要 Approved。
常见错误 132001 Template name does not exist in the translation 通常表示:当前 WABA 下没有这个模板、模板名字不一致、没有 id 语言版本,或者模板尚未审核通过。

六、配置完成后的测试步骤

1
Webhook 验证

Meta 后台点击 Verify。失败时检查 Callback URL、Verify Token、服务部署、HTTPS。

2
入站消息测试

用个人 WhatsApp 给 BeeX 官方号发 hello beex 或 TikTok / Shopee 商品链接。技术确认 webhook、wa_messages、自动回复。

3
WhatsApp 登录测试

App/H5 点击 WhatsApp 登录,打开 WA,用户发送登录码,BeeX 官方号回复登录成功或返回 App 链接。用户回到 App 后,App 消费已验证的登录码并完成登录;页面停留在后台时不持续轮询。

4
模板验证码测试

分别测试 login_code_idedit_password_id。成功时 Meta 返回 wamid,失败时按错误码排查。

七、文档图表规范:架构图和流程图统一使用 Mermaid

记录:BeeX PRD 文档站里的架构图、流程图、时序图统一使用 Mermaid。页面直接引用本地 ./assets/mermaid.min.js,图源码写在 <pre class="mermaid"> 中,便于 AI 和团队成员后续直接修改,不再用截图当流程图。
图类型推荐 Mermaid 类型使用场景
架构图flowchart LR / flowchart TD环境隔离、服务分层、系统模块关系。
业务流程图flowchart TD运营配置、用户登录、订单同步、活动编排。
接口时序图sequenceDiagramWebhook、OAuth、支付回调、平台订单拉取。
状态流转stateDiagram-v2订单状态、提现状态、券状态、账号状态。
<script src="./assets/mermaid.min.js"></script>
<pre class="mermaid">
flowchart TD
  A["开始"] --> B["处理"]
  B --> C["完成"]
</pre>
<script>
  mermaid.initialize({ startOnLoad:true, theme:"base", securityLevel:"loose" });
</script>

八、正式上线前检查清单

检查项要求负责人
正式登录号+62 851-6815-5794(WABA 2722826034801282 / Phone Number ID 1204657329390185运营
正式客服号+62 851-9966-4342(WABA 2443026896208114 / Phone Number ID 1189780530883484)已接入 Cloud API,回调覆盖指向 api-id运营 + 技术
添加客服奖励用户给正式客服号发消息后,wa_inbound_messages 有记录且 phone_number_id=1189780530883484,「已添加客服」任务/奖励正确触发。QA + 技术
付款方式正式环境已经配置有效付款方式。运营
手机 App 登录正式号码未登录 WhatsApp App / WhatsApp Business App。运营
Webhook正式环境指向 https://api-id.beexofficial.com/webhooks/whatsapp运营 + 技术
模板login_code_idedit_password_id 在正式 WABA 下均为 Approved,语言为 id运营
Token正式环境配置正式 Token,测试环境配置测试 Token,不能混用。技术
回归测试登录、商品链接自动回复、订单查询、钱包查询、支付密码验证码均通过。QA + 技术