我在运营 RaySMS,一个可以通过网页和 API 接收短信验证码的服务。OpenAI 验证我自己日常就在使用,也已成功完成。这次想分享购买前最值得看清的三类信息:选的是什么服务、报价如何计算、订单现在到了哪一步。

这篇结合 RaySMS 的实际接口,说明购买前的核对步骤,以及等待短信、取消和超时重试的处理方法。

1. 先确认服务代码,再挑国家

当前目录里,OpenAI 对应 dr,Google,youtube,Gmail 对应 go,Telegram 对应 tg。开发者可以先读取公开服务目录,再查某个服务的国家报价:

GET /api/catalog/services?lang=zh-CN GET /api/catalog/prices?service=dr 

这两个请求不需要密钥或充值,也不会创建订单。国家字段使用目录 ID,不是电话区号;一个应用的号码,也不要直接当成另一个应用的号码使用。

我把三个服务的入口和实际验证步骤整理在中文服务选择指南。遇到 ChatGPT/Codex 的手机验证提示时,可以从 OpenAI(dr)目录查询号码报价,再按账户里实际出现的步骤操作。

2. 小额报价也要保留精度

API 的 price_micros 使用整数微美元:1,000,000 等于 1 美元。例如 125,000 是 0.125 美元,这只是单位换算示例,不是当前报价。展示时可用 Decimal 换算,避免浮点数和过早保留两位小数带来的偏差。

报价中的 count 是当前报告的库存数量,不是成功率;查询也不会锁定库存。真正下单时会重新核对报价。请求中的 max_price_micros 表示本次接受的价格上限,超出时应重新选择,而不是由客户端悄悄提高预算。

3. 收到短信与完成订单,是两个状态

购买后,在目标应用填写完整的国际格式号码,按提示申请短信,再回订单页查看。把状态区分清楚,界面和 API 集成都容易理解:

状态 怎么理解
waiting 等待短信,继续查看原订单
received 已收到验证码,可以读取消息;不等于目标账户已验证成功
finished 已完成订单的结束操作
cancel_pending 取消结果还在确认,不能当成已退款
cancelled 已确认取消,核对钱包中的退款记录
review 结果需要人工核对,先保留原订单号

订单状态可通过需要认证的 GET /api/orders/{order_id} 查询。看不清结果时,把订单号和错误上下文交给客服即可,不要公开验证码或密钥。收到码后通常不能再走普通取消流程;未收码也应以订单当前允许的操作和最终确认结果为准。

4. 超时重试,要记住原来的购买意图

下单使用 POST /api/orders,需要认证、价格上限和 idempotency_key。这个键应在发请求前生成并保存。同一账号重试同一笔服务和国家的购买时,沿用原键,系统会返回已有订单;更换服务或国家却复用原键,会返回冲突。

如果每次网络超时都生成新键,系统看到的就是不同购买意图,可能产生新的付费订单。遇到 review,也应先查原单,不要把“没有拿到明确结果”理解成“没有购买”。

可以先用只读 Python 示例熟悉字段,再按开发者指南接入订单。网页和 API 共用美元钱包与订单记录,先把状态和金额表达清楚,后续排查会省很多时间。

你更希望购买前直接看到哪项信息:国家库存、完整精度的价格,还是当前可取消的条件?欢迎反馈具体页面或字段。

披露:我是 RaySMS 经营者,号码服务按需付费。本文经 AI 辅助整理,并按当前实现核对。个人使用经验不代表整体成功率,具体号码接受情况由目标平台决定。