X 为什么要求提供手机号?
X 在少数几个众所周知的环节使用手机号:注册时作为邮箱的替代方式、向现有账号添加号码、在活动异常触发的登录验证中、重置密码,以及通过短信进行双重验证。多年来,X 已缩小了可以使用短信双重验证的账号范围,并提供身份验证器应用作为选项,因此请查看你所测试账号当前的设置。这些流程每一个都会发送一个简短的数字验证码,如果你的产品与 X 账号集成或负责管理 X 账号,每一种都值得覆盖。典型场景有:接入品牌账号的社交媒体工具、用共享团队登录运营客户主页的代理机构,以及检查用户关联 X 主页后你自己的应用表现的 QA 测试套件。
X(Twitter)短信验证测试的飞行前检查清单
- 所有权。 账号属于你、你的公司,或请你代为管理的客户。每个真实的人或企业一个账号。
- 条款。 阅读 X 关于手机号和自动化的规定;它们在我们的《可接受使用政策》之外同样适用。
- 国家。 下单前先确定账号代表哪个市场。
- 服务 id。 在 OTP Route 上,X 的服务 id 是
twitter。 - 基础设施。 一个 Bearer 密钥(
or_live_),以及一个轮询循环或一个 Webhook 端点。 - 生命周期。 这个账号一个月后还要再次登录吗?如果是,开始之前请先阅读关于专属号码的部分。
这 198 个国家中,号码应该选哪一个?
X 线路覆盖 198 个国家,包括美国、加拿大、英国、德国、法国、印度、印度尼西亚、菲律宾、日本、巴西、墨西哥、土耳其、沙特阿拉伯、肯尼亚、尼日利亚和加纳。请让号码与账号服务的市场,或你要验证的测试用例相匹配:区域品牌账号应该使用来自该地区的号码,本地化测试则需要该国的语言和号码格式。号码、IP 位置和个人资料之间的不一致,也属于可能引发 X 额外检查的那类信号。
步骤:通过 API 为 X 订购号码
基础 URL:https://otproute.com/api/v1。
- 用
GET /api/v1/prices?country=<id>&service=twitter查询这一组合的价格,同时确认实时可用情况。 - 创建订单:以
{"service": "twitter", "country": "<id>"}调用POST /api/v1/activations,保存 activation id。 - 将返回的号码输入 X 的手机号输入框。
- 从 Webhook 事件获取验证码,或轮询
GET /api/v1/activations/{id}直到它出现。 - 如果 X 拒绝该号码,用
POST /api/v1/activations/{id}/cancel释放它。
国家 id 来自 GET /api/v1/countries;请求与响应结构见 API 文档。
Webhook 接收端应该怎么搭建?
订阅 activation.sms_received、activation.expired 和 activation.cancelled。每次投递都带有 X-OTPRoute-Signature: t=<unix>,v1=<hex>;用端点密钥对时间戳、一个点和原始请求体计算 HMAC-SHA256,以常量时间比较,并拒绝旧的时间戳。由于投递可能重复,请保存已处理的 activation id 并忽略重复项。对小型测试套件来说,轮询是不错的备选,远低于每分钟 300 次请求的限制。HMAC 指南中有一个完整示例。
更喜欢点鼠标?在控制台中打开 OTP Gateway,选择 X 和国家,确认显示的价格,把号码粘贴到 X,然后看着验证码出现在订单旁边。
排错:X 没有发送验证码
- 号码被拒绝。 X 可能拒绝虚拟号码,有时会提示该号码无法使用。请取消,然后稍后重试或换一个国家。
- 还没有收到。 让 20 分钟的有效期保持开放,不要立刻重新下单。
- X 在限流。 同一账号的重复请求可能触发 X 自身的限制;请拉开尝试的间隔。
- 你的处理程序丢掉了它。 检查日志中的签名失败和错误。
- 账号被标记。 如果 X 已限制账号本身,换新号码也无济于事;请通过 X 自己的支持渠道解决。
退款规则消除了失败的成本:只有验证码送达才收费,过期或取消的激活会把全额金额退回钱包。
什么时候美国或加拿大的专属号码更合适?
一次性激活适合单次验证。需要在数月后通过登录验证或恢复访问的公司账号,则需要一个固定不变的号码。专属号码在美国和加拿大提供这一点,每月 $1.95 起:收到的短信会显示在控制台,并通过 number.sms_received 推送到你的 Webhook,还支持发送短信和浏览器拨打电话。两者的对比见虚拟号码。OTP Route 的所有费用都来自同一个预付钱包,可通过银行卡或 USDT/USDC 充值,并附有 PDF 发票。
常见问题
OTP Route API 中 X(Twitter)的服务 id 是什么?
是 twitter。在价格请求和激活请求体中使用它。
没有 SIM 卡也能接收 X 的验证码吗?
可以,使用 198 个国家中任一国家的 OTP Gateway 号码,验证码会显示在控制台,或发送到你的 Webhook。
为什么 X 提示我的手机号无法使用?
X 可能拒绝某些虚拟号码。取消激活即可退款,然后换一个国家或稍后再试。
一个 X 验证码要多少钱?
每个验证码 $0.20 起;确切价格取决于国家,下单前会显示。
以后能用同一个号码登录 X 吗?
一次性激活只接收一个验证码。需要反复登录时,请使用美国或加拿大的专属号码。
能用 OTP Route 批量创建大量 X 账号吗?
不能。它用于在 X 的条款之下,测试和运营你自己的合法账号与产品。
有沙盒可以用来开发集成吗?
有。应要求,开发账号可以切换到沙盒,并返回模拟的号码和验证码。
服务名称均为其各自所有者的商标,OTP Route 与其无任何关联。请合法使用号码,并遵守各服务的条款及我们的可接受使用政策。