酷宅postman培训
1签名规则
未登录的所有接口(包括登录接口)调用都需要计算签名,签名值放在请求头的 Authorization参数中。

1 | |
3发送验证码
当 error 为 10004 时,表示账号不在当前区域,客户端需要根据返回的区域信息重新去其它区调用登录接口。
URL:/v2/user/verification-code
认证参数:Sign
请求方法:POST
入参:
| 名称 | 类型 | 允许为空 | 说明 |
|---|---|---|---|
| type | Int | N | 验证码类型:0-注册,1-重置密码,3-注销账号,4-验证码登录 |
| String | Y | 发送的邮箱地址,区分大小写 | |
| phoneNumber | String | Y | 发送的手机号,需包含国家区号,例如 +8618023456789 |
注意:
phoneNumber必须二选一填写,至少提供其中一个,否则接口会返回错误。

1 | |
4查询区域
URL: https://apia.coolkit.cn/v2/utils/get-region
请求方法:GET
认证参数:Sign
名称 类型 允许为空 说明
countryCode String N 电话区号,不需要带 “+” 符号,比如 “86

1 | |
5重置密码
URL:/v2/user/reset-pwd
说明:用户如果忘记密码,可以使用该接口重新设置密码
请求方法:POST
认证参数:Sign
| 名称 | 类型 | 允许为空 | 说明 |
|---|---|---|---|
| String | Y | 邮箱地址,不区分大小写 | |
| phoneNumber | String | Y | 手机号,需包含国家区号,例如 +8618023456789 |
| verificationCode | String | N | 验证码 |
| password | String | N | 密码 |
注意:
phoneNumber必须二选一填写,至少提供其中一个,否则接口会返回错误。

1 | |
6刷新token
URL:/v2/user/refresh
请求方法:POST
认证参数:accessToken 或者签名
入参
| 名称 | 类型 | 允许为空 | 说明 |
|---|---|---|---|
| rt | String | N | Refresh Token |

1 | |
7更新用户信息
URL:/v2/user/profile
请求方法:POST
认证参数:accessToken
入参:
| 名称 | 类型 | 允许为空 | 说明 |
|---|---|---|---|
| nickname | String | Y | 要更新的用户昵称。如果字段为空或 null,表示不更新昵称。 |
| acceptEmailAd | Boolean | Y | 是否接受邮件订阅广告。如果字段为空或 null,表示不更新该设置。 |
| accountConsult | Boolean | Y | 是否接受过会员咨询反馈。固定值必须为 true,填写其他值将返回参数错误。如果字段为空或 null,表示不更新该设置。 |

1 | |
8退出登录
URL:/v2/user/logout
请求方法:DELETE
认证参数:accessToken
请求参数:无

1 | |
9首页
URL:/v2/homepage
请求方法:POST
认证参数:accessToken
| 名称 | 类型 | 允许为空 | 说明 |
|---|---|---|---|
| lang | String | Y | 用于 APP 推送通知文案语言。cn 表示中文,en 表示英文,默认值为 en。 |
| clientInfo | Object | Y | 客户端信息。 |
| getUser | Object | Y | 如果需要获取用户信息,则填写此字段。 |
| getFamily | Object | Y | 如果需要获取家庭信息,则填写此字段,返回当前账号下所有家庭的信息。 |
| getThing | Object | Y | 如果需要获取 Thing(设备)信息,则填写此字段,仅返回当前家庭下的 Thing 信息。 |
| getScene | Object | Y | 场景列表,暂未开放。 |
| getMessage | Object | Y | 如果需要获取消息中心通知信息,则填写此字段,仅返回当前家庭下的通知信息。 |

10获取家庭和房间
URL:/v2/family
请求方法:GET
认证参数:accessToken

1 | |
11新增房间
URL:/v2/family/room
请求方法:POST
认证参数:accessToken

1 | |
12修改家庭名称
URL:/v2/family
请求方法:PUT
认证参数:accessToken

1 | |
13修改房间名称
URL:/v2/family/room
请求方法:PUT
认证参数:accessToken

1 | |
14切换家庭
URL:/v2/family/current
请求方法:POST
认证参数:accessToken

1 | |
15房间排序
URL:/v2/family/room/index
请求方法:POST
认证参数:accessToken

1 | |
16获取设备列表

1 | |
17获取Thing列表
URL:/v2/device/thing
请求方法:GET
认证参数:accessToken
| 名称 | 类型 | 允许为空 | 说明 |
|---|---|---|---|
| lang | String | Y | 用于 APP 推送通知文案语言。cn 表示中文,en 表示英文,默认值为 en。 |
| familyid | String | Y | 家庭 ID,不填写时默认使用当前家庭。 |
| num | Int | Y | 获取的数据数量,默认值为 30,填写 0 表示获取全部数据。 |
| beginIndex | Int | Y | 从指定序号开始获取列表数据,不填写时默认值为 -9999999。 |

