1. 概览
本文是爱快开放平台 Open API 3.0 的官方文档,旨在为爱快开放平台合作者提供详细的 Open API 描述,各类相关资源的入口汇总等 内容主要涵盖:
-
协议、调用地址
-
交互规范
-
数据模型
-
接口测试界面
1.1. 版本信息
版本 : 3.0.0
1.2. URI scheme
域名 : open.ikuai8.com
基础路径 : /api/v3
方案 : HTTPS
1.3. 标签
-
平台认证类接口 : Open Platform Auth【调用频度限制:60次 / 分钟】
-
路由器授权查询类接口 : Router Authorization Query【调用频度限制:60次 / 分钟】
-
路由器系统设置类接口 : Router System Settings【调用频度限制:120次 / 分钟】
-
路由器认证计费类接口 : Router Auth Billing【调用频度限制:120次 / 分钟】
2. 快速开始
2.1. 重要提示
iKuai Open API 3.0 以下称新版 继承并发展自初版 iKuai Open API 以下称初版、旧版 [1],在分析了初版 API 长期运行统计结果,总结了对接合作方的反馈,并充分考虑安全,效率,稳定,容错,对接难度等因素后,爱快对 3.0 版本的 Open API 的调用方式和规范进行了调整。 力求达到如下目标: |
现将重点内容罗列如下:
-
废弃了旧版 API 需要对整个请求正文进行 RSA 加密的方式,改为简短的字段加密,降低客户端与服务端的额外计算消耗,同时规避了加密原文过长导致需要 chunk 加密串的问题
-
引入 AccessToken 作为 API 认证凭据,认证成功一次可以复用一定次数或时长,且有多种 Token 存活策略可供选择
-
新版 API 兼容在爱快 2.x (部分路由)和全新架构的 3.x (全部路由)设备上的调用,也即:在新版 API 调试成功的代码可以获得长期支持(LTS),不必为不同版本路由编写多套调用代码
-
对不急于迁移到 3.0 版本 API 的调用者来说,无须做任何改变,旧版 Open API 保持原样 [3]
-
现有运行在爱快开放平台上的合作商业务、open_id 与公钥、授权设备信息、审核通过的业务涵盖的 API 信息,对新版 API 依然有效且一致。官方后续开放的 API 则依旧按照开放平台的业务审核流程进行申请。
3分钟视频,玩转 iKuai Open API 3.0 |
2.2. API 调试方式 (官方推荐方式)
不编写任何代码,快速开始调用 API,查看调用结果! 快速生成多种语言的客户端代码,开箱即用! 与爱快开发人员使用同样的工具,调试新版 iKuai Open API! |
2.2.1. 准备条件
工具:postman
安装 postman for chrome 插件 [4]
iKuai Open API 3.0.0 的 postman 描述文件
以下文件无须下载,postman 支持导入 URL 确保 hash 校验与官方描述的一致! |
URL | https://open.ikuai8.com/doc/3.0/postman_collection.json |
---|---|
MD5 |
ed4bd780bb97eaaafe4d5aeb4b6aacb0 |
SHA1 |
22cb132b981908c5b022850545053676427e403f |
URL | https://open.ikuai8.com/doc/3.0/postman_environment.json |
---|---|
MD5 |
203B39F42CCC171CC391F3A6DB18F52F |
SHA1 |
7AFA4C3422CCF3BF26BBB361F71FBEB2DC756D9F |
2.2.2. 调试步骤
1 | 启动 postman |
2 | 导入 iKuai Open API 3.0.0 的 postman 描述文件 |
3 | 输入必要的参数(open_id, open_rsa_pubkey, gwid) |
4 | 测试各个接口 |
5 | 使用 postman 的 code 功能生成目标语言的客户端代码 |
6 | 愉快的开始业务逻辑的开发进程 |
使用 postman 调试 API 时,为简化操作,RSA 加密在 postman 内部完成,免去了在 postman 外部自行生成加密串的麻烦。但方便的同时,需要调用者将其爱快开放平台公钥填入 postman 的 Pre-request Script,此时一定注意 谨慎使用诸如:postman 的 share collection,share evnironment 等会暴露自己公钥等信息的功能。 这里推荐几种安全实践: a) 离线使用 postman (不登录 postman 账号),不使用 share collection,不使用 share evnironment |
3. 资源
3.1. 平台认证类接口
Open Platform Auth【调用频度限制:60次 / 分钟】
3.1.1. 『获取 AccessToken』
POST /open/access_token
说明
使用从爱快开放平台获取的公钥生成加密签名串,获取AccessToken 签名 sign = base64_encode( rsa_enc_use_pubkey ( request_time, pubkey ) ) base64_encode 和 rsa_enc_use_pubkey 使用各种语言自己的 base64 和 rsa 实现
参数
类型 | 名称 | 说明 | 类型 |
---|---|---|---|
Body |
body |
JSON 格式的请求体 |
响应
HTTP代码 | 说明 | 类型 |
---|---|---|
200 |
正常响应正文 |
|
404 |
Not Found,请求地址无效或请求方法错误 |
无内容 |
429 |
调用超限 |
无内容 |
提交格式
-
application/json
返回格式
-
application/json
HTTP请求示例
请求 path
/open/access_token
请求 body
{
"client_type" : "OPEN_PARTNER",
"client_id" : "ikoxxxxxxxxxxxxxxxx",
"request_time" : 1503525563,
"options" : {
"token_lifetime" : 7200
},
"sign" : "WamFBz2+2EaLTuvcCVg4//ZsicziHoZ1bssV3ezaFfWz+15d92ErR/25kMBgET/FsmobAj9aMfhja9juMMF1riExB6dzDh6lr/mAD6Fnnf/bDcohtYA/tlZl9+uWP/YbDu9T+2KIHR1btd2YvdebPQDRAkwWPjTJJzPhTF5dh7M="
}
HTTP响应示例
响应 200
{
"access_token" : "WzcPH/UdrH+maCgJI5LeXmR8kL8YD+s5fzdulp5fGLky2Ur+TVxTvsgX7SaUpPrxPBdmGFgFQFGYjZgEbXKbx8RHWvLN97sACK/eBtN1/vIKbkjoieuX62kaXqShfTI4AngtEA1B6nx7jiipwiQy6/3yK8Y3sqS++ZyS21Ih+W8=",
"token_create_time" : 1504579937,
"token_excess_time" : 7200,
"token_expire_at_server_time" : "2017-09-05 12:52:17"
}
3.1.2. 『刷新 AccessToken』
POST /open/refresh_token
说明
使用未过期的 AccessToken,获取新的 AccessToken
参数
类型 | 名称 | 说明 | 类型 |
---|---|---|---|
Body |
body |
JSON 格式的请求体 |
响应
HTTP代码 | 说明 | 类型 |
---|---|---|
200 |
正常响应正文 |
|
404 |
Not Found,请求地址无效或请求方法错误 |
无内容 |
429 |
调用超限 |
无内容 |
提交格式
-
application/json
返回格式
-
application/json
HTTP请求示例
请求 path
/open/refresh_token
请求 body
{
"access_token" : "WzcPH/UdrH+daCgJI5LeXmR8kL8Yy+s5fzdllp5fGLwy2Ur+sVxTvsgXhSaUpPrxPBgmGFGFQ6GYjZgEbXKbx8RHWvLN9aWACK/eBtN1/vIKbkjoi8uX62kaXqSqfTI4AngtEA1Bhni7jiipwiQy6/3yK8Y3soS++ZyS21Ih+W8=",
"client_id" : "ikoxxxxxxxxxxxxxxxx",
"options" : {
"token_lifetime" : 7200
}
}
HTTP响应示例
响应 200
{
"access_token" : "WzcPH/UdrH+maCgJI5LeXmR8kL8YD+s5fzdulp5fGLky2Ur+TVxTvsgX7SaUpPrxPBdmGFgFQFGYjZgEbXKbx8RHWvLN97sACK/eBtN1/vIKbkjoieuX62kaXqShfTI4AngtEA1B6nx7jiipwiQy6/3yK8Y3sqS++ZyS21Ih+W8=",
"token_create_time" : 1504579937,
"token_excess_time" : 7200,
"token_expire_at_server_time" : "2017-09-05 12:52:17"
}
3.2. 路由器授权查询类接口
Router Authorization Query【调用频度限制:60次 / 分钟】
3.2.1. 『获取授权设备列表』
POST /open/dev_list
说明
使用 AccessToken,获取授权的设备列表
参数
类型 | 名称 | 说明 | 类型 |
---|---|---|---|
Header |
IK-Access-Token |
调用『获取 AccessToken』接口成功后得到的 token |
string |
响应
HTTP代码 | 说明 | 类型 |
---|---|---|
200 |
正常响应正文 |
|
404 |
Not Found,请求地址无效或请求方法错误 |
无内容 |
429 |
调用超限 |
无内容 |
提交格式
-
application/json
返回格式
-
application/json
HTTP请求示例
请求 path
/open/dev_list
请求 header
"string"
HTTP响应示例
响应 200
{
"ErrorCode" : 0,
"ErrorMsg" : "success",
"Data" : [ {
"dev_id" : "xxxxx",
"dev_remark" : "xxxxx",
"owner_mobile" : "xxxxx",
"owner_qq" : "xxxxx",
"open_apis" : [ "1", "2", "3", "7", "8", "10", "12" ]
} ],
"Extra" : {
"version" : "3.x",
"other_field1" : 1,
"other_field2" : "xxxxx"
}
}
3.3. 路由器系统设置类接口
Router System Settings【调用频度限制:120次 / 分钟】
3.3.1. 『获取路由器基本信息』
POST /open/9/{gwid}
说明
固件、系统版本、ip地址,等……
参数
类型 | 名称 | 说明 | 类型 |
---|---|---|---|
Header |
IK-Access-Token |
调用『获取 AccessToken』接口成功后得到的 token |
string |
Path |
gwid |
设备的 gwid |
string |
响应
HTTP代码 | 说明 | 类型 |
---|---|---|
200 |
正常响应正文 |
|
404 |
Not Found,请求地址无效或请求方法错误 |
无内容 |
429 |
调用超限 |
无内容 |
提交格式
-
application/json
返回格式
-
application/json
HTTP请求示例
请求 path
/open/9/string
请求 header
"string"
HTTP响应示例
响应 200
{
"ErrorCode" : 3000,
"ErrorMsg" : "success",
"Data" : {
"name" : "iKuai-Router",
"ap_count" : "0",
"up_speed" : "11954",
"down_speed" : "10632",
"total_up" : "1220344280",
"total_down" : "5233241489",
"online" : "12",
"libver" : "1.9.157",
"sysuptime" : "173555",
"router_ver" : "2.6.7",
"partner" : "",
"gwid" : "xxxxx",
"enterprise" : "",
"firmware" : "IK-RouterOS",
"mac" : "00:11:22:33:44:55",
"reflexive_address" : "100.101.102.103"
}
}
3.3.2. 『设置路由器白名单』
POST /open/10/{gwid}
说明
设置直接放行的网址白名单
参数
类型 | 名称 | 说明 | 类型 |
---|---|---|---|
Header |
IK-Access-Token |
调用『获取 AccessToken』接口成功后得到的 token |
string |
Path |
gwid |
设备的 gwid |
string |
Body |
body |
JSON 格式的请求体 |
响应
HTTP代码 | 说明 | 类型 |
---|---|---|
200 |
正常响应正文 |
|
404 |
Not Found,请求地址无效或请求方法错误 |
无内容 |
429 |
调用超限 |
无内容 |
提交格式
-
application/json
返回格式
-
application/json
HTTP请求示例
请求 path
/open/10/string
请求 header
"string"
请求 body
{
"param" : {
"whitelist" : "baidu.com",
"whitelist_https" : "alipay.com",
"whiteip" : "8.8.8.8",
"noauth_mac" : "00:11:22:33:44:55,66:77:88:99:AA:BB"
}
}
HTTP响应示例
响应 200
{
"ErrorCode" : 0,
"ErrorMsg" : "success",
"Data" : { },
"Extra" : {
"version" : "3.x",
"other_field1" : 1,
"other_field2" : "xxxxx"
}
}
3.4. 路由器认证计费类接口
Router Auth Billing【调用频度限制:120次 / 分钟】
3.4.1. 『获取账号列表』
POST /open/1/{gwid}
说明
获取指定设备的认证账号列表
参数
类型 | 名称 | 说明 | 类型 |
---|---|---|---|
Header |
IK-Access-Token |
调用『获取 AccessToken』接口成功后得到的 token |
string |
Path |
gwid |
设备的 gwid |
string |
Body |
body |
JSON 格式的请求体 |
响应
HTTP代码 | 说明 | 类型 |
---|---|---|
200 |
正常响应正文 |
|
404 |
Not Found,请求地址无效或请求方法错误 |
无内容 |
429 |
调用超限 |
无内容 |
提交格式
-
application/json
返回格式
-
application/json
HTTP请求示例
请求 path
/open/1/string
请求 header
"string"
请求 body
{
"param" : {
"TYPE" : "data"
}
}
HTTP响应示例
响应 200
{
"ErrorCode" : 0,
"ErrorMsg" : "success",
"Data" : [ {
"share" : 1,
"comment" : "备注",
"download" : 1000,
"auto_mac" : 0,
"bind_vlanid" : "0",
"username" : "username",
"ip_addr" : "10.10.10.10",
"ppptype" : "pppoe",
"mac" : "00:11:22:33:44:55",
"phone" : "138xxxxxxxx",
"upload" : 0,
"id" : 1,
"cardid" : "xxxxx",
"packages" : 0,
"passwd" : "xxxxx",
"create_time" : 1504591262,
"name" : "姓名",
"address" : "xxxxx",
"enabled" : "yes",
"start_time" : 1504591262,
"bind_ifname" : "vlan1",
"expires" : 1504595262,
"auto_vlanid" : 0,
"last_conntime" : 1504595262
} ],
"Extra" : {
"version" : "3.x",
"other_field1" : 1,
"other_field2" : "xxxxx"
}
}
3.4.2. 『在线用户踢下线』
POST /open/3/{gwid}
说明
使用用户 mac 踢下线 (较新版本的路由器支持其他方式,如:username)
参数
类型 | 名称 | 说明 | 类型 |
---|---|---|---|
Header |
IK-Access-Token |
调用『获取 AccessToken』接口成功后得到的 token |
string |
Path |
gwid |
设备的 gwid |
string |
Body |
body |
JSON 格式的请求体 |
响应
HTTP代码 | 说明 | 类型 |
---|---|---|
200 |
正常响应正文 |
|
404 |
Not Found,请求地址无效或请求方法错误 |
无内容 |
429 |
调用超限 |
无内容 |
提交格式
-
application/json
返回格式
-
application/json
HTTP请求示例
请求 path
/open/3/string
请求 header
"string"
请求 body
{
"param" : {
"mac" : "00:11:22:33:44:55",
"username" : "OldJack"
}
}
HTTP响应示例
响应 200
{
"ErrorCode" : 0,
"ErrorMsg" : "success",
"Data" : { },
"Extra" : {
"version" : "3.x",
"other_field1" : 1,
"other_field2" : "xxxxx"
}
}
3.4.3. 『获取在线用户列表』
POST /open/4/{gwid}
说明
查询当前路由器在线用户
参数
类型 | 名称 | 说明 | 类型 |
---|---|---|---|
Header |
IK-Access-Token |
调用『获取 AccessToken』接口成功后得到的 token |
string |
Path |
gwid |
设备的 gwid |
string |
Body |
body |
JSON 格式的请求体 |
响应
HTTP代码 | 说明 | 类型 |
---|---|---|
200 |
正常响应正文 |
|
404 |
Not Found,请求地址无效或请求方法错误 |
无内容 |
429 |
调用超限 |
无内容 |
提交格式
-
application/json
返回格式
-
application/json
HTTP请求示例
请求 path
/open/4/string
请求 header
"string"
请求 body
{
"param" : {
"TYPE" : "data",
"skip" : 0,
"limit" : 10
}
}
HTTP响应示例
响应 200
{
"ErrorCode" : 0,
"ErrorMsg" : "success",
"Data" : [ {
"ip" : "1.2.3.4",
"mac" : "00:11:22:33:44:55",
"type" : 0,
"up" : 0,
"down" : 0,
"connect" : 0,
"total_up" : "xxxxx",
"total_down" : "xxxxx",
"connect_time" : "xxxxx",
"id" : "10",
"auth_time" : "xxxxx",
"session" : "xxxxx",
"username" : "xxxxx",
"ppptype" : "pppoe",
"pppdev" : "xxxxx",
"ip_addr" : "10.11.12.13",
"ip_addr_int" : "168496141",
"upload" : "1000",
"download" : "10000",
"interface" : "eth0",
"expires" : "0",
"phone" : "138xxxxxxxx",
"name" : "realname",
"comment" : "comment",
"webid" : "1"
} ],
"Extra" : {
"version" : "3.x",
"other_field1" : 1,
"other_field2" : "xxxxx"
}
}
3.4.4. 『添加账号』
POST /open/5/{gwid}
说明
为指定路由添加上网账号
参数
类型 | 名称 | 说明 | 类型 |
---|---|---|---|
Header |
IK-Access-Token |
调用『获取 AccessToken』接口成功后得到的 token |
string |
Path |
gwid |
设备的 gwid |
string |
Body |
body |
JSON 格式的请求体 |
响应
HTTP代码 | 说明 | 类型 |
---|---|---|
200 |
正常响应正文 |
|
404 |
Not Found,请求地址无效或请求方法错误 |
无内容 |
429 |
调用超限 |
无内容 |
提交格式
-
application/json
返回格式
-
application/json
HTTP请求示例
请求 path
/open/5/string
请求 header
"string"
请求 body
{
"param" : {
"share" : 1,
"comment" : "备注",
"download" : 1000,
"auto_mac" : 0,
"bind_vlanid" : "0",
"username" : "username",
"ip_addr" : "10.10.10.10",
"ppptype" : "pppoe",
"mac" : "00:11:22:33:44:55",
"phone" : "138xxxxxxxx",
"upload" : 0,
"cardid" : "xxxxx",
"packages" : 0,
"passwd" : "xxxxx",
"create_time" : 1504591262,
"name" : "姓名",
"address" : "xxxxx",
"enabled" : "yes",
"start_time" : 1504591262,
"bind_ifname" : "any",
"expires" : 1504595262,
"auto_vlanid" : 0,
"last_conntime" : 1504595262
}
}
HTTP响应示例
响应 200
{
"ErrorCode" : 3000,
"ErrorMsg" : "success",
"Data" : { },
"Extra" : {
"version" : "3.x",
"id" : 1,
"RowId" : 1
}
}
3.4.5. 『修改账号』
POST /open/6/{gwid}
说明
修改指定路由的某上网账号
参数
类型 | 名称 | 说明 | 类型 |
---|---|---|---|
Header |
IK-Access-Token |
调用『获取 AccessToken』接口成功后得到的 token |
string |
Path |
gwid |
设备的 gwid |
string |
Body |
body |
JSON 格式的请求体 |
响应
HTTP代码 | 说明 | 类型 |
---|---|---|
200 |
正常响应正文 |
|
404 |
Not Found,请求地址无效或请求方法错误 |
无内容 |
429 |
调用超限 |
无内容 |
提交格式
-
application/json
返回格式
-
application/json
HTTP请求示例
请求 path
/open/6/string
请求 header
"string"
请求 body
{
"param" : {
"share" : 1,
"comment" : "备注",
"download" : 1000,
"auto_mac" : 0,
"bind_vlanid" : "0",
"username" : "username",
"ip_addr" : "10.10.10.10",
"ppptype" : "pppoe",
"mac" : "00:11:22:33:44:55",
"phone" : "138xxxxxxxx",
"upload" : 0,
"id" : 1,
"cardid" : "xxxxx",
"packages" : 0,
"passwd" : "xxxxx",
"create_time" : 1504591262,
"name" : "姓名",
"address" : "xxxxx",
"enabled" : "yes",
"start_time" : 1504591262,
"bind_ifname" : "vlan1",
"expires" : 1504595262,
"auto_vlanid" : 0,
"last_conntime" : 1504595262
}
}
HTTP响应示例
响应 200
{
"ErrorCode" : 0,
"ErrorMsg" : "success",
"Data" : { },
"Extra" : {
"version" : "3.x",
"other_field1" : 1,
"other_field2" : "xxxxx"
}
}
3.4.6. 『启用/停用账号』
POST /open/7/{gwid}
说明
启用/停用指定路由的某上网账号
参数
类型 | 名称 | 说明 | 类型 |
---|---|---|---|
Header |
IK-Access-Token |
调用『获取 AccessToken』接口成功后得到的 token |
string |
Path |
gwid |
设备的 gwid |
string |
Body |
body |
JSON 格式的请求体 |
响应
HTTP代码 | 说明 | 类型 |
---|---|---|
200 |
正常响应正文 |
|
404 |
Not Found,请求地址无效或请求方法错误 |
无内容 |
429 |
调用超限 |
无内容 |
提交格式
-
application/json
返回格式
-
application/json
HTTP请求示例
请求 path
/open/7/string
请求 header
"string"
请求 body
{
"param" : {
"id" : 1,
"status" : "up"
}
}
HTTP响应示例
响应 200
{
"ErrorCode" : 0,
"ErrorMsg" : "success",
"Data" : { },
"Extra" : {
"version" : "3.x",
"other_field1" : 1,
"other_field2" : "xxxxx"
}
}
3.4.7. 『删除账号』
POST /open/8/{gwid}
说明
启用/停用指定路由的某上网账号
参数
类型 | 名称 | 说明 | 类型 |
---|---|---|---|
Header |
IK-Access-Token |
调用『获取 AccessToken』接口成功后得到的 token |
string |
Path |
gwid |
设备的 gwid |
string |
Body |
body |
JSON 格式的请求体 |
响应
HTTP代码 | 说明 | 类型 |
---|---|---|
200 |
正常响应正文 |
|
404 |
Not Found,请求地址无效或请求方法错误 |
无内容 |
429 |
调用超限 |
无内容 |
提交格式
-
application/json
返回格式
-
application/json
HTTP请求示例
请求 path
/open/8/string
请求 header
"string"
请求 body
{
"param" : {
"id" : 1
}
}
HTTP响应示例
响应 200
{
"ErrorCode" : 0,
"ErrorMsg" : "success",
"Data" : { },
"Extra" : {
"version" : "3.x",
"other_field1" : 1,
"other_field2" : "xxxxx"
}
}
3.4.8. 『查询账号』
POST /open/11/{gwid}
说明
使用用户名查询账号信息
参数
类型 | 名称 | 说明 | 类型 |
---|---|---|---|
Header |
IK-Access-Token |
调用『获取 AccessToken』接口成功后得到的 token |
string |
Path |
gwid |
设备的 gwid |
string |
Body |
body |
JSON 格式的请求体 |
响应
HTTP代码 | 说明 | 类型 |
---|---|---|
200 |
正常响应正文 |
|
404 |
Not Found,请求地址无效或请求方法错误 |
无内容 |
429 |
调用超限 |
无内容 |
提交格式
-
application/json
返回格式
-
application/json
HTTP请求示例
请求 path
/open/11/string
请求 header
"string"
请求 body
{
"param" : {
"username" : "username"
}
}
HTTP响应示例
响应 200
{
"ErrorCode" : 0,
"ErrorMsg" : "success",
"Data" : [ {
"share" : 1,
"comment" : "备注",
"download" : 1000,
"auto_mac" : 0,
"bind_vlanid" : "0",
"username" : "username",
"ip_addr" : "10.10.10.10",
"ppptype" : "pppoe",
"mac" : "00:11:22:33:44:55",
"phone" : "138xxxxxxxx",
"upload" : 0,
"id" : 1,
"cardid" : "xxxxx",
"packages" : 0,
"passwd" : "xxxxx",
"create_time" : 1504591262,
"name" : "姓名",
"address" : "xxxxx",
"enabled" : "yes",
"start_time" : 1504591262,
"bind_ifname" : "vlan1",
"expires" : 1504595262,
"auto_vlanid" : 0,
"last_conntime" : 1504595262
} ],
"Extra" : {
"version" : "3.x",
"other_field1" : 1,
"other_field2" : "xxxxx"
}
}
3.4.9. 『添加优惠券』
POST /open/18/{gwid}
说明
添加优惠券
参数
类型 | 名称 | 说明 | 类型 |
---|---|---|---|
Header |
IK-Access-Token |
调用『获取 AccessToken』接口成功后得到的 token |
string |
Path |
gwid |
设备的 gwid |
string |
Body |
body |
JSON 格式的请求体 |
响应
HTTP代码 | 说明 | 类型 |
---|---|---|
200 |
正常响应正文 |
|
404 |
Not Found,请求地址无效或请求方法错误 |
无内容 |
429 |
调用超限 |
无内容 |
提交格式
-
application/json
返回格式
-
application/json
HTTP请求示例
请求 path
/open/18/string
请求 header
"string"
请求 body
{
"param" : {
"comment" : "备注",
"username" : "coupon_code",
"enabled" : "yes",
"expires" : 1504595262,
"timeout" : 3600
}
}
HTTP响应示例
响应 200
{
"ErrorCode" : 3000,
"ErrorMsg" : "success",
"Data" : { },
"Extra" : {
"version" : "3.x",
"RowId" : 1
}
}
3.4.10. 『删除优惠券』
POST /open/19/{gwid}
说明
删除优惠券
参数
类型 | 名称 | 说明 | 类型 |
---|---|---|---|
Header |
IK-Access-Token |
调用『获取 AccessToken』接口成功后得到的 token |
string |
Path |
gwid |
设备的 gwid |
string |
Body |
body |
JSON 格式的请求体 |
响应
HTTP代码 | 说明 | 类型 |
---|---|---|
200 |
正常响应正文 |
|
404 |
Not Found,请求地址无效或请求方法错误 |
无内容 |
429 |
调用超限 |
无内容 |
提交格式
-
application/json
返回格式
-
application/json
HTTP请求示例
请求 path
/open/19/string
请求 header
"string"
请求 body
{
"param" : {
"id" : 1
}
}
HTTP响应示例
响应 200
{
"ErrorCode" : 0,
"ErrorMsg" : "success",
"Data" : { },
"Extra" : {
"version" : "3.x",
"other_field1" : 1,
"other_field2" : "xxxxx"
}
}
3.4.11. 『编辑优惠券』
POST /open/20/{gwid}
说明
编辑优惠券
参数
类型 | 名称 | 说明 | 类型 |
---|---|---|---|
Header |
IK-Access-Token |
调用『获取 AccessToken』接口成功后得到的 token |
string |
Path |
gwid |
设备的 gwid |
string |
Body |
body |
JSON 格式的请求体 |
响应
HTTP代码 | 说明 | 类型 |
---|---|---|
200 |
正常响应正文 |
|
404 |
Not Found,请求地址无效或请求方法错误 |
无内容 |
429 |
调用超限 |
无内容 |
提交格式
-
application/json
返回格式
-
application/json
HTTP请求示例
请求 path
/open/20/string
请求 header
"string"
请求 body
{
"param" : {
"id" : 1,
"comment" : "备注",
"username" : "coupon_code",
"enabled" : "yes",
"expires" : 1504595262,
"timeout" : 3600
}
}
HTTP响应示例
响应 200
{
"ErrorCode" : 3000,
"ErrorMsg" : "success",
"Data" : { },
"Extra" : {
"version" : "3.x"
}
}
3.4.12. 『获取优惠券列表』
POST /open/21/{gwid}
说明
获取指定设备的优惠券列表
参数
类型 | 名称 | 说明 | 类型 |
---|---|---|---|
Header |
IK-Access-Token |
调用『获取 AccessToken』接口成功后得到的 token |
string |
Path |
gwid |
设备的 gwid |
string |
Body |
body |
JSON 格式的请求体 |
响应
HTTP代码 | 说明 | 类型 |
---|---|---|
200 |
正常响应正文 |
|
404 |
Not Found,请求地址无效或请求方法错误 |
无内容 |
429 |
调用超限 |
无内容 |
提交格式
-
application/json
返回格式
-
application/json
HTTP请求示例
请求 path
/open/21/string
请求 header
"string"
请求 body
{
"param" : {
"TYPE" : "data",
"skip" : 0,
"limit" : 10
}
}
HTTP响应示例
响应 200
{
"ErrorCode" : 0,
"ErrorMsg" : "success",
"Data" : [ {
"id" : 1,
"comment" : "备注",
"username" : "coupon_code",
"enabled" : "yes",
"expires" : 1504595262,
"timeout" : 3600,
"used" : 1
} ],
"Extra" : {
"version" : "3.x",
"other_field1" : 1,
"other_field2" : "xxxxx"
}
}
3.4.13. 『推送/更新自定义认证信息』
POST /custom/22/{gwid}
说明
将指定路由器上的某个上网用户的认证信息,发送到 iKuai 开放平台,如果当前不存在则创建,已存在则更新。重要:认证类型支持多种,但一次只能定义一种,其他留空。调用 API 时选择的认证类型、在爱快云配置下发的认证类型、用户认证上网时填写的认证类型必须一致,否则无法校验认证信息。
参数
类型 | 名称 | 说明 | 类型 |
---|---|---|---|
Header |
IK-Access-Token |
调用『获取 AccessToken』接口成功后得到的 token |
string |
Path |
gwid |
设备的 gwid |
string |
Body |
body |
JSON 格式的请求体 |
响应
HTTP代码 | 说明 | 类型 |
---|---|---|
200 |
正常响应正文 |
|
404 |
Not Found,请求地址无效或请求方法错误 |
无内容 |
429 |
调用超限 |
无内容 |
提交格式
-
application/json
返回格式
-
application/json
HTTP请求示例
请求 path
/custom/22/string
请求 header
"string"
请求 body
{
"param" : {
"user_id" : "user_identifer",
"mobile" : "",
"card_id" : "xxxxxxxxxx",
"adsl_id" : "",
"passport" : "",
"eep_id" : "",
"room_number" : "",
"other" : "",
"imsi" : "xxxxx",
"imei" : "xxxxx",
"name" : "Pete",
"upload" : 13579,
"download" : 24680,
"expires" : 1504595262,
"comment" : "备注"
}
}
HTTP响应示例
响应 200
{
"ErrorCode" : 0,
"ErrorMsg" : "success",
"Data" : [ {
"username" : "b57d72a1ec69235ffbb3cdf007eae3c6"
} ],
"Extra" : {
"version" : "3.x",
"other_field1" : 1,
"other_field2" : "xxxxx"
}
}
3.4.14. 『获取自定义认证用户列表』
POST /custom/23/{gwid}
说明
获取指定设备的上的自定义认证用户列表
参数
类型 | 名称 | 说明 | 类型 |
---|---|---|---|
Header |
IK-Access-Token |
调用『获取 AccessToken』接口成功后得到的 token |
string |
Path |
gwid |
设备的 gwid |
string |
响应
HTTP代码 | 说明 | 类型 |
---|---|---|
200 |
正常响应正文 |
|
404 |
Not Found,请求地址无效或请求方法错误 |
无内容 |
429 |
调用超限 |
无内容 |
提交格式
-
application/json
返回格式
-
application/json
HTTP请求示例
请求 path
/custom/23/string
请求 header
"string"
HTTP响应示例
响应 200
{
"ErrorCode" : 0,
"ErrorMsg" : "success",
"Data" : [ {
"username" : "e57d72e1ec69d35ffbb3cd2f0aeae3c6",
"mobile" : "",
"card_id" : "xxxxxxxxxx",
"adsl_id" : "",
"passport" : "",
"eep_id" : "",
"room_number" : "",
"other" : "",
"imsi" : "xxxxx",
"imei" : "xxxxx",
"name" : "Pete",
"upload" : 13579,
"download" : 24680,
"expires" : 1504595262,
"comment" : "备注",
"created_at" : "2018-02-20 01:02:03",
"updated_at" : "2018-02-21 04:05:06"
} ],
"Extra" : {
"version" : "3.x",
"other_field1" : 1,
"other_field2" : "xxxxx"
}
}
3.4.15. 『删除自定义认证信息』
POST /custom/24/{gwid}
说明
以 username 为标识,删除某台路由器上的自定义认证用户
参数
类型 | 名称 | 说明 | 类型 |
---|---|---|---|
Header |
IK-Access-Token |
调用『获取 AccessToken』接口成功后得到的 token |
string |
Path |
gwid |
设备的 gwid |
string |
Body |
body |
JSON 格式的请求体 |
响应
HTTP代码 | 说明 | 类型 |
---|---|---|
200 |
正常响应正文 |
|
404 |
Not Found,请求地址无效或请求方法错误 |
无内容 |
429 |
调用超限 |
无内容 |
提交格式
-
application/json
返回格式
-
application/json
HTTP请求示例
请求 path
/custom/24/string
请求 header
"string"
请求 body
{
"param" : {
"username" : "b57d72a1ec69235ffbb3cdf007eae3c6"
}
}
HTTP响应示例
响应 200
{
"ErrorCode" : 0,
"ErrorMsg" : "success",
"Data" : { },
"Extra" : {
"version" : "3.x",
"other_field1" : 1,
"other_field2" : "xxxxx"
}
}
3.4.16. 『更新自定义认证信息』
POST /custom/25/{gwid}
说明
以 username 为标识,更新某台路由器上的自定义认证用户信息
参数
类型 | 名称 | 说明 | 类型 |
---|---|---|---|
Header |
IK-Access-Token |
调用『获取 AccessToken』接口成功后得到的 token |
string |
Path |
gwid |
设备的 gwid |
string |
Body |
body |
JSON 格式的请求体 |
响应
HTTP代码 | 说明 | 类型 |
---|---|---|
200 |
正常响应正文 |
|
404 |
Not Found,请求地址无效或请求方法错误 |
无内容 |
429 |
调用超限 |
无内容 |
提交格式
-
application/json
返回格式
-
application/json
HTTP请求示例
请求 path
/custom/25/string
请求 header
"string"
请求 body
{
"param" : {
"username" : "b57d72a1ec69235ffbb3cdf007eae3c6",
"mobile" : "xxxxxxxxxx",
"card_id" : "xxxxxxxxxx",
"adsl_id" : "xxxxxxxxxx",
"passport" : "xxxxxxxxxx",
"eep_id" : "xxxxxxxxxx",
"room_number" : "xxxxxxxxxx",
"other" : "xxxxxxxxxx",
"imsi" : "xxxxx",
"imei" : "xxxxx",
"name" : "Pete",
"upload" : 13579,
"download" : 24680,
"expires" : 1504595262,
"comment" : "备注"
}
}
HTTP响应示例
响应 200
{
"ErrorCode" : 0,
"ErrorMsg" : "success",
"Data" : { },
"Extra" : {
"version" : "3.x",
"other_field1" : 1,
"other_field2" : "xxxxx"
}
}
4. 定义
4.1. AccessTokenRequest
名称 | 说明 | 类型 |
---|---|---|
client_id |
|
string |
client_type |
|
enum (OPEN_PARTNER) |
options |
||
request_time |
发起请求时的真实时间戳(UNIX_TIMESTAMP),不能与服务器误差太大 |
integer |
sign |
|
string |
4.2. AccessTokenRequestOptions
名称 | 说明 | 类型 |
---|---|---|
token_lifetime |
期望的 AccessToken 存活时长(单位秒) |
integer |
4.3. AccessTokenRefreshRequest
名称 | 说明 | 类型 |
---|---|---|
access_token |
|
string |
client_id |
|
string |
options |
4.4. AccessToken
名称 | 说明 | 类型 |
---|---|---|
access_token |
AccessToken,用来在对应的授权设备上调用 iKuai Open API |
string |
token_create_time |
AccessToken 创建时间戳(以服务器时间为准) |
integer |
token_excess_time |
AccessToken 剩余时长(单位秒) |
integer |
token_expire_at_server_time |
友好格式的 AccessToken 过期时间(以服务器时间为准) |
string |
4.5. AccountCreationRequest
名称 | 说明 | 类型 |
---|---|---|
param |
4.6. AccountCreationReqBody
名称 | 说明 | 类型 |
---|---|---|
address |
住址(最大长度512) |
string |
auto_mac |
自动绑定MAC,0-关闭,1-开启 |
integer |
auto_vlanid |
0-关闭,1-开启 (iK-Router 3.2.0+ 专有) |
integer |
bind_ifname |
绑定网卡 |
string |
bind_vlanid |
绑定vlanid(0表示不绑定;支持格式2000/2000.400;范围1~4090) |
string |
cardid |
证件号码(最大长度64) |
string |
comment |
备注 |
string |
create_time |
创建时间 |
integer |
download |
下载 |
integer |
enabled |
状态 |
enum (yes, no) |
expires |
过期日期 |
integer |
ip_addr |
固定IP |
string |
last_conntime |
最后一次连接时间戳,0表示显示为空 (iK-Router 3.2.0+ 专有) |
integer |
mac |
绑定MAC |
string |
name |
姓名(最大长度128) |
string |
packages |
套餐类型(对应套餐功能的id, 0表示自定义) |
integer |
passwd |
密码(最大长度128) |
string |
phone |
手机(最大长度64) |
string |
ppptype |
拨号类型(any、pppoe、pptp、l2tp、ovpn、web) |
enum (any, pppoe, pptp, l2tp, ovpn, web) |
share |
共享数 |
integer |
start_time |
开始时期 |
integer |
upload |
upload |
integer |
username |
用户名 |
string |
4.7. AccountCreationResponse
名称 | 说明 | 类型 |
---|---|---|
Data |
|
|
ErrorCode |
|
integer |
ErrorMsg |
|
string |
Extra |
4.8. AccountCreationResponseExtra
名称 | 说明 | 类型 |
---|---|---|
RowId |
添加成功的账号ID (iK-Router 3.x 专有) |
integer |
id |
添加成功的账号ID (iK-Router 2.x 专有) |
integer |
version |
返回数据对应路由的版本,该字段对于区分不同版本路由返回的数据格式,进而编写分支逻辑非常有用 |
string |
4.9. AccountListReqeust
名称 | 说明 | 类型 |
---|---|---|
param |
|
4.10. AccountListReqBody
名称 | 说明 | 类型 |
---|---|---|
TYPE |
|
string |
4.11. AccountListResponse
名称 | 说明 | 类型 |
---|---|---|
Data |
|
< Account > array |
ErrorCode |
|
integer |
ErrorMsg |
|
string |
Extra |
|
4.12. AccountDeleteRequest
名称 | 说明 | 类型 |
---|---|---|
param |
|
4.13. AccountDeleteReqBody
名称 | 说明 | 类型 |
---|---|---|
id |
id |
integer |
4.14. AccountStatusRequest
名称 | 说明 | 类型 |
---|---|---|
param |
|
4.15. AccountStatusReqBody
名称 | 说明 | 类型 |
---|---|---|
id |
id |
integer |
status |
设置目标状态 |
enum (up, down) |
4.17. Account
名称 | 说明 | 类型 |
---|---|---|
address |
住址(最大长度512) |
string |
auto_mac |
自动绑定MAC,0-关闭,1-开启 |
integer |
auto_vlanid |
0-关闭,1-开启 (iK-Router 3.2.0+ 专有) |
integer |
bind_ifname |
绑定网卡 |
string |
bind_vlanid |
绑定vlanid(0表示不绑定;支持格式2000/2000.400;范围1~4090) |
string |
cardid |
证件号码(最大长度64) |
string |
comment |
备注 |
string |
create_time |
创建时间 |
integer |
download |
下载 |
integer |
enabled |
状态 |
enum (yes, no) |
expires |
过期日期 |
integer |
id |
id |
integer |
ip_addr |
固定IP |
string |
last_conntime |
最后一次连接时间戳,0表示显示为空 (iK-Router 3.2.0+ 专有) |
integer |
mac |
绑定MAC |
string |
name |
姓名(最大长度128) |
string |
packages |
套餐类型(对应套餐功能的id, 0表示自定义) |
integer |
passwd |
密码(最大长度128) |
string |
phone |
手机(最大长度64) |
string |
ppptype |
拨号类型(any、pppoe、pptp、l2tp、ovpn、web) |
enum (any, pppoe, pptp, l2tp, ovpn, web) |
share |
共享数 |
integer |
start_time |
开始时期 |
integer |
upload |
upload |
integer |
username |
用户名 |
string |
4.18. CouponAddingRequest
名称 | 说明 | 类型 |
---|---|---|
param |
|
4.19. CouponAddingReqBody
名称 | 说明 | 类型 |
---|---|---|
comment |
备注 |
string |
enabled |
状态 |
enum (yes, no) |
expires |
过期日期 |
integer |
timeout |
时限(秒) |
integer |
username |
优惠券代码 |
string |
4.20. CouponAddingResponse
名称 | 说明 | 类型 |
---|---|---|
Data |
|
|
ErrorCode |
|
integer |
ErrorMsg |
|
string |
Extra |
4.21. CouponAddingResponseExtra
名称 | 说明 | 类型 |
---|---|---|
RowId |
添加成功后的ID (iK-Router 3.x 专有) |
integer |
version |
返回数据对应路由的版本,该字段对于区分不同版本路由返回的数据格式,进而编写分支逻辑非常有用 |
string |
4.22. CouponDeleteRequest
名称 | 说明 | 类型 |
---|---|---|
param |
|
4.23. CouponDeleteReqBody
名称 | 说明 | 类型 |
---|---|---|
id |
id |
integer |
4.24. CouponEditRequest
名称 | 说明 | 类型 |
---|---|---|
param |
|
4.25. CouponEditReqBody
名称 | 说明 | 类型 |
---|---|---|
comment |
备注 |
string |
enabled |
状态 |
enum (yes, no) |
expires |
过期日期 |
integer |
id |
优惠券 ID |
integer |
timeout |
时限(秒) |
integer |
username |
优惠券代码 |
string |
4.26. CouponEditResponse
名称 | 说明 | 类型 |
---|---|---|
Data |
|
|
ErrorCode |
|
integer |
ErrorMsg |
|
string |
Extra |
4.27. CouponEditResponseExtra
名称 | 说明 | 类型 |
---|---|---|
version |
返回数据对应路由的版本,该字段对于区分不同版本路由返回的数据格式,进而编写分支逻辑非常有用 |
string |
4.28. CouponListReqeust
名称 | 说明 | 类型 |
---|---|---|
param |
|
4.29. CouponListReqBody
名称 | 说明 | 类型 |
---|---|---|
TYPE |
|
string |
limit |
|
integer |
skip |
|
integer |
4.30. CouponListResponse
名称 | 说明 | 类型 |
---|---|---|
Data |
|
< Coupon > array |
ErrorCode |
|
integer |
ErrorMsg |
|
string |
Extra |
|
4.31. Coupon
名称 | 说明 | 类型 |
---|---|---|
comment |
备注 |
string |
enabled |
状态 |
enum (yes, no) |
expires |
过期日期 |
integer |
id |
优惠券 ID |
integer |
timeout |
时限(秒) |
integer |
used |
是否使用过(1:是,0:否) |
integer |
username |
优惠券代码 |
string |
4.32. CustomAuthInfoRequest
名称 | 说明 | 类型 |
---|---|---|
param |
4.33. CustomAuthInfoReqBody
名称 | 说明 | 类型 |
---|---|---|
adsl_id |
宽带账号(认证类型,单选) |
string |
card_id |
身份证(认证类型,单选) |
string |
comment |
备注 |
string |
download |
下行限速 |
integer (int32) |
eep_id |
港澳通行证(认证类型,单选) |
string |
expires |
过期时间戳 |
integer |
imei |
IMEI |
string |
imsi |
IMSI |
string |
mobile |
手机号(认证类型,单选) |
string |
name |
优惠券代码 |
string |
other |
其他类型(认证类型,单选) |
string |
passport |
护照号码(认证类型,单选) |
string |
room_number |
房间号(认证类型,单选) |
string |
upload |
上行限速 |
integer (int32) |
user_id |
开发者自行定义的 user_id,该字段不参与认证信息鉴别,仅供开发者鉴别自己的用户标识用途 |
string |
4.34. CustomAuthInfoResponse
名称 | 说明 | 类型 |
---|---|---|
Data |
|
< CustomAuthInfoUsername > array |
ErrorCode |
|
integer |
ErrorMsg |
|
string |
Extra |
|
4.35. CustomAuthInfoUsername
名称 | 说明 | 类型 |
---|---|---|
username |
用户的唯一标识(路由器里的上网用户的 username),踢用户下线等操作需要此键值 |
string |
4.36. CustomAuthInfoUser
名称 | 说明 | 类型 |
---|---|---|
adsl_id |
宽带账号(认证类型,单选) |
string |
card_id |
身份证(认证类型,单选) |
string |
comment |
备注 |
string |
created_at |
创建时间 |
string |
download |
下行限速 |
integer (int32) |
eep_id |
港澳通行证(认证类型,单选) |
string |
expires |
过期时间戳 |
integer |
imei |
IMEI |
string |
imsi |
IMSI |
string |
mobile |
手机号(认证类型,单选) |
string |
name |
优惠券代码 |
string |
other |
其他类型(认证类型,单选) |
string |
passport |
护照号码(认证类型,单选) |
string |
room_number |
房间号(认证类型,单选) |
string |
updated_at |
最后更新时间 |
string |
upload |
上行限速 |
integer (int32) |
username |
认真用户的唯一标识,踢用户下线时需要此键值 |
string |
4.37. CustomAuthUserListResponse
名称 | 说明 | 类型 |
---|---|---|
Data |
|
< CustomAuthInfoUser > array |
ErrorCode |
|
integer |
ErrorMsg |
|
string |
Extra |
|
4.38. CustomAuthUserUpdateRequest
名称 | 说明 | 类型 |
---|---|---|
param |
4.39. CustomAuthUserUpdateReqBody
名称 | 说明 | 类型 |
---|---|---|
adsl_id |
宽带账号(认证类型,单选) |
string |
card_id |
身份证(认证类型,单选) |
string |
comment |
备注 |
string |
download |
下行限速 |
integer (int32) |
eep_id |
港澳通行证(认证类型,单选) |
string |
expires |
过期时间戳 |
integer |
imei |
IMEI |
string |
imsi |
IMSI |
string |
mobile |
手机号(认证类型,单选) |
string |
name |
优惠券代码 |
string |
other |
其他类型(认证类型,单选) |
string |
passport |
护照号码(认证类型,单选) |
string |
room_number |
房间号(认证类型,单选) |
string |
upload |
上行限速 |
integer (int32) |
username |
自定义认证的唯一标识,与路由器中的 username 对应 |
string |
4.40. CustomAuthUserDeleteRequest
名称 | 说明 | 类型 |
---|---|---|
param |
4.41. CustomAuthUserDeleteReqBody
名称 | 说明 | 类型 |
---|---|---|
username |
自定义认证的唯一标识,与路由器中的 username 对应 |
string |
4.42. DeviceListResponse
名称 | 说明 | 类型 |
---|---|---|
Data |
|
< Device > array |
ErrorCode |
|
integer |
ErrorMsg |
|
string |
Extra |
|
4.43. Device
名称 | 说明 | 类型 |
---|---|---|
dev_id |
设备ID |
string |
dev_remark |
设备友好名称 |
string |
open_apis |
平台合作商,在本设备上可以调用的 api_id 列表 |
< string > array |
owner_mobile |
设备所有者手机号 |
string |
owner_qq |
设备所有者QQ号 |
string |
4.44. FindAccountByUsername
名称 | 说明 | 类型 |
---|---|---|
param |
4.45. FindAccountByUsernameReqBody
名称 | 说明 | 类型 |
---|---|---|
username |
账号名 |
string |
4.46. OnlineUserKickRequest
名称 | 说明 | 类型 |
---|---|---|
param |
4.47. OnlineUserKickReqBody
名称 | 说明 | 类型 |
---|---|---|
mac |
使用 mac 地址 下线用户 (绝大多数情况下的通用方式) |
string |
username |
使用 username 下线用户 (仅 iK-Router 3.1.6 以上版本) |
string |
4.48. OnlineUserListRequest
名称 | 说明 | 类型 |
---|---|---|
param |
4.49. OnlineUserListReqBody
名称 | 说明 | 类型 |
---|---|---|
TYPE |
|
string |
limit |
获取多少条 |
integer |
skip |
跳过多少条 |
integer |
4.50. OnlineUser
名称 | 说明 | 类型 |
---|---|---|
auth_time |
认证时间(时间戳) (iK-Router 3.x 专有) |
string |
comment |
备注 (iK-Router 3.x 专有) |
string |
connect |
连接数 (iK-Router 2.x 专有) |
integer |
connect_time |
连接时长 (iK-Router 2.x 专有) |
string |
down |
下行流量 (iK-Router 2.x 专有) |
integer |
download |
限速下行 (iK-Router 3.x 专有) |
string |
expires |
过期时间(时间戳,0表示不限) (iK-Router 3.x 专有) |
string |
id |
id (iK-Router 3.x 专有) |
string |
interface |
接口名称 (iK-Router 3.x 专有) |
string |
ip |
IP地址 (iK-Router 2.x 专有) |
string |
ip_addr |
客户机IP (iK-Router 3.x 专有) |
string |
ip_addr_int |
客户机IP整数 (iK-Router 3.x 专有) |
string |
mac |
MAC地址 |
string |
name |
姓名 (iK-Router 3.x 专有) |
string |
phone |
手机号 (iK-Router 3.x 专有) |
string |
pppdev |
pppd设备 (iK-Router 3.x 专有) |
string |
ppptype |
拨号类型(any、pppoe、pptp、l2tp、ovpn、web) (iK-Router 3.x 专有) |
enum (any, pppoe, pptp, l2tp, ovpn, web) |
session |
SESSION (iK-Router 3.x 专有) |
string |
total_down |
累计下行流量 (iK-Router 2.x 专有) |
string |
total_up |
累计上行流量 (iK-Router 2.x 专有) |
string |
type |
认证方式 (iK-Router 2.x 专有) 0-未认证, 1-用户密码, 2-优惠券, 3-固定密码, 4-手机,
5-腾讯QQ, 6-微博, 7-无密码, 8-微信, 9-支付宝, 10-手机管家, 11-免费试用, 12-微信连wifi |
integer |
up |
上行流量 (iK-Router 2.x 专有) |
integer |
upload |
限速上行 (iK-Router 3.x 专有) |
string |
username |
用户名 (iK-Router 3.x 专有) |
string |
webid |
WEB认证类型ID(只对web认证有效,如微信、一键认证……) (iK-Router 3.x 专有) |
string |
4.51. OnlineUserListResponse
名称 | 说明 | 类型 |
---|---|---|
Data |
|
< OnlineUser > array |
ErrorCode |
|
integer |
ErrorMsg |
|
string |
Extra |
|
4.52. RouterBasicResponse
名称 | 说明 | 类型 |
---|---|---|
Data |
|
|
ErrorCode |
|
integer |
ErrorMsg |
|
string |
4.53. RouterBasic
名称 | 说明 | 类型 |
---|---|---|
ap_count |
AP数量 |
string |
down_speed |
下行速率 |
string |
enterprise |
企业版 (iK-Router 3.x 专有) |
string |
firmware |
固件 |
string |
gwid |
gwid |
string |
libver |
协议库版本 |
string |
mac |
mac地址 |
string |
name |
友好名称 |
string |
online |
在线数 |
string |
partner |
partner |
string |
reflexive_address |
ip地址 |
string |
router_ver |
路由系统版本 |
string |
sysuptime |
系统上线时长 |
string |
total_down |
总下载量 |
string |
total_up |
总上传量 |
string |
up_speed |
上行速率 |
string |
4.54. WhiteListRequest
名称 | 说明 | 类型 |
---|---|---|
param |
|
4.55. WhiteListReqBody
名称 | 说明 | 类型 |
---|---|---|
noauth_mac |
免认证mac列表 |
string |
whiteip |
ip网址白名单列表 |
string |
whitelist |
http网址白名单列表 |
string |
whitelist_https |
https网址白名单列表 |
string |
4.56. SimpleSuccess
名称 | 说明 | 类型 |
---|---|---|
Data |
|
|
ErrorCode |
|
integer |
ErrorMsg |
|
string |
Extra |
|
4.57. ExtraObject
名称 | 说明 | 类型 |
---|---|---|
other_field1 |
根据调用的 API,返回不同的附加信息 |
integer |
other_field2 |
根据调用的 API,返回不同的附加信息 |
string |
version |
返回数据对应路由的版本,该字段对于区分不同版本路由返回的数据格式,进而编写分支逻辑非常有用 |
string |
4.58. EmptyObject
类型 : object
5. 错误代码与消息
5.1. 服务器返回消息结构说明
{
"ErrorCode": 30000,
"ErrorMsg": "Success",
"Data": [ {
"id": 1,
"hostname": "iKuai Router Awesome",
"language": 2,
"switch_dpi": 1,
"switch_nat": 1,
"switch_ntp": 1,
"time_zone": 8
} ],
"Extra": {
"version": "3.x"
}
}
键名 | 值 | 备注 |
---|---|---|
ErrorCode |
错误代码 |
整数 |
ErrorMsg |
错误消息 |
字符串 |
Data |
返回数据 |
对象或数组 |
Extra |
数据附加信息 |
API 调用结果的附加信息,如:该次调用返回数据的版本[5],新建一条记录后返回的记录 ID |
5.2. API 外部错误
此类错误发生在路由控制 API 调用之前 包括:HTTP 常见错误,API 认证错误,API 授权错误,API 数据格式错误,等…… |
5.2.1. HTTP 错误
代码 | 消息 | 说明 |
---|---|---|
404 |
Not Found |
错误的请求方法或路径 |
429 |
Too Many Attempts |
服务器接口调用频率超过阈值( |
400000 |
Bad request. |
检查 HTTP 请求头的 Content-Type |
5.2.2. API 认证错误
代码 | 消息 | 说明 |
---|---|---|
400001 |
Unauthorized. |
API 认证失败,检查 HTTP 请求头的 IK-Access-Token;AccessToken 过期 |
400002 |
AccessToken not found or expire. |
AccessToken 无效或过期 |
400015 |
AccessToken not found. |
刷新 AccessToken 时,没有提供有效的旧 Token |
400016 |
AccessToken does not belongs to the client. |
AccessToken 的所有者与请求中的 client_id 不匹配 |
5.2.3. API 授权与提交参数错误
代码 | 消息 | 说明 |
---|---|---|
400003 |
api not available. |
请求的 Api 状态为:已停用 |
400004 |
api not found. |
没有此 Api |
400005 |
the encryption time does not match the request time. |
解密后的时间戳必须与请求体中的 request_time 时间戳一致 |
400006 |
signature verification failed. |
iKuai Open 平台著名的 400006,rsa 解密错误,检查 rsa 加密代码 |
400007 |
too much differences between request_time and server time. |
请求体中的 request_time 时间戳与当前真实的服务器时间戳误差不能太大, |
400008 |
open_id not found. |
open_id 在平台中无法查询到,检查 open_id |
400009 |
open_id not available. |
该 open_id 处于停用状态 |
400010 |
no access to the device. |
指定设备对该 open_id 未授权 |
400011 |
invalid parameters. |
请求参数有不合法的值,根据不同 API 提示出错参数 |
400012 |
device authorization is temporarily disabled. |
设备与业务已关联,但状态为停用 |
400013 |
partner business did not pass. |
第三方业务审核中,或明确拒绝 |
400014 |
the device is authorized, but not the corresponding api. |
设备对业务已授权,但业务中不包含相应的 Api |
5.2.4. 其他错误
代码 | 消息 | 说明 |
---|---|---|
400017 |
unknown device version. |
设备版本未知,不能在其上调用任何 Api |
400018 |
api definition not found. |
罕见的服务器内部错误 |
500001 |
known server error. |
未知的服务器内部错误 |
5.3. API 内部错误
此类错误发生在路由控制 API 调用之后 包括:添加重复记录,设备离线,等…… |
5.3.1. 爱快路由 2.x 版本专有
ErrorCode 为 0 表示成功,其他都表示失败 |
代码 | 消息 | 说明 |
---|---|---|
1400 |
invalid request |
非法请求 |
1404 |
resource not found |
资源没有发现或者路由器不在线 |
1409 |
resource occupied |
同一路由器上有其它操作正在执行 |
1500 |
internal error |
内部错误 |
1501 |
unsupported operation |
指定的资源或者操作未实现 |
1502 |
unable to reach resource |
无法与路由器建立连接 |
5.3.2. 爱快路由 3.x 版本专有
ErrorCode 能够整除 10000 表示成功,其他都表示失败 10000 成功 20000 成功 30000 成功 |
代码 | 说明 |
---|---|
10001 |
验证账号密码失败 |
10002 |
账号被禁用 |
10003 |
无效的IP |
10004 |
读取授权失败 |
10005 |
执行授权失败 |
10006 |
Post 内容太长 |
10007 |
JSON 格式错误 |
10008 |
语法错误 |
10009 |
没有找到对应功能 |
30001 |
执行失败 |
30002 |
命令错误 |