巴西测试应该用 OTP Gateway 还是长期号码?
先看任务的形态,因为它决定了该用哪个产品。巴西验证测试通常只需要一条验证码、只用一次:葡萄牙语的注册页面、登录挑战、更换手机号的步骤。这正是 OTP Gateway 的用途。你选择一个服务和巴西,得到一个用于接收一次验证码的 +55 号码,激活会在 20 分钟后或短信到达时关闭。
长期号码则是另一回事。专用号码(Dedicated Numbers)是仅限美国和加拿大的产品,可从控制台即时购买,每月 $1.95 起,支持接收短信、发送短信和浏览器通话。没有自助的长期 +55 号码。如果团队确实需要一个可以长期保留的巴西号码,请写信到 [email protected] 并说明用途;是否可行取决于当地规定,也不做任何承诺。
一个快速的经验法则:
- 每个测试用例一条验证码、每次运行都是全新状态:使用带
br的 OTP Gateway。 - 下个月还要再次登录的预发布账户:美国或加拿大的专用号码(前提是该服务接受)。
- 拿不准:购买任何东西之前,先读读临时号码与专用号码。
现在有哪些应用能向巴西号码发送验证码?
巴西线路目前涵盖超过 2,900 个服务,实时快照中的热门服务包括 WhatsApp、Telegram、Google (Gmail & YouTube)、Instagram、Facebook、TikTok、Uber、Discord、Microsoft & Outlook、LinkedIn、Netflix、Airbnb、Shopee 和 AliExpress。
请把这份列表当作快照,而不是合同。随着我们的运营商合作伙伴增加和轮换线路,可用性会在一天中变化,所以流水线应当询问 API,而不是相信写死的列表。喜欢用浏览器的人可以在国家目录看到同样的实时数据。
巴西 OTP API 的调用顺序在实践中是什么样的?
每次调用都发往 https://otproute.com/api/v1,使用在开发者控制台生成、前缀为 or_live_ 的 Bearer 密钥。巴西的国家 ID 是 br。
- 用
GET /api/v1/services一次性解析服务 ID,并保存在配置中。 - 下单之前,调用
GET /api/v1/prices?country=br&service=whatsapp(或你的服务 ID)。响应中带有该组合的实时价格和可用性。 - 用
POST /api/v1/activations创建激活,请求体为{"service": "whatsapp", "country": "br"}。把激活 ID 与你的测试运行一起保存。 - 把 +55 号码输入你正在测试的流程。
- 在 webhook 上监听
activation.sms_received事件;作为后备,每隔几秒检查一次GET /api/v1/activations/{id}。 - 如果测试中止,用
POST /api/v1/activations/{id}/cancel释放号码,资金会立即退回。
Webhook 投递在 X-OTPRoute-Signature 中带有签名,格式为 t=<unix>,v1=<hex>:用端点密钥对 <t>.<raw body> 计算 HMAC-SHA256。请验证它,丢弃过期的时间戳,并让处理程序以激活 ID 保持幂等。完整参考见 API 文档。
增长团队的人不写代码也能做到吗?
可以。控制台无需任何脚本就能运行同样的 OTP 路由:
- 用邮箱和 6 位邮箱验证码,或 Google 登录,创建账户。
- 给美元钱包充值。
- 选择巴西和服务,查看显示的价格后下单。
- 把 +55 号码粘贴到应用里,在激活卡片上观察验证码出现。
市场、客服和本地化审核人员经常用这条路径,在发布前确认葡萄牙语的注册页面表现正常,而工程师则把 API 留给自动化运行。
+55 号码应该如何存储和规范化?
巴西号码由两位区号(DDD)加用户号码组成,手机号码为九位,以 9 开头。在巴西国内,长途电话要拨前导 0 再加运营商选择码,所以用户输入中常带有不应出现在存储里的多余数字。
请全部以 E.164 存储:+55、区号、再加用户号码,不含空格、前导 0 和运营商代码。在输入时规范化,以规范化后的值进行比较,只在展示时才格式化。巴西发送方的验证码通常以葡萄牙语送达,有时是英语,所以请解析数字,而不是匹配固定的句子。
团队测试这个市场,是为了巴西上线、葡萄牙语本地化 QA,以及需要兼顾巴西数据保护法(LGPD)义务的注册流程。我们的金融科技注册页面介绍了这类工作中的验证部分。
巴西的验证码一直没出现怎么办?
首先让 20 分钟窗口走完;有些发送方比较慢,送达取决于服务和线路。如果它过期了,这笔费用会自动撤销,你可以稍后再试,或者换用 API 列出的另一条线路。
- 确认该服务到底接受不接受虚拟号码。有些不接受,这正是退款规则存在的原因。
- 不要在紧凑的循环里重复下单。两次尝试之间请退避,并记录每个激活 ID。
- 检查你的应用发送的是完整的国际格式号码,而不是带有中继前缀数字的本地格式。
降低 OTP 送达失败率指南列出了更多诊断方法。
钱包、发票和沙盒如何配合使用?
OTP Route 从一个预付美元钱包计费:按量付费,没有月费,也无需选择套餐。可以用银行卡或 USDT、USDC 充值,每次充值都会通过邮件收到 PDF 发票。完整费率见定价页面和 API。
做集成工作时,请联系支持,把开发账户切换为沙盒。它会返回模拟的号码和验证码,让你无需动用钱包资金,就能端到端地演练激活和 webhook 路径。请只用于你自己的产品,遵守各服务的条款,并记住《可接受使用政策》适用于每个账户。
常见问题
没有本地 SIM 卡,也能测试我的应用的巴西注册流程吗?
可以。在 OTP Gateway 为你自己的应用或受支持的服务订购一个 +55 号码,输入到流程中,然后在控制台或通过 API 读取验证码。
OTP Route API 中巴西的国家 ID 是什么?
是 br。创建激活时把它作为 country 字段传入,或在价格接口上作为 country 查询参数传入。
如果 WhatsApp 没有把验证码发到我的 +55 号码,我会被扣费吗?
不会。20 分钟内没有短信到达该号码,或者你先取消,全部金额都会自动退回钱包。
我能购买巴西号码并保留几个月吗?
自助产品中不行。长期专用号码只在美国和加拿大销售;巴西的需求可以发邮件至 [email protected] 咨询,但不保证可用。
我应该保留巴西号码的前导零吗?
不应该。去掉中继 0 和任何运营商选择码,然后以 E.164 形式保存号码,以 +55 和两位区号开头。
巴西的验证短信使用什么语言?
大多数是葡萄牙语,少数全球性服务发送英文文本。请提取数字验证码,不要依赖措辞。
在给钱包充值之前,我能先试用 API 吗?
可以为开发账户申请沙盒模式。它会模拟号码和验证码,让整个集成在不花钱包资金的情况下得到测试。
服务名称均为其各自所有者的商标,OTP Route 与其无任何关联。请合法使用号码,并遵守各服务的条款及我们的可接受使用政策。