无需占用员工手机,也能接收 WhatsApp 验证码

OTP Gateway,每条验证码低至 $0.20198 个国家API 标识: whatsapp美国/加拿大专属号码,$1.95/月起
快速解答

要通过 OTP Route 接收 WhatsApp 验证码,请在 OTP Gateway 中为所需国家订购 WhatsApp 服务的号码,将号码填入 WhatsApp 注册页面,然后在控制台或 Webhook 中读取验证码。验证码 $0.20 起;如果在 20 分钟的有效期内没有收到短信,费用会退回钱包。

为什么团队会需要一个没人专属持有的 WhatsApp 号码?

这种场景并不陌生:产品团队正在基于 WhatsApp 搭建客服流程,或测试应用如何把用户引导到聊天窗口,总得有人注册一个账号。最省事的办法是借用同事自己的手机,但这会把业务配置绑在某位员工的 SIM 卡上,让测试流量与其私人聊天混在一起,而且那位员工一离职就会出问题。

为客户配置 WhatsApp 的代理机构会遇到同样的障碍,需要在特定市场里建测试账号、以观察本地化注册流程表现的 QA 工程师也是如此。使用 OTP Gateway 的 WhatsApp 手机号,可以让这项工作不再占用任何人的私人号码:选好国家,接收注册验证码,继续往下做即可。

WhatsApp 何时会要求手机验证码?

WhatsApp 以手机号识别每个账号,因此会在几个环节通过一次性验证码确认你是否掌控该号码:

  • 注册:新账号会通过短信收到六位验证码,WhatsApp 也可能提供语音来电作为替代方式。
  • 更换设备:重新安装或换到另一部手机会再次验证,原来的手机会被登出。
  • 商业账号:在某个号码上设置 WhatsApp Business 应用,同样要走这一步。
  • 两步验证:由用户自行设置的可选 PIN。它不会通过短信发送,但启用后会与验证码一同被要求输入。

对测试而言,要点很简单:短信只能证明你在那一刻持有该号码,所以一个你已不再持有的号码,之后就无法再次验证账号。

WhatsApp 验证码 API 的流程是怎样的?

使用服务 id whatsapp,并搭配被测市场的国家 id,例如 in、br 或 us。准备好开发者控制台中的 Bearer 密钥后:

  1. GET /api/v1/prices?country=<id>&service=whatsapp 返回实时价格,以及该线路当前是否开放。
  2. 使用 {"service": "whatsapp", "country": "<id>"} 调用 POST /api/v1/activations,预留一个号码并开始 20 分钟的有效期。
  3. 在 WhatsApp 注册页面输入该号码并请求短信。
  4. 验证码会以 activation.sms_received Webhook 事件送达,或者你每隔几秒轮询一次 GET /api/v1/activations/{id}。
  5. 如果这次测试被放弃,调用 POST /api/v1/activations/{id}/cancel 即可把金额退回钱包。

信任请求体之前,请先校验 X-OTPRoute-Signature:用该端点的密钥对 <t>.<raw body> 计算 HMAC-SHA256,与 v1 比较,并拒绝时间戳过旧的请求。然后按 activation id 记录该事件,使重复投递不会产生任何影响。当测试运行器无法暴露公网 URL 时,轮询是更简单的选择;两种方式都在开发者文档中有说明。

哪些国家提供 WhatsApp 号码?选择国家重要吗?

目前 WhatsApp 线路覆盖 198 个国家,其中包括印度、巴西、印度尼西亚、尼日利亚、德国,以及墨西哥、英国、美国、巴基斯坦、菲律宾、埃及、肯尼亚、西班牙、土耳其和南非。完整列表见国家页面。

请有针对性地选择国家。如果你的注册流程面向巴西用户,+55 号码能让你看到应用如何格式化、校验和展示本地号码;如果商业账号只服务某一个市场,就选择对应的市场。随便挑一个国家并不会省事,还可能让测试结果失去意义。

