Skip to content

API

当您的账户余额到达 $30 以后,我们会自动为您开通 api 权限, 开通权限之后,余额下降至 $30 以下不会影响 api 调用.

端点

端点是 api 请求发起的根路劲,所有的 api 请求都需要通过以下端点发起

https://smswudi.com/api/v1

鉴权方式

apiKey 可以在 我的 > apiKey 找到, 将 apiKey 放在请求的 header 中, 格式如下:

Authorization: $apiKey

请求&响应

请求方法一律为 POST, Content-Type 一律为 application/json , 响应格式为 json 格式, 接口响应的基本格式如下:

{
    "code": 0,
    "msg": "error message",
    "data": { ... }
}
  • 如果请求成功,那么 code 一律为 0
  • 如果请求失败, 首先需要区分 http 的响应状态码, 如果状态码不等于 200 , 则可能不会存在 上述 json 信息,返回的是服务器内部错误, 如果请求状态码是 200 并且 code 不等于 0, 那么程序返回了错误,异常信息以 错误码 列表 或者 msg 提示为准

用户信息接口

获取账户余额

  • API 地址:
/user/balance
  • 请求参数

无需额外参数

json
{}
  • 响应参数
json
{
  "code": 0,
  "msg": "",
  "data": {
    "balance": 0.78,     ### float 类型
    "freeze": 1.1        ### 正在冻结的资产.
  }
}

充值确认

该接口可以缩短充值到账时间,正常情况下服务器是 每隔 5 分钟查询一次充值结果,该接口可以在调用之后立即向区块链发起查询.

  • API 地址
/user/recharge/confirm
  • 请求参数

blockHash 参数中的接收方地址必须是正确的官方收款地址.

json
{
  "blockHash": "a3c14ff57d39c3ce05e340b0ebaf1fd2e5f32e5b213428061cccae963d06d6af",    # 交易hash, 能在区块链浏览器查询到交易详情.
}
  • 响应信息
json
{
  "code": 0,
  "msg": "",
  "data": {
    "result": true   # true 代表充值成功,false 代表充值失败 或者未到账, 也可能是blcokHash 地址错误
  }
}

公共信息接口

获取支持的运营商列表

  • API 地址
/common/platform
  • 请求
{}
  • 响应
json
{
  "code": 0,
  "msg": "",
  "data": [
    {
      "id": 1,                  # platformid
      "name": "国内平台"         # 名称
    },
    {
      "id": 2,
      "name": "国外平台"
    }
  ]
}

获取国家/地区列表

  • API 地址
/common/area
  • 请求
json
{
    "platformId": 1 ### platform 接口获取的platformid
}
  • 响应
json
{
  "code": 0,
  "msg": "",
  "data": [
    {
      "id": 1,              # 国家/地区 id
      "name": "美国"         # 名称
    }
  ]
}

获取支持的应用列表

  • API 地址
/common/apps
  • 请求
json
{
    "platformId": 1,  ### platform 接口获取的platformid
}
  • 响应
json
{
  "code": 0,
  "msg": "",
  "data": [
    {
      "id": 1,                   #  应用id
      "name": "微信",             #名称
      "price":  1.1              # 价格
    }
  ]
}

接码接口

获取手机号码 (批量)

获取手机号之后,手机号会针对当前的 app 进行锁定状态,期间会对账户的部分余额冻结,在超过 30 分钟的限制之后,对手机号进行回收,回收之后,未使用的金额会原路返回,使用过的金额则直接扣除. 比如: 账号余额为 $10 , 批量购买 价值 $55 个 微信的手机号,账户余额为 $5, 冻结资产为 $5, 30 分钟内,使用了 2 个成功接码,3 个未使用,
最终余额为: $7, 冻结 $0

  • API 地址
/mobile/batch
  • 请求参数
json
{
    "platformId": 1,        # platformid
    "areaId":  1,           # area id
    "appId":  1,            # 应用id
    "requestNumber": 10    # 请求号码的数量
}
  • 响应参数
json
{
  "code": 0,
  "msg": "",
  "data": [
    {
      "id": 1,                      # 接码 id
      "mobile": "13800138000",       # 手机号
      "appId": 1,                   # appId
      "appName": "Wechat" ,          # app名称
      "areaId": 1,                  # area id
      "areaName":   "美国",          # 地区名称
      "platformId": 1,               # platformid
      "platformName": "平台名称",           # 平台名称,
      "status": 1,                  # 接码状态 ,   1 轮训读取验证码中,  2 用户主动确定已下发, 3 已收到验证码, 4  获取验证码失败
    }
  ]
}

