企业专属用户 ID
通过企业专属用户 ID(BSUID),您无需知道电话号码就能向 WhatsApp 用户发送消息。它用于在您的 Meta 业务资产组合内识别用户。
WhatsApp 用户名
设置了用户名的 WhatsApp 用户可以在不分享电话号码的情况下给您发消息。消息中会包含 from.bsuid,但可能没有 from.phone_number。未设置用户名的用户也可以有 BSUID。
如果用户在您的 Meta 通讯录中,或在过去 30 天内与您的企业号码互发过消息或通话,Meta 就会提供其电话号码。30 天规则分别适用于每个企业号码。
from.username 和 from.display_name 都是可选字段。您不能以这两个值为收件人发送消息。
BSUID 格式
BSUID 由大写的 ISO 3166 alpha-2 国家代码、一个句点和最多 128 个字母或数字组成。例如:US.13491208655302741918。
存储和发送时请保留完整原值。使用同一业务资产组合中的发送号码。Meta 会拒绝从其他资产组合发送的消息。
用户更换电话号码后,BSUID 也会改变,因此应将它保存在您自己的客户 ID 下。
父级 BSUID 可用于受管理企业注册的多个业务资产组合。它在国家代码后添加 ENT.:US.ENT.11815799212886844830。128 个字符的上限适用于 ENT. 后的部分。Bird 接受这两种格式。
请求电话号码
以下消息 API 示例只展示此次对话所需的字段。
{
"direction": "inbound",
"from": {
"bsuid": "US.13491208655302741918"
},
"to": {
"phone_number": "+14155550100"
},
"text": {
"body": "Can I book a repair?"
}
}{
"direction": "outbound",
"from": {
"phone_number": "+14155550100"
},
"to": {
"bsuid": "US.13491208655302741918"
},
"interactive": {
"type": "request_contact_info",
"body_text": "Share your number."
}
}{
"direction": "inbound",
"from": {
"bsuid": "US.13491208655302741918",
"phone_number": "+14155550101"
},
"contact_cards": [
{
"origin": "contact_request",
"phone_numbers": [
{
"phone_number": "+14155550101"
}
]
}
]
}如果用户关闭请求,您不会收到消息或 webhook。设置超时时间,以便应用在没有号码的情况下继续运行。
发送消息
将 to 设为 BSUID,将 from 设为您的 WhatsApp 企业号码:
{
"to": "US.13491208655302741918",
"from": "+14155550100",
"text": { "body": "Your repair is booked." }
}如果收到的消息只有 BSUID,请使用同一企业号码回复该 BSUID。您自己记录的电话号码可能没有开启服务窗口,因此会返回 422 E15044。
- 身份验证模板需要使用电话号码。
- 无效的电话号码或 BSUID 会返回
422E15001。 - 消息价格取决于 BSUID 中的国家代码。
客户服务窗口同样适用于 BSUID。202 响应表示 API 已接受您的请求。请检查消息状态以确认送达。
查找消息
在消息和 webhook 中,from 标识发送方,to 标识接收方。两者均可包含 phone_number、bsuid,或同时包含这两个字段。
列出消息时,可以使用以下筛选条件:
from或to:使用电话号码或 BSUID 筛选发送方或接收方。bsuid:查找发送给同一 WhatsApp 用户或从该用户收到的消息。
phone_number 筛选条件已弃用。请改用 from 或 to。