1 | |
18获取指定 Thing 列表信息
URL:/v2/device/thing
请求方法:POST
认证参数:accessToken
| 名称 | 类型 | 允许为空 | 说明 |
|---|---|---|---|
| thingList | Array | N | 需要获取的 Thing 列表。数组长度必须大于 0 且小于等于 10。 |

1 | |
19获取设备或群组的状态
URL:/v2/device/thing/status
请求方法:GET
认证参数:accessToken
| 名称 | 类型 | 允许为空 | 说明 |
|---|---|---|---|
| type | Int | N | 指定获取对象类型:1 表示设备,2 表示群组。 |
| id | String | N | 对象 ID。当 type = 1 时填写设备的 deviceid;当 type = 2 时填写群组 ID。 |
| params | String | Y | 需要获取的状态参数。 |

1 | |
20更新设备或群组的状态
URL:/v2/device/thing/status
请求方法:POST
认证参数:accessToken
| 名称 | 类型 | 允许为空 | 说明 |
|---|---|---|---|
| type | Int | N | 指定更新对象类型:1 表示设备,2 表示群组。 |
| id | String | N | 对象 ID。当 type = 1 时填写设备的 deviceid;当 type = 2 时填写群组 ID。 |
| params | Object | N | 需要更新的状态参数对象。 |

1 | |
21 添加wifi设备
URL:/v2/device/add
请求方法:POST
认证参数:accessToken
| 参数名 | 类型 | 是否必填 | 说明 |
|---|---|---|---|
| name | String | 是 | 设备名称 |
| deviceid | String | 是 | 设备 ID |
| settings | Object | 否 | 用户设置,未传则使用默认值 |
| ifrCode | String | 否 | 红外设备码值 |
| digest | String | 是 | SHA256(deviceid + 设备apikey) 的小写字符串 |
| chipid | String | 是 | 设备芯片 ID |
| familyid | String | 否 | 设备所属家庭 ID,为空则添加到当前家庭 |
| roomid | String | 否 | 设备所属房间 ID,为空则放入【未分配】 |
| sort | Int | 否 | 新设备序号分配方式,默认 1 |

1 | |
22添加GSM设备
URL:/v2/device/add-gsm
请求方法:POST
认证参数:accessToken
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| id | String | 是 | 从扫描设备二维码 URL 中获取设备 gsmId。例如:https://api.coolkit.cc:8080/api/user/device/addGsm?id=348512d49379bb0acace4598e14fc450,其中 id 参数值即为设备 gsmId |
| name | String | 是 | 设备名称 |
| familyid | String | 否 | 设备所属家庭 ID,为空时表示添加到当前家庭 |
| roomid | String | 否 | 设备所属房间 ID,为空时表示添加到“未分配”房间 |
| sort | Int | 否 | 新设备分配序号方式,默认值为 1。1 表示分配更小序号,2 表示分配更大序号 |
23 更新设备的名称/房间信息
URL:/v2/device/update-info
请求方法:POST
认证参数:accessToken
| 名称 | 类型 | 允许为空 | 说明 |
|---|---|---|---|
| deviceid | String | N | 设备 ID。 |
| name | String | Y | 设备名称。 |
| roomid | String | Y | 房间 ID。 |

1 | |
24 删除设备
URL:/v2/device
请求方法:DELETE
认证参数:accessToken
| 名称 | 类型 | 允许为空 | 说明 |
|---|---|---|---|
| deviceid | String | N | 要删除的设备 ID。 |

1 | |
25 修改设备标签
URL:/v2/device/tags
请求方法:POST
认证参数:accessToken
| 名称 | 类型 | 允许为空 | 说明 |
|---|---|---|---|
| deviceid | String | N | 设备 ID。 |
| type | String | Y | 修改类型,不填写时默认值为 replace。replace 表示覆盖,merge 表示合并。 |
| tags | Object | N | 设备标签对象。 |

1 | |
26 新增设备群组
URL:/v2/device/group
请求方法:POST
认证参数:accessToken
| 名称 | 类型 | 允许为空 | 说明 |
|---|---|---|---|
| name | String | N | 群组名称,最大长度为 50 个字符。 |
| mainDeviceId | String | N | 群组的主设备 ID。 |
| familyid | String | Y | 群组所属的家庭 ID。如果为空,则默认添加到当前家庭。 |
| roomid | String | Y | 群组所属的房间 ID。如果为空,则默认添加到“未分配”房间。 |
| sort | Int | Y | 新群组的排序方式:1 表示分配更小的序号,2 表示分配更大的序号。 |
| deviceidList | Array | Y | 创建群组时需要加入的设备 ID 列表。无需传入 mainDeviceId。若列表中设备的 uiid 与主设备不一致,则该设备不会被加入群组。 |

