意大利手机号为什么会让校验器出问题?
意大利打破了许多规范化程序默认的一条规则。在欧洲其他地方,加上国家代码时要去掉国内的零,但意大利的固定电话会保留它:罗马的号码写作 +39 06 …,米兰的号码写作 +39 02 …。手机号以 3 开头,在 +39 之后通常是十位数字,前面没有零。
因此,在国家代码之后去掉开头 0 的库会破坏意大利固定电话号码,而坚持固定长度的校验器可能会拒绝有效号码。请把完整的 E.164 字符串原样存储为 +39 加国内号码,并在手机号解析测试中加入意大利的用例。
意大利 QA 的实用测试数据集至少应包含一个手机号、一个罗马固话和一个米兰固话。让这三者依次经过你的解析器、数据库读写往返以及所有显示格式化程序,并确认存储的值与输入完全一致。
团队为什么要在 +39 线路上跑验证测试?
意大利是欧盟较大的市场之一,所以产品从一个欧洲国家扩展到下一个时,它是常见的一站。本地化 QA 同样重要:这里的验证短信通常用意大利语发送,你自己的模板需要检查重音字母、日期格式和文案长度。市场平台、金融科技和配送类应用也会在启用本地支付或快递合作伙伴之前先测试意大利的注册引导。金融科技注册引导说明介绍了这一模式。
运营团队也有自己的理由。负责管理意大利客户社交或市场平台账号的代理机构,更愿意用不属于员工个人手机的号码来确认这些企业账号,运营团队页面介绍了这如何与共享登录配合。
意大利线路上有哪些服务?
目前有超过 2,100 种服务可以向意大利线路号码发送验证码。热门选择包括 WhatsApp、Instagram、Facebook、Google(Gmail 和 YouTube)、Amazon、eBay、Airbnb、Uber、Telegram、Microsoft 和 Outlook、LinkedIn、Netflix、Discord 以及 ChatGPT(OpenAI)。该列表是实时的,所以请随时查询,不要长时间缓存。
`it` 的流程如何通过 API 完成?
使用以 or_live_ 开头的 Bearer 密钥,向 https://otproute.com/api/v1 发送请求。用 GET /api/v1/prices?country=it&service=<id> 查看费用,再用 POST /api/v1/activations 和 {"service": "<id>", "country": "it"} 创建订单。响应会给你一个 activation id;可以轮询 GET /api/v1/activations/{id},或等待 activation.sms_received Webhook,同时把 activation.expired 或 activation.cancelled 当作另外两种结局来处理。
务必验证 X-OTPRoute-Signature(对 "<t>.<raw body>" 计算 HMAC-SHA256)并拒绝过期的时间戳;HMAC 指南有详细说明。账号最多允许 10 个密钥、5 个 Webhook 端点,以及每分钟 300 次请求。
在 CI 流水线中,常见做法是在准备步骤里订购号码,运行触发短信的浏览器测试,然后用一个短时监听器阻塞等待,直到 Webhook 到达或窗口关闭。请在收尾步骤中取消订单,这样中止的运行就不会遗留一个仍然打开的号码。
改为从控制台下单
非开发人员也可以通过网页应用完成同样的事:打开 OTP Gateway,选择服务,选择意大利,确认价格,然后把 +39 号码复制到被测应用中。验证码一到就会显示在屏幕上。如果没有到,请等完窗口时间,确认该服务接受虚拟号码,然后稍后重试或换一条线路,而不是反复重新下单。
请记录每次尝试所用的服务和线路;这样更容易看出问题只出在某个应用,还是该时段整条意大利线路都受影响。
有没有长期使用的意大利号码?如何计费?
意大利没有自助的长期号码。专用号码起价 $1.95/月,仅在美国和加拿大提供;如需咨询意大利线路,请写信到 [email protected],但需知道能否提供取决于当地规定。计费采用预付美元钱包,可通过银行卡或 USDT/USDC 充值,提供 PDF 发票,没有月费。可查看定价或注册开始使用,开发期间可申请沙盒模式。
常见问题
在 +39 前面添加国家代码时,要去掉意大利号码里的 0 吗?
固话不用:意大利固话在 +39 之后会保留开头的 0。手机号以 3 开头,本来就没有零。
意大利在 OTP Route API 中的国家 id 是什么?
是 it,价格查询和激活请求体中都使用它。
我能在意大利境外测试意大利的注册流程吗?
可以。无论团队身在何处,OTP Gateway 的 +39 号码都能接收验证码,你可以在控制台或通过 API 读取。
接收意大利短信验证码要多少钱?
意大利验证码每条 $0.20 起;API 会给出每项服务的当前价格,控制台会在你确认之前显示。
如果没有收到意大利验证码会怎样?
20 分钟后激活过期,金额自动退回你的钱包,无需提交工单。
下个月我还能继续使用同一个 +39 号码吗?
不能,网关号码仅用于一次验证。长期线路只在美国和加拿大提供。
验证消息会以意大利语发送吗?
常常如此,因为许多发送方会按国家本地化,但也有些使用账号的语言设置。请围绕数字而不是措辞来构建你的解析器。
有哪些使用限制是我需要了解的?
请遵守各服务的条款以及 OTP Route 的《可接受使用政策》;网关用于测试和运营你自己的合法产品,而不是批量创建账号。
服务名称均为其各自所有者的商标,OTP Route 与其无任何关联。请合法使用号码,并遵守各服务的条款及我们的可接受使用政策。