直接兼容
传统 API 兼容性
如果你已经在用 sms-activate.org 或类似服务,只需更换基础 URL 即可切换到 SMSBulk。所有端点、操作名和响应格式保持不变。
一行切换
https://sms-activate.org/stubs/handler_api.php
https://smsbulk.net/stubs/handler_api.php
现有脚本、bot 库和集成无需修改代码即可工作。国家 ID 与标准映射一致(TR=187、US=12、RU=0 等)。
身份验证
与 SMS-Activate 一致:将 API 密钥作为 query string 参数传递。
# Query string (sms-activate convention)
curl "https://smsbulk.net/stubs/handler_api.php?api_key=YOUR_KEY&action=getBalance"
# Response (plain text)
ACCESS_BALANCE:42.50操作参考
支持全部 7 个操作。操作名、参数和响应格式与 SMS-Activate 完全一致。
getBalance
返回当前钱包余额(USD)。
请求
GET /stubs/handler_api.php?api_key=KEY&action=getBalance响应
ACCESS_BALANCE:42.50getNumber
预留虚拟号码。必需:服务代码(wa/tg/ig 等)与国家(整数 ID、ISO 代码或 slug)。
请求
GET /stubs/handler_api.php?api_key=KEY&action=getNumber&service=wa&country=187响应
ACCESS_NUMBER:12345678:79991234567getStatus
轮询激活状态。返回 STATUS_WAIT_CODE、STATUS_OK:<code> 或 STATUS_CANCEL。
请求
GET /stubs/handler_api.php?api_key=KEY&action=getStatus&id=12345678响应
STATUS_OK:123456setStatus
更新激活状态。status=1(SMS 已发送)、3(请求另一条)、6(完成)、8(取消)。
请求
GET /stubs/handler_api.php?api_key=KEY&action=setStatus&id=12345678&status=6响应
ACCESS_ACTIVATIONgetNumbersStatus
按服务-国家组合返回库存数。JSON dict,key 形如 'wa_187'。
请求
GET /stubs/handler_api.php?api_key=KEY&action=getNumbersStatus&country=187响应
{"wa_187":1234,"tg_187":567}getPrices
返回服务+国家组合的价格和库存。按国家 ID 嵌套的 JSON。
请求
GET /stubs/handler_api.php?api_key=KEY&action=getPrices&service=wa&country=187响应
{"187":{"wa":{"cost":0.5,"count":1234}}}getCountries
返回支持国家的标准列表,含 SMS-Activate ID 和 ISO 代码。
请求
GET /stubs/handler_api.php?api_key=KEY&action=getCountries响应
[{"id":187,"iso":"TR"},...]setStatus 值
每个状态码的作用与对应响应。
| 值 | 操作 | 响应 |
|---|---|---|
| 1 | 上报 SMS 已发送(空操作) | ACCESS_READY |
| 3 | 请求另一条 SMS | ACCESS_RETRY_GET |
| 6 | 标记激活完成 | ACCESS_ACTIVATION |
| 8 | 取消激活 | ACCESS_CANCEL |
国家 ID
保留 SMS-Activate 的标准 ID。常用国家:
Turkey
ID: 187 · ISO: TR
Russia
ID: 0 · ISO: RU
USA
ID: 12 · ISO: US
United Kingdom
ID: 16 · ISO: GB
Germany
ID: 42 · ISO: DE
France
ID: 77 · ISO: FR
India
ID: 22 · ISO: IN
Brazil
ID: 72 · ISO: BR
三种格式支持: country 参数接受整数 ID(187)、ISO 代码(TR)或 slug(turkey)。
错误代码
所有错误返回纯文本代码(text/plain)。从不本地化 — 保证 bot 库兼容性。
| 代码 | 含义 |
|---|---|
| BAD_KEY | API 密钥无效或缺失 |
| BAD_ACTION | action 参数缺失或格式错误 |
| BAD_SERVICE | 服务代码无法识别 |
| BAD_COUNTRY | country 参数无法识别 |
| BAD_STATUS | setStatus 的 status 值无效 |
| WRONG_ACTION | 不支持的操作名 |
| NO_BALANCE | 钱包余额不足 |
| NO_NUMBERS | 此 service+country 没有可用号码 |
| NO_ACTIVATION | 激活 ID 不存在或不属于你 |
| RATE_LIMITED | 已超出每日 API 配额 — 查看 Retry-After 响应头 |
| ERROR_SQL | 服务器内部错误 |
Bot 库兼容性: 错误代码是稳定标识符,从不翻译。匹配这些字符串的现有脚本无需修改即可工作。
