直接兼容

传统 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.50

getNumber

预留虚拟号码。必需:服务代码(wa/tg/ig 等)与国家(整数 ID、ISO 代码或 slug)。

请求
GET /stubs/handler_api.php?api_key=KEY&action=getNumber&service=wa&country=187
响应
ACCESS_NUMBER:12345678:79991234567

getStatus

轮询激活状态。返回 STATUS_WAIT_CODE、STATUS_OK:<code> 或 STATUS_CANCEL。

请求
GET /stubs/handler_api.php?api_key=KEY&action=getStatus&id=12345678
响应
STATUS_OK:123456

setStatus

更新激活状态。status=1(SMS 已发送)、3(请求另一条)、6(完成)、8(取消)。

请求
GET /stubs/handler_api.php?api_key=KEY&action=setStatus&id=12345678&status=6
响应
ACCESS_ACTIVATION

getNumbersStatus

按服务-国家组合返回库存数。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请求另一条 SMSACCESS_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_KEYAPI 密钥无效或缺失
BAD_ACTIONaction 参数缺失或格式错误
BAD_SERVICE服务代码无法识别
BAD_COUNTRYcountry 参数无法识别
BAD_STATUSsetStatus 的 status 值无效
WRONG_ACTION不支持的操作名
NO_BALANCE钱包余额不足
NO_NUMBERS此 service+country 没有可用号码
NO_ACTIVATION激活 ID 不存在或不属于你
RATE_LIMITED已超出每日 API 配额 — 查看 Retry-After 响应头
ERROR_SQL服务器内部错误
Bot 库兼容性: 错误代码是稳定标识符,从不翻译。匹配这些字符串的现有脚本无需修改即可工作。

准备好迁移?

获取 API 密钥,只需一条 curl 即可开始。无需安装 SDK,无需改代码。