为什么喀麦隆在短信验证上是个独特的案例?
喀麦隆是官方双语国家。法语和英语都具有官方地位,大多数地区说法语,而西北和西南地区说英语。对产品团队来说,仅这一点就决定了大量 QA 工作:一个国家、两种界面语言,用户还可能在两者之间切换。
团队通常出于几个实际原因需要喀麦隆验证号码:
- 中非地区上线:喀麦隆常常是首批市场之一,需要单独做一次端到端的注册测试。
- 法语区与英语区本地化 QA:检查引导页面、错误提示和 OTP 输入框在两种语言下是否显示正确。
- 侨民客户:在国外注册,但仍把 +237 号码作为主要联系方式。
- 区域运营:员工需要验证企业账户,又不想暴露个人手机。
在所有这些情况下,目标都是一样的:证明你自己的验证流程能接受真实的喀麦隆号码,并且验证码能送到等待它的人或系统手中。
+237 号码如何书写、存储和规范化?
喀麦隆没有长途前缀,所以不存在需要去掉的前导零。国内号码为九位,手机号以 6 开头。用 E.164 表示就是 +237 加九位国内号码,不含空格或标点。
几个习惯可以让你的数据保持干净:
- 以 E.164 字符串作为标准值存储,只在渲染时才为显示做格式化。
- 输入时去掉空格、点和连字符,因为人们常常按两位或三位一组书写。
- 旧的 CRM 记录里可能还保留着该国升位到九位之前的八位号码。请标记出来人工复核,不要猜测缺失的数字。
- 确保国家选择器把
CM映射到 +237,而不是悄悄回退到相邻的区号。
如果你的校验库拒绝了格式正确的 +237 号码,那就是上线前必须抓出来的缺陷,而一个真实的测试号码是发现它最快的办法。
喀麦隆的验证短信会用哪种语言送达?
这取决于发送服务,以及账户或设备所设置的语言,而不取决于号码。全球性应用通常会向喀麦隆用户发送法语或英语的短信,有些则无论如何都回退到英语。
验证码本身几乎总是数字,所以你的解析器应当提取数字验证码,而不是匹配周围的措辞。测试本地化时,同一个注册流程请跑两遍,一次界面用法语,一次用英语,并确认你自己的应用在验证码输入框周围每次都显示正确的文案。
哪些服务可以通过喀麦隆线路投递验证码?
OTP Gateway 目前为喀麦隆列出了 2,000 多项服务。实时快照中的常用服务包括 WhatsApp、Facebook、imo、Telegram、TikTok、Google(Gmail 和 YouTube)、Microsoft 和 Outlook、ChatGPT(OpenAI)、Signal、Viber、LinkedIn、Uber 和 Amazon。
库存会在一天中变化,所以请把这份列表当作起点。API 会针对每个服务与国家的组合返回实时可用性和当前价格,因此脚本应在每次运行时询问,而不是缓存。
如何在测试套件中调用喀麦隆 OTP API?
所有请求都发往 https://otproute.com/api/v1,并带有以 or_live_ 开头的 Bearer 密钥。你可以在开发者控制台创建最多 10 把密钥,便于为预发布、CI 和生产工具分别配置独立的凭据。喀麦隆的国家 ID 是 cm。
- 读取
GET /api/v1/services和GET /api/v1/countries来解析 ID。 - 请求
GET /api/v1/prices?country=cm&service=<id>,查看实时价格以及此刻该线路是否可用。 - 用
POST /api/v1/activations创建订单,请求体形如{"service": "whatsapp", "country": "cm"}。响应中包含激活 ID 和一个 +237 号码。 - 把该号码填入你自己应用的注册或登录页面。
- 通过 Webhook 接收验证码,或每隔几秒轮询
GET /api/v1/activations/{id}。如果测试中止,调用POST /api/v1/activations/{id}/cancel。
使用 Webhook 时,请订阅 activation.sms_received、activation.expired 和 activation.cancelled,并验证 X-OTPRoute-Signature 请求头:用端点密钥计算 <t>.<raw body> 的 HMAC-SHA256,与 v1 比较,并拒绝过期的时间戳。Webhook 签名指南逐步讲解了这一过程,完整参考见 API 文档。想在不动用钱包资金的情况下完成对接?请为开发账户申请沙盒模式,它会返回模拟的号码和验证码。
非开发人员能在控制台收取 +237 验证码吗?
可以。登录后打开 OTP Gateway,选择喀麦隆和服务,核对显示的价格并下单申请号码。把它粘贴到你要验证的应用中,然后在激活页面等待验证码出现。
激活会保持开启 20 分钟。如果窗口关闭前没有收到短信,或者你提前取消,全部金额会自动退回钱包。验证码没有出现时,请按顺序尝试:
- 让窗口走完;有些服务发送较晚。
- 稍后再下单,或换一条服务线路,而不是在紧凑循环里重复下单。
- 检查该服务是否接受虚拟号码,因为有些会拒绝,这正是退款机制存在的原因。
QA 测试指南介绍了团队如何把这些步骤纳入发布检查清单。
我能长期保留喀麦隆号码吗?费用如何处理?
OTP Route 目前没有可自助购买的长期喀麦隆号码。如果你的团队需要,请发邮件至 [email protected] 咨询;能否实现取决于当地规定,我们无法承诺。你在续期期间可以一直保留的专属线路是仅限美国和加拿大的产品,每月 $1.95 起,详见虚拟号码页面。
与其他线路一样,喀麦隆激活的费用从单个预付美元钱包中扣除,没有月费,也没有套餐。可通过银行卡或 USDT/USDC 稳定币充值,每笔充值的 PDF 发票都会发送到你的邮箱。你可以创建账户,使用邮箱验证码或 Google 登录,之后再开启 TOTP 双重验证。请只把号码用于你自己合法的产品和账户:遵守各服务的条款,并记住 OTP Route 的《可接受使用政策》同样适用。
常见问题
没有本地 SIM,我能测试应用的喀麦隆注册流程吗?
可以。从 OTP Gateway 申请一个 +237 号码,填入你的应用,然后在控制台或通过 API(国家 ID 为 cm)读取验证码。
存储喀麦隆号码时需要前导零吗?
不需要。喀麦隆没有长途前缀,所以 E.164 格式就是 +237 加九位国内号码。
一个用于测试的 +237 号码多少钱?
OTP Gateway 每个验证码 $0.20 起。具体金额取决于服务,会在控制台显示,或在你下单前由 GET /api/v1/prices 返回。
验证短信会是法语还是英语?
取决于发送服务和账户的语言设置。验证码通常是数字,所以请解析数字,而不是文字。
如果我的喀麦隆激活过期了也没收到验证码,会怎样?
不会收费。20 分钟窗口关闭时如果没有短信,全部金额会退回你的钱包;如果你使用 Webhook,还会触发一个 activation.expired 事件。
有沙盒可以用来开发集成吗?
有,需申请。可以将开发账户切换为沙盒模式,它会返回模拟的号码和验证码,让你能端到端测试而不花费资金。
服务名称均为其各自所有者的商标,OTP Route 与其无任何关联。请合法使用号码,并遵守各服务的条款及我们的可接受使用政策。