确定验证码下发

该接口为可选接口,调用该接口可以使接收到验证码的速度更快.

  • API 地址
/mobile/confirm
  • 请求参数
json
{
    "id": 1,    # 获取手机号码 返回的业务id
}
  • 响应参数
json
{
  "code": 0,
  "msg": "",
  "data": {}
}

查询验证码信息

  • API 地址
/mobile/getcode
  • 请求
json
{
    "id": 1         #  获取手机号码 返回的业务id
}
  • 响应
json
{
    "code": 0
    "msg": "",
    "data": {
      "id": 1,                       # 接码 id
      "mobile": "13800138000",       # 手机号
      "appId": 1,                    # appId
      "appName": "Wechat" ,          # app名称
      "areaId": 1,                   # area id
      "areaName":   "美国",           # 地区名称
      "platformId": 1,               # platformid
      "platformName": "平台名称",     # 平台名称,
      "status": 1,                   # 接码状态 ,   1 轮训读取验证码中,  2 用户主动确定已下发, 3 已收到验证码, 4  获取验证码失败
      "code": "1234",                # 匹配出来的验证码
      "text": "【腾讯】您正在登录微信账号,验证码是: 1234。请勿告知他人。"  # 短信内容
    }
}

重新租用历史手机号 (必须之前有租用过)

  • API 地址
/mobile/gethistory
  • 请求参数
json
{
    "mobile": "13800138000",  # 手机号
    "appId": 1,               # appid
    "platformId": 1,          # platformid
    "areaId":  1             # area id
}
  • 响应参数
json
{
  "code": 0,
  "msg": "",
  "data": [
    {
      "id": 1,                      # 接码 id
      "mobile": "13800138000",       # 手机号
      "appId": 1,                   # appId
      "appName": "Wechat" ,          # app名称
      "areaId": 1,                  # area id
      "areaName":   "美国",          # 地区名称
      "platformId": 1,               # platformid
      "platformName": "平台名称",           # 平台名称,
      "status": 1,                  # 接码状态 ,   1 轮训读取验证码中,  2 用户主动确定已下发, 3 已收到验证码, 4  获取验证码失败
    }
  ]
}

租号接口

租号(批量)

租号不会冻结余额,会直接扣除已租号剩余的余额,如果号码不需要了,可以使用退租接口将号码归还,返还费用按天计算,不足 1 天按 1 天计算, 返还费用计算公式为: (total - day * perDayUse) * 0.8 , 也就是需要扣除 20 % 的手续费

  • API 地址
/mobile/rent
  • 请求参数
json
{
  "platformId": 1,
  "areaId": 1,
  "type":   1,                  # 租用类型, 1=日租, 2=周租, 3=月租, 4=季租
  "callbackMobile": "13800138000",    # 转发号码,收到的短信会转发到这个地址,
  "callbackUrl": "https://baidu.com"  # callbackMobile 二选一,收到号码之后会回调这个接口发送号码,如果失败,则会重试3次. 回调格式见文档下方回调号码参数处.
}
  • 响应参数
json
{
  "code": 0,
  "msg": "",
  "data": [
    {
      "id": 1,                      # 租用id
      "mobile": "13800138000",       # 手机号
      "appId": 1,                   # appId
      "appName": "Wechat" ,          # app名称
      "areaId": 1,                  # area id
      "areaName":   "美国",          # 地区名称
      "platformId": 1,               # platformid
      "platformName": "平台名称"          # 平台名称,
    }
  ]
}
  • 回调方式如下:
h
POST https://yourcallbackurl.com
Authorization: $apiKey
Content-Type: application/json

{
    "mobile": "13800138000",
    "id": 1                         # 租用id
    "code": "1234"                  # 验证码
    "text": "【google】your code is: 1234"
}

错误码

下面是错误码列表, 错误码指的是 http 响应的 json 中对应的 code 字段的值

错误码原因
-1参数错误
401身份认证失败
429请求 api 的速率超过账户额定速率,会提示该错误
500服务器错误
600暂无在线的手机号
601手机号已离线,无法获取验证码
602用户余额不足
603超过额外获取短信限制
604手机号数量不足,获取失败
605通道 id 错误, 通道不存在
606业务编码错误
607获取短信号码超时
608账号已被封禁,请联系客服处理