1 | |
27 修改设备群组
URL:/v2/device/group
请求方法:PUT
认证参数:accessToken
| 名称 | 类型 | 允许为空 | 说明 |
|---|---|---|---|
| id | String | N | 群组 ID。 |
| name | String | N | 修改后的群组名称,最大长度为 50 个字符。 |

1 | |
28 更改群组状态
| 名称 | 类型 | 允许为空 | 说明 |
|---|---|---|---|
| id | String | N | 群组 ID。 |
| params | Object | N | 群组状态参数对象。接口仅负责保存该数据,不对参数内容进行处理。 |

1 | |
29 删除群组
URL:/v2/device/group
请求方法:DELETE
认证参数:accessToken
| 名称 | 类型 | 允许为空 | 说明 |
|---|---|---|---|
| id | String | N | 群组 ID。 |

1 | |
30 更新设备群组的设备列表
URL:/v2/device/share
请求方法:POST
认证参数:accessToken
| 名称 | 类型 | 允许为空 | 说明 |
|---|---|---|---|
| id | String | N | 群组 ID。 |
| deviceidList | Array | N | 设备 ID 列表。列表中必须至少包含群组主设备的 deviceid,否则接口将返回错误。 |

1 | |
31设备分享
| 名称 | 类型 | 允许为空 | 说明 |
|---|---|---|---|
| deviceidList | Array | N | 需要分享的设备 ID 列表。 |
| user | Object | N | 被分享用户的信息对象。 |
| permit | Int | N | 权限值之和,采用位运算组合。权限定义如下:1 = 新增定时器,2 = 修改定时器,4 = 删除定时器,8 = 启用定时器。 |
| comment | String | Y | 分享备注。 |
| shareType | Int | Y | 分享方式,不填写时默认值为 1。1 表示静默分享,无需被分享用户确认。 |

1 | |
32修改设备分享的权限
URL:/v2/device/share/permit
请求方法:POST
认证参数:accessToken
| 名称 | 类型 | 允许为空 | 说明 |
|---|---|---|---|
| deviceid | String | N | 设备 ID。 |
| apikey | String | N | 接收设备分享的用户账号 ID 标识(当前使用对称加密后的字符串)。 |
| permit | Int | N | 修改后的权限值。具体权限定义请参见“设备分享”接口参数说明。 |

1 | |
33 取消设备分享
URL:/v2/device/share
请求方法:DELETE
认证参数:accessToken
| 名称 | 类型 | 允许为空 | 说明 |
|---|---|---|---|
| deviceid | String | N | 设备 ID。 |
| apikey | String | N | 要取消分享或修改权限的目标用户 apikey。 |

34 获取设备的操作历史记录
URL:/v2/device/history
请求方法:GET
认证参数:accessToken
| 名称 | 类型 | 允许为空 | 说明 |
|---|---|---|---|
| deviceid | String | N | 设备 ID。 |
| from | Long | Y | 时间戳(毫秒级),表示从该时间点开始向前获取更早的消息。不填写时默认使用当前时间。 |
| num | Int | Y | 最多拉取的消息数量,取值范围为 1 <= num <= 30,默认值为 30。 |

1 | |
35 清除设备的操作历史记录
URL:/v2/device/history
请求方法:DELETE
认证参数:accessToken
| 名称 | 类型 | 允许为空 | 说明 |
|---|---|---|---|
| deviceid | String | N | 设备 ID。 |

1 | |
36 查询设备的 OTA 信息
URL:/v2/device/ota/query
请求方法:POST
认证参数:accessToken
| 名称 | 类型 | 允许为空 | 说明 |
|---|---|---|---|
| deviceInfoList | Array | N | 需要查询的设备信息列表。数组长度必须大于 0 且小于等于 30。 |

1 | |
37 修改设备配置
URL:/v2/device/settings
请求方法:POST
认证参数:accessToken
| 名称 | 类型 | 允许为空 | 说明 |
|---|---|---|---|
| deviceidList | String[] | N | 设备 ID 列表。 |
| settings | Object | N | 设备配置对象。 |
38删除家庭
URL:/v2/family
请求方法:DELETE
认证参数:accessToken
| 名称 | 类型 | 允许为空 | 说明 |
|---|---|---|---|
| id | String | N | 家庭 ID。 |
| deviceFamily | String | N | 用于接收被删除家庭下设备的目标家庭 ID。 |
| switchFamily | String | N | 删除家庭后需要切换到的家庭 ID。 |

