API
基于 HTTPS 的 JSON API。请在 Authorization 请求头中发送 API 密钥。价格、退款和 20 分钟倒计时与网站相同。
基础地址
https://today-sms.com/api/v1
身份验证
请求头 Authorization: Bearer YOUR_API_KEY。首次充值后,在 API 密钥页面创建密钥。每分钟最多 300 次请求。
curl https://today-sms.com/api/v1/balance \ -H "Authorization: Bearer YOUR_API_KEY"
GET /balance
您的余额,单位 USD。
响应示例
{
"balance": "42.5000",
"currency": "USD"
}GET /apps
目前有号码的应用:代码、名称、最低价格、国家数。
响应示例
[
{ "app": "telegram", "name": "Telegram", "from": "0.4515", "countries": 61 }
]GET /prices?app=telegram
某个应用的国家列表,价格从低到高:国家代码、ISO 代码、价格、可用号码数。
响应示例
[
{ "country": "indonesia", "iso": "id", "price": "0.4515", "stock": 702866 }
]POST /numbers {"app":"telegram","country":"indonesia"}
购买一个号码。费用从余额中扣除。
响应示例
{
"id": 1042,
"phone": "+6281234567890",
"price": "0.4515",
"status": "waiting",
"expires_at": "2026-10-14T09:20:00Z"
}GET /numbers/{id}
状态以及目前收到的所有短信。
响应示例
{
"id": 1042,
"status": "received",
"sms": [ { "code": "482913", "text": "Your code is 482913", "at": "2026-10-14T09:02:11Z" } ]
}POST /numbers/{id}/cancel
取消未收到短信的号码,购买 120 秒后可用。全额退款。
响应示例
{
"id": 1042,
"status": "canceled",
"refunded": "0.4515"
}POST /numbers/{id}/finish
收到验证码后关闭号码。
响应示例
{
"id": 1042,
"status": "finished"
}状态
| waiting | 号码已就绪,尚未收到短信 |
| received | 至少收到一条短信 |
| finished | 收到验证码后已关闭 |
| canceled | 已取消,已退款 |
| expired | 未在时间内收到短信,已退款 |
| checking | 供应商答复不明确;如果没有出现号码,倒计时结束时退款 |
错误
出错时返回非 2xx 状态码,以及包含错误代码的 JSON 正文。
{
"error": "not_enough_balance"
}| unauthorized | 缺少 API 密钥或密钥错误 |
| not_allowed | 首次充值后才能使用 API |
| bad_request | 缺少必填字段或字段有误 |
| no_numbers | 此应用和国家目前没有号码 |
| not_enough_balance | 请先充值 |
| too_many_open | 使用中的号码过多;请完成或取消部分号码 |
| too_early | 购买 120 秒后才能取消 |
| has_sms | 已收到短信;号码无法取消 |
| not_found | 您的账户中没有此号码 |
| try_again | 供应商未确认取消;请一分钟后再试 |
| rate_limited | 一分钟内请求过多 |