登录号和客服号收到的入站消息通过 metadata.phone_number_id 区分,落到同一张 wa_inbound_messages(带 phone_number_id 列)。是否「已添加客服」严格按客服号的 Phone Number ID 统计,发给登录号的消息不计入。客服号与登录号在同一 Meta Business / 同一 Meta App 下,可复用同一 System User Token。
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 ID
2010663139854304
WhatsApp Business Account ID。
Phone Number ID
1158162724037776
Cloud 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 ID
2722826034801282
WhatsApp Business Account ID。
Phone Number ID
1204657329390185
Cloud API 发消息使用的号码 ID。
Meta Business ID
运营从 Meta 后台提供
用于账号归属确认。
Meta App ID
运营从 Meta 后台提供
用于 webhook 和权限确认。
Meta App Secret
运营通过安全方式提供
不要发群、不要写文档。
System User Access Token
运营通过安全方式提供
服务端调用 Cloud API 的凭证。
人工客服号(两个环境,已接入 Cloud API)
环境
显示号码
号码(去 +)
WABA ID
Phone Number ID
测试 id-test
+62 851-6815-5850
6285168155850
3232775950444594
1227019117161727
正式 id
+62 851-9966-4342
6285199664342
2443026896208114
1189780530883484
客服号与同环境登录号在同一 Meta Business / 同一 Meta App 下,可复用登录号的 System User Token(技术侧 SEAHUB_WHATSAPP_SUPPORT_ACCESS_TOKEN 留空即复用)。运营只需两步:① 把该客服号 WABA 的「回调地址覆盖(Override Callback URL)」指向对应环境的 /webhooks/whatsapp 并填该环境 Verify Token;② 订阅 messages 字段。客服号只接收、不发送模板,无需额外模板审批。
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 自动回复