用于测试的 Facebook 短信验证:一次性号码,还是长期持有的号码

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

团队可以这样通过 OTP Route 接收 Facebook 验证码:在 OTP Gateway 中为 facebook 服务订购一个一次性号码,填入 Facebook 要求输入手机号的位置,再在控制台中,或通过 API 和签名 Webhook 读取验证码。每个验证码 $0.20 起,如果 20 分钟内没有收到短信,费用会自动退回。

第一个决定:这个 Facebook 账号以后还会用到这个号码吗?

Facebook 把手机号与账号绑定的用途不止首次注册,所以下单之前先选好产品。

  • 验证一次就完事。 你在测试注册流程、检查应用在 Facebook 登录之后的表现,或确认本地化效果。OTP Gateway 的一次性号码就合适;它只接收一个验证码,随后失效。
  • 需要持续登录的账号。 比如你自己业务的长期主页管理员登录、QA 团队每个迭代都会回来使用的共享预发布账号,或团队管理账号的恢复号码。Facebook 可能在这些时刻随时发来新的验证码,而一次性号码届时已不再属于你。请改用专属虚拟号码(Dedicated Virtual Number):仅限美国和加拿大,每月 $1.95 起,收到的短信会显示在控制台,也会推送到你的 Webhook。

虚拟号码页面列出了专属号码包含的内容。美国和加拿大之外,目前没有自助的长期方案。

Facebook 什么时候会发送短信验证码?

Facebook 在几个众所周知的环节使用手机验证:用手机号而不是邮箱注册、确认添加到现有个人主页的号码、选择短信作为第二步的双重验证,以及账号被锁定时的账号恢复。在异常登录之后,它也可能要求确认。如果你的产品依赖 Facebook 账号,这些都是值得分别覆盖的测试用例。

Facebook 的虚拟号码可以来自哪些国家?

Facebook 目前可在 199 个国家路由。团队常选的有:美国、巴西、印度、尼日利亚、菲律宾、德国,以及墨西哥、印度尼西亚、埃及、土耳其、越南、巴基斯坦、法国、英国、肯尼亚和阿尔及利亚。

国家很重要。Facebook 可能根据号码所在地区本地化语言和提示,所以请用你的用户实际所在的市场来测试。为巴西发布创建的账号,应当用巴西号码验证,而不是挑当下最便宜的线路。

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

使用开发者控制台中的 Bearer 密钥(前缀 or_live_)调用 https://otproute.com/api/v1。服务 id 是 facebook;国家 id 是 api_country 的值,例如 br 或 ng。

  1. 用 GET /api/v1/prices?country=br&service=facebook 查看实时价格和可用情况。
  2. 创建激活:以 {"service": "facebook", "country": "br"} 调用 POST /api/v1/activations。
  3. 将返回的号码填入测试中的 Facebook 手机号输入框。
  4. 监听 activation.sms_received 事件,或退而求其次,每隔几秒轮询一次 GET /api/v1/activations/{id}。
  5. 如果测试中止,调用 POST /api/v1/activations/{id}/cancel。

在 Webhook 一侧,请用端点密钥对 <t>.<raw body> 计算 HMAC-SHA256 来校验 X-OTPRoute-Signature(t=<unix>,v1=<hex>),拒绝过期的时间戳,并以 activation id 为键让处理程序具备幂等性;投递可能重复。每个账号有 10 个密钥、5 个 Webhook 端点,每分钟 300 次请求。请求量较低时,轮询也是不错的替代方案。参考处理程序见基于 Webhook 的验证码捕获。

在控制台中获取 Facebook 验证码

非开发者也可以手动完成:打开 OTP Gateway,选择 Facebook,再选一个国家,确认显示的价格并下单。把号码复制到 Facebook,然后在控制台里观察激活;短信到达后,验证码就会出现。如果改变主意,可以取消,金额会退回钱包。

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

可能的原因有好几种:Facebook 可能在某个流程中拒绝虚拟号码,也可能是线路拥堵。20 分钟的有效期和退款机制保障了资金:只有验证码送达才收费,否则全额金额会自动退回钱包。

接下来可以这样做:

  • 让有效期走完,不要过早取消;
  • 稍后重试,或换一个仍符合测试用例的国家线路;
  • 避免在紧凑的循环中反复下单,这对谁都没有好处;
  • 对于必须长期保留的账号,改用美国或加拿大的专属号码。

负责任地使用 Facebook 手机号

Facebook 的条款要求每个真实的人只有一个个人账号,企业形象则通过与真实人员相关联的主页和商业工具来呈现。请用 OTP Route 测试你自己产品的验证流程、对贵组织拥有的账号做 QA,或在业务登录中保护员工的个人号码。不要为并不存在的人创建账号,也不要绕开 Facebook 对账号施加的限制。OTP Route 与 Facebook 没有任何关联,该名称是其所有者的商标,OTP Route 的《可接受使用政策》适用于每一笔订单。两种产品的价格见价格页面。

常见问题

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

可以,限于单次验证。在 OTP Gateway 中为 facebook 服务订购一个号码,然后在控制台或通过 API 读取验证码。

OTP Route 上 Facebook 手机号的价格是多少?

一次性验证码每个 $0.20 起;API 的价格接口会显示每个国家的确切金额。美国/加拿大的专属号码每月 $1.95 起。

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

不会。Facebook 可能在某些流程中拒绝虚拟号码,所以如果 20 分钟内没有收到验证码,你会被自动退款。

以后还能重新登录同一个 Facebook 账号吗?

只有在你仍然掌控该号码的情况下才可以。为此,请使用美国或加拿大的专属虚拟号码,而不是一次性激活。

能在 CI 任务中进行 Facebook 短信验证测试吗?

可以。从流水线创建激活,通过签名 Webhook 接收验证码,并在开发账号上使用沙盒模式,在不花钱的情况下预演整套接线。

做 Facebook 测试应该选哪个国家?

选你的用户所在的国家。Facebook 会按地区本地化提示和检查,所以匹配的国家线路能给出最贴近现实的结果。

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

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

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