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
, 批量购买 价值$5
的5
个 微信的手机号,账户余额为$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 | 账号已被封禁,请联系客服处理 |