WhatsApp 验证码为什么可能收不到?

WhatsApp 自行决定向哪些号码发送短信,它可能直接拒绝用虚拟号码注册。出现这种情况时,激活不会收到任何内容,有效期结束后全额退回你的钱包;只有验证码真正到达时才会扣费。其他原因则比较寻常:线路繁忙、WhatsApp 要求你等一会儿再请求新验证码,或者选择了语音来电而不是短信。

可以这样做:

  • 让激活保持开放直到有效期结束,不要一分钟后就取消。
  • 确认注册页面请求的是短信,而不是来电。
  • 稍后重试;如果账号所属市场允许,也可以换一个国家线路。
  • 拉开尝试的间隔。快速循环地连续请求验证码,往往只会让情况变得更糟。

长期使用的 WhatsApp 账号应该用专属号码吗?

通常应该。OTP Gateway 号码只用于接收一个验证码;如果账号在换机或重装后需要再次验证,你就得拿回同一个号码。对于客服热线、共享的商业账号,或测试人员会连续使用数月的 QA 账号,专属虚拟号码(Dedicated Virtual Number)更合适。它们在美国和加拿大即时开通,每月 $1.95 起,从钱包自动续费,会把收到的短信以 number.sms_received 转发到你的 Webhook,并且可随时释放。除这两个国家之外,目前没有自助的长期号码,请发送邮件至 [email protected] 咨询。详情见虚拟号码页面。

没有 API 权限的人也能在控制台里完成吗?

可以。登录后,用银行卡或 USDT/USDC 为钱包充值,选择 WhatsApp 和国家,确认显示的价格并下单。把号码输入 WhatsApp,收到验证码后会显示在激活页面上。没有月费,也没有套餐,每次充值都会通过邮件附上 PDF 发票,退款规则与 API 中完全一致。想先演练集成的开发者,可以请支持团队将开发账号切换到沙盒,沙盒会用模拟的号码和验证码来测试 Webhook,不消耗资金。

怎样算负责任地使用 WhatsApp 号码?

OTP Route 的用途是测试和运营你自己的合法产品与账号。请遵守 WhatsApp 的服务条款,保持每个真实的人或企业只对应一个账号,不要利用线路批量注册账号、发送未经请求的消息,或在被封禁后重新回到该平台。OTP Route 的《可接受使用政策》适用于每一次激活。WhatsApp 是其所有者的商标,OTP Route 与其没有任何关联。

常见问题

没有 SIM 卡也能接收 WhatsApp 验证码吗?

可以。OTP Gateway 号码会接收 WhatsApp 的注册短信,并在控制台中显示验证码,或将其推送到你的 Webhook,全程不涉及实体 SIM 卡。

API 中 WhatsApp 的服务 id 是什么?

在 GET /api/v1/prices 和 POST /api/v1/activations 中,把服务设为 whatsapp,并搭配 in 或 us 之类的国家 id。

WhatsApp 会接受所有虚拟号码吗?

不会。WhatsApp 可能拒绝虚拟号码,这正是未收到验证码的激活会全额退回钱包的原因。

之后还能用同一个号码重新登录 WhatsApp 账号吗?

使用网关号码不行,它只覆盖一个验证码。如果账号之后还需要再次验证,请使用美国或加拿大的专属虚拟号码。

WhatsApp 验证号码要多少钱?

价格 $0.20 起,因国家而异。下单前,控制台和价格接口都会显示实时价格。

能否在 CI 流水线里做 WhatsApp 短信验证测试?

可以,限于你自己的测试账号。开发阶段请基于沙盒构建,然后谨慎调用线上线路,并在每次尝试之间加入退避。

服务名称均为其各自所有者的商标,OTP Route 与其无任何关联。请合法使用号码,并遵守各服务的条款及我们的可接受使用政策。

几分钟内路由您的第一条 OTP

创建免费账户,为美元钱包充值,然后在控制台或通过 API 订购号码。无月费。