WhatsApp验证码与短信验证码:成本、送达与回退
WhatsApp验证码与短信验证码对比:成本模型、送达率、用户体验、身份验证模板、WhatsApp到短信的回退设计,以及防刷与反欺诈控制,帮助出海产品选对验证渠道。
作者: OmniChannels.ai Editorial Team · 审阅: BroadNet Messaging Solutions Team
简短回答
当用户活跃在WhatsApp上,并且您希望使用复制验证码、一键或零点击体验的身份验证模板时,请使用WhatsApp验证码;当需要触达没有应用或网络数据的任何手机时,请使用短信验证码。大多数生产系统会先通过WhatsApp发送验证码,短暂等待后再回退到短信。成本因国家和按消息定价而异,请用您自己的发送量对两者分别测算。
本页内容
要点速览
- WhatsApp验证码使用已获批的身份验证模板,由Meta按送达条数收费;短信验证码则按线路和目的地、依分段计费,因此应按国家比较,而不是笼统比较。
- 短信可以触达任何有信号的手机,而WhatsApp要求用户安装了WhatsApp并有数据连接。
- 身份验证模板支持复制验证码、一键和零点击三种投递方式;API将其暴露为deliveryMode,取值为COPY_CODE、ONE_TAP或ZERO_TAP。
- WhatsApp优先、短信回退的流程能在成本与触达之间取得平衡,但必须限制回退次数,以免消息翻倍并招致滥用。
- 两种渠道都是流量虚增欺诈的目标,所以请按号码和按IP限制频率,并在发送前验证号码。
本指南面向选择如何投递一次性验证码(OTP)的产品与工程团队:通过WhatsApp、通过短信,还是两者兼用。内容比较成本模型、触达范围、用户体验和欺诈风险,说明身份验证模板,并展示如何构建WhatsApp优先、短信回退的流程。关于更广泛的安全全景,请参阅我们的验证码与身份验证消息指南。
WhatsApp验证码和短信验证码有什么区别?
短信验证码是通过移动网络,把验证码作为短信发送到任何手机号码。WhatsApp验证码则是通过互联网,把验证码作为身份验证模板消息发送到用户的WhatsApp账号。两者都投递一个短时效的验证码,由用户输入或点击来确认号码。
| WhatsApp验证码 | 短信验证码 | |
|---|---|---|
| 触达范围 | 有WhatsApp并有数据连接的用户 | 任何有移动信号的手机 |
| 消息类型 | 已获批的身份验证模板 | 纯文本消息 |
| 发送方身份 | 您已验证的WhatsApp企业资料 | 发件人ID或号码,受各国规则约束 |
| 用户体验 | 复制验证码、一键自动填充或零点击 | 手动输入,或在支持的系统上自动填充 |
| 计费基础 | 按送达的身份验证消息、依市场计费(Meta) | 按分段、依线路和目的地计费 |
| 审核 | 模板由Meta审核 | 许多国家需注册发件人ID |
| 漫游与无数据 | 需要联网 | 无数据也能使用 |
| 状态 | SUBMITTED、SENT、DELIVERED、READ、FAILED、REJECTED | SUBMITTED、SENT、DELIVERED、FAILED、REJECTED |
两种渠道都没有普遍的优劣。正确的选择取决于您的用户、目的地和风险。
成本模型有何不同?
请按国家和每次成功验证来比较,而不是按每条消息。Meta在WhatsApp Business平台上按送达的消息,依模板类别和收件人所在市场收费,身份验证是自成一类的类别。短信成本则取决于目的地、线路和分段数。
会改变算术结果的几点:
- **分段。**阿拉伯语短信属于Unicode,所以措辞较长的验证码可能跨越两个分段(根据3GPP TS 23.040,单条70个字符,拆分后每段67个)。请让验证码文案保持简短。
- **失败的尝试。**Meta对送达的消息收费,而短信计费取决于您的线路条款。请询问失败时如何计费。
- **回退量。**如果10%的WhatsApp发送回退到了短信,那么这些情况下您要为两者都付费。
- **服务商费用。**您的服务商可能加收费用。我们的WhatsApp按Meta的费率收取、不加价,短信则按目的地定价。
不要把博客里的价格填进商业论证。请使用各国WhatsApp价格、短信价格页面、WhatsApp价格计算器和成本估算工具,然后在Meta现行费率表中确认,因为Meta会按计划调整费率。
哪个送达更好、用户体验更好?
短信触达的人更多;WhatsApp在可用时感觉更快。短信只需要信号,而WhatsApp需要应用、该号码上的账号和数据。两者的送达都取决于运营商、线路和过滤,我们不作普遍的速度声明。
当模板支持时,WhatsApp上的用户体验更好:
- **复制验证码:**用户点击一个按钮即可复制验证码。
- **一键自动填充:**点击一次后,验证码自动填入您的应用。
- **零点击:**在设备支持的情况下,无需点击即可自动填入验证码。
在短信上,自动填充取决于操作系统以及消息的格式,因此请在真实设备上测试。对于阿拉伯语用户,请确保验证码在从右到左的文本中清晰可读。在您的产品中承诺零点击之前,请查看Meta的身份验证模板文档,了解当前的设备和应用要求。
如何通过API创建身份验证模板?
以类别AUTHENTICATION创建,并选择投递方式。在我们的API中,POST /whatsapp/template接受multipart字段;以下是与验证码相关的重要字段。
| 字段 | 值 |
|---|---|
name |
小写的模板名称,在您的账户中唯一 |
languageType |
语言代码,例如en_US或ar |
category |
AUTHENTICATION |
templateType |
OTP |
deliveryMode |
COPY_CODE、ONE_TAP或ZERO_TAP |
codeExpirationMinutes |
向用户显示的有效期(可选) |
新模板在Meta批准之前一直处于PENDING状态。身份验证模板的结构由Meta固定,因此首个模板的其余字段,请在WhatsApp API参考中并与我们的团队确认。审核是Meta的决定,我们不对时间作出承诺。
如何在每个渠道上发送验证码?
在WhatsApp上,发送已获批的模板,并把验证码作为正文变量。对于复制验证码按钮,请在buttonsTemplateVariable中传入相同的验证码。
curl -X POST https://api.broadnet.me/whatsapp/message/sendbulk \
-H "Authorization: Bearer $BROADNET_TOKEN" \
-F batchId=0 \
-F destinationNo=971500000000 \
-F messageType=TEMPLATE \
-F templateName=login_code \
-F templateLanguage=en_US \
-F bodyTemplateVariables=482913 \
-F buttonsTemplateVariable=482913
这里的login_code是您自己已获批身份验证模板的占位符。在短信上,请用JSON调用POST /sms/sendSms:
curl -X POST https://api.broadnet.me/sms/sendSms \
-H "Authorization: Bearer $BROADNET_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"senderId": "OmniDemo",
"destinationNumber": "971500000000",
"message": "Your OmniDemo code is 482913",
"messageType": "TEXT"
}'
请注意区别:WhatsApp使用multipart表单数据并返回batchId;短信使用JSON并以纯文本返回消息ID。完整示例见我们关于通过API发送WhatsApp的指南和通过API发送短信。
如何构建WhatsApp优先、短信回退的投递?
先在WhatsApp上发送,等待状态,必要时再通过短信发送一次。我们的状态在各渠道之间是统一的,所以同一个处理程序可以同时驱动两者。
- 在服务器上**生成验证码,**只存储带有效期的哈希,并限制尝试次数。
- **发送WhatsApp模板,**并记录
batchId和您自己的操作ID。 - 根据用户的耐心,在您选定的时间窗口内,等待Webhook上的
DELIVERED。 - **如果
FAILED、REJECTED或未能及时送达,**让第一个验证码失效,生成新的验证码并发送短信。 - 按号码和按会话限制回退次数。
- **记录哪个渠道成功,**以便按国家调整顺序。
超时后避免盲目重试,因为该API没有幂等键;请按错误与限制中所述,先检查状态再重发。渠道顺序在OmniChannels.ai中按使用场景配置,总体设计见我们的渠道回退策略。关于Webhook处理,请参阅Webhook指南。语音验证码是另一个回退步骤;请参阅语音验证码指南,语音价格请联系销售。
欺诈和滥用有何不同?
两种渠道都会招来滥用,所以请在上线前建立控制措施。短信有一个众所周知的问题:攻击者向他们从中获利的号码触发验证码,虚增您的流量。WhatsApp也并非免疫,因为任何按请求发送消息的端点,都可能被滥用来产生成本或骚扰某个号码。
适用于两者的控制措施:
- 按手机号码、IP地址、设备和账号限制验证码请求的频率。
- 发送前**验证号码;**请参阅HLR查询。
- **限制回退,**使攻击者无法让每次请求触发两条消息。
- **观察转化:**请求很多而完成验证的很少,是一个警告信号。
- 屏蔽您不服务的目的地。
- **短有效期和有限的尝试次数,**且不重复使用验证码。
请阅读短信泵送欺诈防范,并使用欺诈计算器估算风险敞口。根据NIST SP 800-63B-4,带外验证码是一种有已知局限的认证器类型,因此对付款或账户找回等高风险操作,请使用更强的方法。
我应当选择哪个?
按受众和风险决定,然后测试。
| 情形 | 建议的做法 |
|---|---|
| 用户主要在WhatsApp上,应用型产品 | WhatsApp优先,短信回退 |
| 混合受众,许多人没有数据 | 短信优先或仅短信 |
| 高风险交易 | 验证码加更强的验证因素;不要单独依赖任何一种 |
| 漫游或数据条件差的用户 | 短信 |
| 需要应用内一键自动填充 | WhatsApp身份验证模板 |
| 某个市场需严格控制成本 | 针对该国对两者进行比较 |
实战示例:海湾地区的类网约车应用
“Rafiq Rides”(虚构)在阿联酋、沙特阿拉伯和埃及验证新的司机和乘客账号。
- **设计:**首选带复制验证码的WhatsApp身份验证模板;短暂等待仍没有
DELIVERED状态时,回退到短信。 - **控制:**每个号码每小时三次验证码请求、每个IP的限制、首次发送前的号码验证,以及每个会话一次回退。
- **衡量:**短时间内完成的验证,按渠道和国家拆分;失败和回退的占比。
- **调优:**在某个WhatsApp送达较弱的国家,团队把顺序调换为短信优先。
- **成本:**按国家用价格工具测算,并每月对照实际发送量复查。
常见错误有哪些?
- **比较一个全球价格,**而不是按国家和每个已验证用户比较。
- **同时通过两个渠道发送,**使成本和被滥用面翻倍。
- 无限制的重新发送按钮。
- 回退后复用旧的验证码。
- 记录验证码或把它放在URL中发送。
- WhatsApp渠道没有用户同意记录。
- **到处承诺零点击。**请核对当前的设备支持情况。
- **局限:**本指南描述的是机制。送达、成本和设备支持因国家、线路和Meta的规则而异,应在您的市场中测试。
OmniChannels.ai 如何提供帮助
OmniChannels.ai在一个API中涵盖这两个渠道:作为Meta官方Business Solution Provider的WhatsApp身份验证模板(一键、零点击和复制验证码),以及通过BroadNet运营商直连的A2P短信,渠道回退按使用场景配置,状态统一为一种Webhook格式。我们的团队与您一起准备发件人ID和WhatsApp注册;审批仍由Meta和监管机构决定。请查看验证码解决方案、验证码短信API和开发者文档。
常见问题
WhatsApp验证码比短信验证码便宜吗?
取决于目的国和您的服务商。Meta按送达条数、依收件人市场对身份验证模板收费,而短信则按线路上的分段计费。在有些市场其中一个更便宜,在另一些市场则相反。不要依赖笼统的说法:请用我们的价格工具和您的真实发送量对两者分别测算。
WhatsApp验证码比短信验证码更安全吗?
两者单独都不是强认证手段。WhatsApp验证码避免了消息本身遭遇短信网络SIM卡劫持(SIM-swap)的风险,但账号仍可能被接管,用户也可能被钓鱼而分享验证码。两者都是发送到某个渠道的一次性验证码。对高风险操作,请使用较短的有效期、有限的尝试次数和更强的验证因素。
什么是WhatsApp身份验证模板?
它是属于Meta身份验证类别的模板,仅用于一次性验证码。投递方式可以是复制验证码、一键自动填充或零点击。模板需要Meta审核,且结构固定。在我们的API中,您以AUTHENTICATION类别创建模板,并将deliveryMode设为COPY_CODE、ONE_TAP或ZERO_TAP。
什么时候应当从WhatsApp回退到短信?
当WhatsApp消息失败、被拒绝,或在您设定的短暂等待时间内(例如用户合理愿意等待的时间)没有达到已送达状态时。请限制每个号码和每个会话的回退次数,在发送第二个验证码时让第一个验证码失效,并记录哪个渠道成功。
验证码消息需要事先同意吗?
WhatsApp需要,因为Meta的政策要求用户同意接收来自企业的消息。通常用户提供号码并请求验证码,这是一个明确的行为,而且您的条款和隐私声明应当说明所用渠道。短信规则因国家而异,请核对您的目的地的发件人ID和用户同意要求。
验证码可以同时通过两个渠道发送吗?
可以,但很少明智。同一个验证码发送两次会使成本翻倍、让用户困惑,并扩大被滥用的范围。更好的做法是依次投递:先试首选渠道,等待状态,然后只回退一次。如果有数据,请按用户偏好或国家数据选择渠道。
资料来源
继续阅读
更多指南WhatsApp
2026年WhatsApp Business API免费消息:哪些不收费
2026年WhatsApp Business API哪些消息免费:每个号码每月1,000条免费服务消息、72小时的免费入口窗口,以及哪些消息要收费,帮助企业准确测算成本。
9 分钟阅读
WhatsApp
2026年WhatsApp Business API变化:时间线与应对
2026年WhatsApp Business API变化时间线:费率表调整、10月1日起服务消息与实用型模板计费、Embedded Signup v2弃用、AI服务商条款,并给出各角色应采取的行动。
10 分钟阅读
短信与验证码
如何降低验证码短信成本:9 个有效做法
如何降低验证码短信成本:遏制短信盗刷和无效发送,优先使用 WhatsApp 身份验证并以短信兜底,并以“每位已验证用户成本”衡量效果。
10 分钟阅读