1 | |
39 删除房间
URL:/v2/family/room
请求方法:DELETE
认证参数:accessToken
| 名称 | 类型 | 允许为空 | 说明 |
|---|---|---|---|
| id | String | N | 房间 ID。 |

1 | |
40 对家庭下的 Thing 做排序
URL:/v2/family/thing/sort
请求方法:POST
认证参数:accessToken
| 名称 | 类型 | 允许为空 | 说明 |
|---|---|---|---|
| familyid | String | Y | 家庭 ID。如果为空,则表示对当前家庭下的设备或群组进行排序。 |
| thingList | Array | N | Thing 列表。服务端会按照列表中的顺序对对应设备或群组进行排序,例如列表中序号为 0 的设备或群组,其 index 即为 0。 |

1 | |
41 设置房间的 Thing
URL:/v2/family/room/thing
请求方法:POST
认证参数:accessToken
| 名称 | 类型 | 允许为空 | 说明 |
|---|---|---|---|
| roomid | String | N | 房间 ID。 |
| oldThingList | Array | N | 原房间中的 Thing 列表。如果为空则传入空数组 []。列表 item 结构参考“对家庭下的 Thing 做排序”中的 thingList 说明。 |
| newThingList | Array | N | 调整后的房间 Thing 列表。 |
42 获取长连接

1 | |
43 ws连接

{
“action”: “userOnline”,
“version”: 5.24,
“at”: “14969a91a109082fade63957507b877be078fcef”,
“userAgent”: “app”,
“apikey”: “0d7e30cf-213c-426a-8ce6-c55ab2eaee8c”,
“appid”: “oc3tvAdJPmaVOKrLv0rjCC0dzub4bbnD”,
“nonce”: “yvfq2AxS”,
“sequence”: “1571141530100”
}
44 ws 握手认证
| 参数名 | 类型 | 是否必填 | 说明 |
|---|---|---|---|
| action | string | 是 | 固定参数:userOnline |
| at | string | 是 | 登录接口获取的 AT(access token) |
| apikey | string | 是 | 用户 apikey(登录接口返回) |
| appid | string | 是 | APPID |
| nonce | string | 是 | 8位字母数字随机数 |
| ts | number | 否 | 秒级时间戳 |
| userAgent | string | 是 | 固定参数:app |
| sequence | string | 是 | 毫秒级时间戳 |
| version | number | 是 | 接口版本:8 |

1 | |
45 WebSocket: 设备上线离线通知(APP 接收即可)
| 参数名 | 类型 | 是否必填 | 说明 |
|---|---|---|---|
| action | string | 是 | 固定参数:sysmsg |
| apikey | string | 是 | 用户 apikey(登录接口获取) |
| nonce | string | 是 | 8位字母数字随机数 |
| ts | number | 否 | 秒级时间戳 |
| deviceid | string | 是 | 设备 ID |
| params | object | 是 | 设备控制参数 {k:v} |

无返回值
46 WebSocket: 更新设备状态
| 参数名 | 类型 | 是否必填 | 说明 |
|---|---|---|---|
| action | string | 是 | 固定参数:update |
| apikey | string | 是 | 用户 apikey 或设备主人 apikey |
| selfApikey | string | 否 | 接收方 apikey,接收方更新设备状态时必传 |
| deviceid | string | 是 | 设备 ID |
| params | object | 是 | 需要更新的设备状态参数 |
| userAgent | string | 是 | 固定值:app 或 device |
| sequence | string | 是 | 毫秒级时间戳 |
47 注销账号
URL:/v2/user/close-account
请求方法:POST
认证参数:accessToken
| 参数名 | 类型 | 是否必填 | 说明 |
|---|---|---|---|
| verificationCode | String | 是 | 验证码 |
1 | |
48 修改密码
URL:/v2/user/reset-pwd
说明:用户如果忘记密码,可以使用该接口重新设置密码
请求方法:POST
认证参数:Sign
| 参数名 | 类型 | 是否必填 | 说明 |
|---|---|---|---|
| oldPassword | String | 是 | 原密码 |
| newPassword | String | 是 | 新密码 |

1 | |
49 短信发送验证码
URL:/v2/user/sms-login
请求方法:POST
认证参数:Sign
| 参数名 | 类型 | 是否必填 | 说明 |
|---|---|---|---|
| countryCode | String | 是 | 电话区号,必须以 + 开头,例如 +86 |
| lang | String | 否 | APP 推送通知语言,cn 为中文,en 为英文,默认 en |
| phoneNumber | String | 是 | 手机号,需包含电话区号,例如 +8618023456789 |
| verificationCode | String | 是 | 短信验证码 |

1 | |


