提供一组与用户相关的服务接口,客户端应用通过本组服务接口可以实现用户绑定设备列表信息的获取,同时可以实现设备和push通道的解绑操作。
- 获取用户绑定的设备列表
- 根据设备获取绑定关系
- 设备列表排序
- 获取网关的子设备列表
- 查询用户和设备的关系
- 解绑用户和设备
- 管理员解绑设备
设备分享
- 生成分享用的二维码
- 通过扫描二维码绑定设备
- 设备分享给指定的用户
- 获取共享通知列表
- 发起者取消分享
- 被分享者同意或拒绝分享
- 设置设备昵称
- 清空共享消息列表
用户和消息绑定关系
- 绑定push通道
- 解绑push通道
虚拟用户
- 创建虚拟用户
- 删除虚拟用户
- 更新虚拟用户信息
- 查询虚拟用户列表
- 查询虚拟用户详情
获取用户绑定的设备列表
定义描述
path | 版本 | 描述 | 是否需要用户身份的鉴权 |
---|---|---|---|
/uc/listBindingByAccount | 1.0.2 | 根据用户获取设备列表 | 是,客户端SDK需启用身份的鉴权,进行身份认证 |
请求参数
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
pageNo | Int | 是 | 当前页号,从1开始的页序号 |
pageSize | Int | 是 | 页大小,单页的item数量上限 |
thingType | String | 否 | 设备类型:”VIRTUAL”, “VIRTUAL_SHADOW”, “WEB”, “APP”,”DEVICE” |
nodeType | String | 否 | 设备的节点类型:”DEVICE”, “GATEWAY” |
owned | Int | 否 | 表示绑定类型:0:被分享的设备;1:拥有的设备;null:所有 |
返回参数
参数 | 子键 | 类型 | 描述 |
---|---|---|---|
total | Integer | 云端总数 | |
pageNo | Integer | 当前页号 | |
pageSize | Integer | 页大小 | |
data | List<> | 用户绑定设备列表 | |
identityId | String | 用户的身份ID | |
iotId | String | 设备的iotId | |
productKey | String | 设备的productKey | |
deviceName | String | 设备的deviceName | |
productName | String | 设备的产品名称 | |
productImage | String | 设备的产品图片 | |
productModel | String | 设备的产品型号 | |
categoryImage | String | 品类图标 | |
nickName | String | 用户对设备的昵称,用户通过setDeviceNickName设置的昵称 | |
netType | String | 设备入网类型: lora: NET_LORA gprs: NET_CELLULAR wifi: NET_WIFI zigbee: NET_ZIGBEE 蓝牙: NET_BT 以太网: NET_ETHERNET 其他: NET_OTHER |
|
thingType | String | 设备的类型:”VIRTUAL”, “VIRTUAL_SHADOW”, “WEB”, “APP”,”DEVICE” | |
nodeType | String | 设备的节点类型:”DEVICE”, “GATEWAY” | |
status | Byte | 设备的状态 0:未激活 ;1:在线;3:离线;8:禁用 | |
owned | Byte | 0:分享者;1:拥有者 | |
identityAlias | String | 用户的显示名(mobile或loginName或email) | |
gmtModified | Date | 修改时间(绑定时间) |
示例
- 请求示例
{ "request": { "iotToken": "109049c80bcde4c06b15f6f62e29a3ba", "apiVer": "1.0.2" }, "id": 1508212818676, "params": { "pageNo":1, "pageSize":10 }, "version": "1.0" }
- 正常返回示例
{ "code": 200, "data":{ "data": [ { "productModel": "testProduct", "iotId": "fy2Z1oZFWZQVii6kkFVM00101edf00", "netType": "NET_WIFI", "identityId": "5082opabf5192fb1ae453eced9806fbdae6f6093", "thingType": "DEVICE", "nodeType": "DEVICE", "productKey": "a1OwEjYFJNb", "deviceName": "b65cb59e688e4f74a208592cd695fb", "productName": "0d2a0e6195", "status": 3 }, { "productModel": "testProduct", "iotId": "wW4uJnjdxISy7QbzUYKS0010ddb200", "netType": "NET_WIFI", "identityId": "5082opabf5192fb1ae453eced9806fbdae6f6093", "thingType": "DEVICE", "nodeType": "DEVICE", "productKey": "a1Btn9lxeJg", "deviceName": "b824b648947c40e6beb378f4f17e90", "productName": "07b5962ae7", "status": 3 } ], "pageNo":1, "pageSize":100, "total":1 }, "id": "e2d74ffe-308e-44ee-94a5-9b44a43eabc9" }
- 异常返回示例
{ "code":2000, "id":"4fa207ca-fffd-48bb-94b8-e6f7ca6c99c3", "localizedMsg":"请求错误", "message":"iotId is blank!" }
根据设备获取绑定关系
定义描述
path | 版本 | 描述 | 是否需要用户身份的鉴权 |
---|---|---|---|
/uc/listBindingByDev | 1.0.2 | 根据设备获取绑定关系 | 是,客户端SDK需启用身份的鉴权,进行身份认证 |
请求参数
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
iotId | String | 是 | 设备id |
pageNo | Int | 是 | 当前页号,从1开始的页序号 |
pageSize | Int | 是 | 页大小,单页的item数量上限 |
owned | Int | 否 | 表示设备绑定的类型:0:作为分享设备被他人分享;1:设备拥有者;null:所有 |
返回参数
参数 | 子键 | 类型 | 描述 |
---|---|---|---|
total | Integer | 云端总数 | |
pageNo | Integer | 当前页号 | |
pageSize | Integer | 页大小 | |
data | List<> | 用户绑定设备列表 | |
identityId | String | 用户的身份ID | |
iotId | String | 设备的iotId | |
productKey | String | 设备的productKey | |
deviceName | String | 设备的deviceName | |
productName | String | 设备的产品名称 | |
productImage | String | 设备的产品图片 | |
productModel | String | 设备的产品型号 | |
categoryImage | String | 品类图标 | |
nickName | String | 用户对设备的昵称,用户通过setDeviceNickName设置的昵称 | |
netType | String | 设备入网类型 | |
thingType | String | 设备的类型:”VIRTUAL”, “VIRTUAL_SHADOW”, “WEB”, “APP”,”DEVICE” | |
nodeType | String | 设备的节点类型:”DEVICE”, “GATEWAY” | |
status | Byte | 设备的状态 0:未激活 ;1:在线;3:离线;8:禁用 | |
owned | Byte | 0:分享者;1:拥有者 | |
identityAlias | String | 用户的显示名(mobile或loginName或email) | |
gmtModified | Date | 修改时间(绑定时间) | |
description | String | 描述 |
示例
- 请求示例
{ "request": { "iotToken": "109049c80bcde4c06b15f6f62e29a3ba", "apiVer": "1.0.2" }, "id": 1508212818676, "params": { "pageNo":1, "pageSize":10, "iotId":"fy2Z1oZFWZQVii6kkFVM00101edf00" }, "version": "1.0" }
- 正常返回示例
{ "code": 200, "data": [ { "productModel": "testProduct", "iotId": "fy2Z1oZFWZQVii6kkFVM00101edf00", "netType": "NET_WIFI", "identityId": "5082opabf5192fb1ae453eced9806fbdae6f6093", "thingType": "DEVICE", "nodeType": "DEVICE", "productKey": "a1OwEjYFJNb", "deviceName": "b65cb59e688e4f74a208592cd695fb", "productName": "0d2a0e6195", "status": 3 } ], "id": "e2d74ffe-308e-44ee-94a5-9b44a43eabc9" }
- 异常返回示例
{ "code":2064, "id":"4fa207ca-fffd-48bb-94b8-e6f7ca6c99c3", "localizedMsg":"请求错误", "message":"need authorize to bind" }
设备列表排序
定义描述
path | 版本 | 描述 | 是否需要用户身份的鉴权 |
---|---|---|---|
/uc/sortDevices | 1.0.2 | 对设备进行排序 | 是,客户端SDK需启用身份的鉴权,进行身份认证 |
请求参数
参数 | 子键 | 类型 | 必填 | 描述 |
---|---|---|---|---|
groupId | String | 否 | 要排序的空间(如家ID等). 可为空 | |
sortDeviceDTOList | List< SortDeviceDTO > | 是 | 设备排序有变化的数据 | |
iotId | String | 是 | 设备ID | |
fromOrder | Integer | 是 | 排序变化前设备的位置 | |
toOrder | Integer | 是 | 排序变化后设备的位置 |
返回参数
无
示例
- 请求示例
{ "request": { "iotToken": "109049c80bcde4c06b15f6f62e29a3ba", "apiVer": "1.0.2" }, "id": 1508212818676, "params": { "groupId":"", "sortDeviceDTOList":[ {"iotId": "Z75bTa4dYNLxj1Y3SeRW001056af10", "fromOrder": 1, "toOrder": 3 }, {"iotId": "faHSHCOxsZGWxdEHbQoN00108dcf00", "fromOrder": 2, "toOrder": 1 }, {"iotId": "Spb4eatt1LtRY7VxWdeq00108a4410", "fromOrder": 3, "toOrder": 2 } ] }, "version": "1.0" }
- 正常返回示例
{ "code": 200, "id":"bb179e80-39fd-4a79-ba97-48ca87a3f5c5" }
- 异常返回示例
{ "code":2000, "id":"4fa207ca-fffd-48bb-94b8-e6f7ca6c99c3", "localizedMsg":"请求错误", "message":"sortDevice param error!" }
生成分享用的二维码
定义描述
path | 版本 | 描述 | 是否需要用户身份的鉴权 |
---|---|---|---|
/uc/generateShareQrCode | 1.0.2 | 生成设备分享用的二维码,支持批量设备和场,有效期30分钟 | 是,客户端SDK需启用身份的鉴权,进行身份认证 |
请求参数
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
iotIdList | List< String > | 否 | 设备iotId列表(iotIdList和sceneIdList不能同时为空) |
sceneIdList | List< String > | 否 | 场景sceneId列表(iotIdList和sceneIdList不能同时为空) |
groupId | String | 否 | 设备和场景所在的空间(如家ID等). 可为空 |
返回参数
参数 | 类型 | 描述 |
---|---|---|
qrKey | String | 生成的二维码key |
示例
- 请求示例
{ "request": { "iotToken": "109049c80bcde4c06b15f6f62e29a3ba", "apiVer": "1.0.2" }, "id": 1508212818676, "params": { "iotIdList":["xxxx"], "sceneIdList":["xxxx"] }, "version": "1.0" }
- 正常返回示例
{ "code": 200, "data": { "qrKey": "xxxxxx" }, "id": "6ec222eb-87fc-421e-9b67-351df196ceb3" }
- 异常返回示例
{ "code":2081, "id":"4fa207ca-fffd-48bb-94b8-e6f7ca6c99c3", "localizedMsg":"请求错误", "message":"scene not found by sceneId" }
通过扫描二维码绑定设备或者场景
定义描述
path | 版本 | 描述 | 是否需要用户身份的鉴权 |
---|---|---|---|
/uc/scanBindByShareQrCode | 1.0.2 | 通过扫描二维码绑定设备或者场景,绑定后是普通成员 | 是,客户端SDK需启用身份的鉴权,进行身份认证 |
请求参数
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
qrKey | String | 是 | 扫描的二维码key |
返回参数
参数 | 类型 | 描述 |
---|---|---|
ScanShareQrCodeV2Resp | Object | 绑定的设备或者场景ID列表 |
ScanShareQrCodeV2Res结构
参数 | 类型 | 描述 |
---|---|---|
iotIdListp | List | 绑定的设备或者场景ID列表 |
示例
- 请求示例
{ "request": { "iotToken": "109049c80bcde4c06b15f6f62e29a3ba", "apiVer": "1.0.2" }, "id": 1508212818676, "params": { "qrKey":"xxxx" }, "version": "1.0" }
- 正常返回示例
{ "code": 200, "data": { "iotIdList":["abc","123"] }, "id":"bb179e80-39fd-4a79-ba97-48ca87a3f5c5" }
- 异常返回示例
{ "code":2067, "id":"4fa207ca-fffd-48bb-94b8-e6f7ca6c99c3", "localizedMsg":"请求错误", "message":"qrKey not exist" }
设备分享给指定的用户
定义描述
path | 版本 | 描述 | 是否需要鉴权 |
---|---|---|---|
/uc/shareDevicesAndScenes | 1.0.7 | 通过指定手机、邮箱或具体identityId的方式将设备和场景分享给其他人;对于使用自有账号体系的用户,在智能生活平台一般不会保存对应账号的手机和邮箱等信息,此时可以借助自有账号id和智能生活平台identityId映射关系(用户可自行存储该映射关系),来实现该分享接口的调用;每次分享最多可以分享20个设备 | 是,客户端SDK需启用用户身份的鉴权 |
请求参数
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
iotIdList | List< String > | 是 | 设备iotId列表,每次最多分享20个 |
targetIdentityId | String | 否 | 分享目标身份ID(用户属性对/身份ID 两者须至少有一个) |
accountAttr | String | 否 | 唯一标识目标用户的属性(如:手机号、邮箱的值) |
accountAttrType | String | 否 | 唯一标识目标用户的属性类型(如:手机号、邮箱等),手机号:”MOBILE”,邮箱: “EMAIL” |
mobileLocationCode | String | 否 | 手机号区位码,如86 |
返回参数
无
示例
- 请求示例
{ "request": { "iotToken": "109049c80bcde4c06b15f6f62e29a3ba", "apiVer": "1.0.2" }, "id": 1508212818676, "params": { "accountAttr":"13656637684", "accountAttrType": "MOBILE", "iotIdList":[ "inqfGrp0Cu5IRelvqdpD00100fd600", "ETytXLwjIMRZK0GFW4qG0010629e00" ] }, "version": "1.0" }
- 正常返回示例
{ "code": 200, "id":"bb179e80-39fd-4a79-ba97-48ca87a3f5c5" }
- 异常返回示例
{ "code":2064, "id":"4fa207ca-fffd-48bb-94b8-e6f7ca6c99c3", "localizedMsg":"请求错误", "message":"need authorize to bind" }
获取共享通知列表
定义描述
path | 版本 | 描述 | 是否需要用户身份的鉴权 |
---|---|---|---|
/uc/getShareNoticeList | 1.0.2 | 获取共享通知列表 | 是,客户端SDK需启用身份的鉴权,进行身份认证 |
请求参数
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
pageNo | Int | 是 | 当前页号,从1开始的页序号 |
pageSize | Int | 是 | 页大小,单页的item数量上限 |
返回参数
参数 | 子键 | 类型 | 描述 |
---|---|---|---|
total | Integer | 云端总量 | |
pageNo | Integer | 当前页号 | |
pageSize | Integer | 页大小 | |
data | List<> | 分享列表 | |
initiatorAlias | String | 发起分享用户别名 | |
receiverAlias | String | 被分享用户别名 | |
targetId | String | 共享的物的ID | |
targetType | String | 共享的物的类型 | |
productImage | String | 设备产品图片 | |
deviceName | String | 设备的deviceName | |
isReceiver | Integer | 当前用户是否是消息接收者 | |
gmtCreate | Long | 创建时间 | |
gmtModified | Long | 修改时间 | |
recordId | String | 分享记录唯一标识 | |
status | Integer | 状态: -1: 初始化; 0:同意; 1:拒绝; 2:取消; 3:过期; 4:抢占; 5:删除; 6:发起者已解绑; 99:异常 | |
description | String | 描述 | |
categoryImage | String | 品类图标 | |
productName | String | 产品名称 |
示例
- 请求示例
{ "request": { "iotToken": "109049c80bcde4c06b15f6f62e29a3ba", "apiVer": "1.0.2" }, "id": 1508212818676, "params": { "pageNo": 1, "pageSize":10 }, "version": "1.0" }
- 正常返回示例
{ "code": 200, "data": [ { "gmtCreate": "15275845255", "gmtModified": "15235845255", "targetId": "fy2Z1oZFWZQVii6kkFVM00101edf00", "categoryImage": "http://xxx", "description": "向15163587365共享设备中,待对方确认", "targetType": "DEVICE", "recordId": "a1OwEjY1d555d5dfdFJNb", "deviceName": "b65cb59e688e4f74a208592cd695fb", "productName": "0d2a0e6195", "initiatorAlias":"15632547896", "receiverAlias":"15163587365", "isReceiver": 0, "status": -1 } ], "id": "e2d74ffe-308e-44ee-94a5-9b44a43eabc9" }
- 异常返回示例
{ "code":2062, "id":"4fa207ca-fffd-48bb-94b8-e6f7ca6c99c3", "localizedMsg":"请求错误", "message":"identityId not exist" }
发起者取消分享
定义描述
path | 版本 | 描述 | 是否需要用户身份的鉴权 |
---|---|---|---|
/uc/cancelShare | 1.0.2 | 发起者取消分享 | 是,客户端SDK需启用身份的鉴权,进行身份认证 |
请求参数
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
recordIdList | List< String > | 是 | 分享记录列表 |
返回参数
无
示例
- 请求示例
{ "request": { "iotToken": "109049c80bcde4c06b15f6f62e29a3ba", "apiVer": "1.0.2" }, "id": 1508212818676, "params": { "recordIdList":[ "d4eb352adac248be91fb61d53febd503", "2568degt2adac248be91fb61d53febd3" ] }, "version": "1.0" }
- 正常返回示例
{ "code": 200, "id":"bb179e80-39fd-4a79-ba97-48ca87a3f5c5" }
- 异常返回示例
{ "code":2093, "id":"4fa207ca-fffd-48bb-94b8-e6f7ca6c99c3", "localizedMsg":"请求错误", "message":"forbidden to repeat cancel sharing." }
被分享者同意或拒绝分享
定义描述
path | 版本 | 描述 | 是否需要用户身份的鉴权 |
---|---|---|---|
/uc/confirmShare | 1.0.2 | 被分享者同意/拒绝分享 | 是,客户端SDK需启用身份的鉴权,进行身份认证 |
请求参数
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
recordIdList | List< String > | 是 | 分享记录列表,单次同意(拒绝)分享的数量上限为 10 个 |
agree | Integer | 是 | 0:不同意;1:同意. 必填 |
返回参数
无
示例
- 请求示例
{ "request": { "iotToken": "109049c80bcde4c06b15f6f62e29a3ba", "apiVer": "1.0.2" }, "id": 1508212818676, "params": { "recordIdList":[ "d4eb352adac248be91fb61d53febd503", "2568degt2adac248be91fb61d53febd3" ], "agree":1 }, "version": "1.0" }
- 正常返回示例
{ "code": 200, "id":"bb179e80-39fd-4a79-ba97-48ca87a3f5c5" }
- 异常返回示例
{ "code":2092, "id":"4fa207ca-fffd-48bb-94b8-e6f7ca6c99c3", "localizedMsg":"请求错误", "message":"forbidden to repeat reject sharing." }
设置设备昵称
定义描述
path | 版本 | 描述 | 是否需要用户身份的鉴权 |
---|---|---|---|
/uc/setDeviceNickName | 1.0.2 | 设置设备昵称 | 是,客户端SDK需启用身份的鉴权,进行身份认证 |
请求参数
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
groupId | String | 否 | 设备的空间(如家ID等) |
iotId | String | 是 | 设备ID |
nickName | String | 是 | 昵称 |
返回参数
无
示例
- 请求示例
{ "request": { "iotToken": "109049c80bcde4c06b15f6f62e29a3ba", "apiVer": "1.0.2" }, "id": 1508212818676, "params": { "iotId": "5070op867df8c1941fbb2727449d87c207471699", "nickName":"nickName" }, "version": "1.0" }
- 正常返回示例
{ "code": 200, "id":"bb179e80-39fd-4a79-ba97-48ca87a3f5c5" }
- 异常返回示例
{ "code":2062, "id":"4fa207ca-fffd-48bb-94b8-e6f7ca6c99c3", "localizedMsg":"请求错误", "message":"identityId not exist" }
解绑用户和设备
定义描述
path | 版本 | 描述 | 是否需要用户身份的鉴权 |
---|---|---|---|
/uc/unbindAccountAndDev | 1.0.2 | 解绑用户和设备。若用户不是拥有者(管理员),则只解绑自己;若用户是拥有者(管理员),则再解绑与该设备绑定的所有用户。若用户是管理员且设备是网关,则还会解绑用户和其所有的子设备。 | 是,客户端SDK需启用身份的鉴权,进行身份认证 |
请求参数
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
iotId | String | 否 | 设备ID |
返回参数
无
示例
- 请求示例
{ "request": { "iotToken": "109049c80bcde4c06b15f6f62e29a3ba", "apiVer": "1.0.2" }, "id": 1508212818676, "params": { "iotId":"xxxx" }, "version": "1.0" }
- 正常返回示例
{ "code": 200, "id":"bb179e80-39fd-4a79-ba97-48ca87a3f5c5" }
- 异常返回示例
{ "code":2062, "id":"4fa207ca-fffd-48bb-94b8-e6f7ca6c99c3", "localizedMsg":"请求错误", "message":"identityId not exist" }
查询用户和设备的关系
定义描述
path | 版本 | 描述 | 是否需要用户身份的鉴权 |
---|---|---|---|
/uc/getByAccountAndDev | 1.0.2 | 查询用户和设备的关系,如不存在,返回一个空对象 | 是,客户端SDK需启用身份的鉴权,进行身份认证 |
请求参数
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
iotId | String | 是 | 设备ID |
返回参数
参数 | 类型 | 描述 |
---|---|---|
identityId | String | 用户的身份ID |
iotId | String | 设备的iotId |
AproductKey | String | 设备的productKey |
deviceName | String | 设备的deviceName |
productName | String | 设备的产品名称 |
productImage | String | 设备的产品图片 |
productModel | String | 设备的产品型号 |
nickName | String | 用户对设备的昵称 |
netType | String | 设备入网类型 |
thingType | String | 设备的类型:”VIRTUAL”, “VIRTUAL_SHADOW”, “WEB”, “APP”,”DEVICE” |
nodeType | String | 设备的节点类型:”DEVICE”, “GATEWAY” |
status | Byte | 设备的状态 0:未激活 ;1:在线;3:离线;8:禁用 |
owned | Byte | 0:分享者;1:拥有者 |
identityAlias | String | 用户的显示名(mobile或loginName或email) |
gmtModified | Date | 修改时间(绑定时间) |
示例
- 请求示例
{ "request": { "iotToken": "109049c80bcde4c06b15f6f62e29a3ba", "apiVer": "1.0.2" }, "id": 1508212818676, "params": { "iotId":"xxxx" }, "version": "1.0" }
- 正常返回示例
{ "code": 200, "data": { "productModel": "testProduct", "iotId": "fy2Z1oZFWZQVii6kkFVM00101edf00", "netType": "NET_WIFI", "identityId": "5082opabf5192fb1ae453eced9806fbdae6f6093", "thingType": "DEVICE", "nodeType": "DEVICE", "productKey": "a1OwEjYFJNb", "deviceName": "b65cb59e688e4f74a208592cd695fb", "productName": "0d2a0e6195", "status": 3 }, "id": "e2d74ffe-308e-44ee-94a5-9b44a43eabc9" }
- 异常返回示例
{ "code":2063, "id":"4fa207ca-fffd-48bb-94b8-e6f7ca6c99c3", "localizedMsg":"请求错误", "message":"iotId not exist" }
管理员解绑设备
定义描述
path | 版本 | 描述 | 是否需要用户身份的鉴权 |
---|---|---|---|
/uc/unbindByManager | 1.0.2 | 管理员解绑指定的用户和设备。要求当前登录用户是设备的管理员、拥有者。 | 是,客户端SDK需启用身份的鉴权,进行身份认证 |
请求参数
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
targetIdentityId | String | 是 | 要解绑的用户identityId(设备的普通成员),非管理员的identityId |
iotIdList | List< String> | 是 | 要解绑的设备ID列表 |
返回参数
无
示例
- 请求示例
{ "request": { "iotToken": "109049c80bcde4c06b15f6f62e29a3ba", "apiVer": "1.0.2" }, "id": 1508212818676, "params": { "targetIdentityId":"xxxx", "iotIdList":[ "d4eb352adac248be91fb61d53febd503", "2568degt2adac248be91fb61d53febd3" ] }, "version": "1.0" }
- 正常返回示例
{ "code": 200, "id":"bb179e80-39fd-4a79-ba97-48ca87a3f5c5" }
- 异常返回示例
{ "code":2083, "id":"4fa207ca-fffd-48bb-94b8-e6f7ca6c99c3", "localizedMsg":"请求错误", "message":"you are not the manager of some devices" }
清空共享消息列表
定义描述
path | 版本 | 描述 | 是否需要用户身份的鉴权 |
---|---|---|---|
/uc/clearShareNoticeList | 1.0.2 | 清空共享消息列表(包括本人发起和接收全部) | 是,客户端SDK需启用身份的鉴权,进行身份认证 |
请求参数
无
返回参数
无
示例
- 请求示例
{ "request": { "iotToken": "c4b3f642a91880195a5e7a06a3c5dcb3", "apiVer": "1.0.2" }, "id": 1508212818676, "params": { }, "version": "1.0" }
- 正常返回示例
{ "code": 200, "id":"bb179e80-39fd-4a79-ba97-48ca87a3f5c5" }
- 异常返回示例
{ "code":2062, "id":"4fa207ca-fffd-48bb-94b8-e6f7ca6c99c3", "localizedMsg":"请求错误", "message":"identityId not exist" }
绑定push通道
定义描述
path | 版本 | 描述 | 是否需要用户身份的鉴权 |
---|---|---|---|
/uc/bindPushChannel | 1.0.2 | 绑定push通道 | 是,客户端SDK需启用身份的鉴权,进行身份认证 |
请求参数
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
deviceId | String | 是 | push通道的deviceId |
deviceType | String | 是 | 设备类型:iOS或ANDROID,值由业务方和app协商 |
返回参数
无
示例
- 请求示例
{ "request": { "iotToken": "109049c80bcde4c06b15f6f62e29a3ba", "apiVer": "1.0.2" }, "id": 1508212818676, "params": { "deviceId":"xxxx", "deviceType":"iOS" }, "version": "1.0" }
- 正常返回示例
{ "code": 200, "id":"bb179e80-39fd-4a79-ba97-48ca87a3f5c5" }
- 异常返回示例
{ "code":2062, "id":"4fa207ca-fffd-48bb-94b8-e6f7ca6c99c3", "localizedMsg":"请求错误", "message":"identityId not exist" }
解绑push通道
定义描述
path | 版本 | 描述 | 是否需要用户身份的鉴权 |
---|---|---|---|
/uc/unbindPushChannel | 1.0.2 | 绑定push通道 | 是,客户端SDK需启用身份的鉴权,进行身份认证 |
请求参数
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
deviceId | String | 是 | push通道的deviceId |
返回参数
无
示例
- 请求示例
{ "request": { "iotToken": "109049c80bcde4c06b15f6f62e29a3ba", "apiVer": "1.0.2" }, "id": 1508212818676, "params": { "deviceId":"xxxx" }, "version": "1.0" }
- 正常返回示例
{ "code": 200, "id":"bb179e80-39fd-4a79-ba97-48ca87a3f5c5" }
- 异常返回示例
{ "code":2062, "id":"4fa207ca-fffd-48bb-94b8-e6f7ca6c99c3", "localizedMsg":"请求错误", "message":"identityId not exist" }
获取网关的子设备列表
定义描述
path | 版本 | 描述 | 是否需要用户身份的鉴权 |
---|---|---|---|
/subdevices/list | 1.0.2 | 获取用户绑定的网关子设备列表 | 是,客户端SDK需启用身份的鉴权,进行身份认证 |
请求参数
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
iotId | String | 是 | 设备ID |
pageNo | Int | 是 | 当前页号,从1开始的页序号 |
pageSize | Int | 是 | 页大小,单页的item数量上限 |
返回参数
参数 | 子键 | 类型 | 描述 |
---|---|---|---|
total | Integer | 云端总数 | |
pageNo | Integer | 当前页号 | |
pageSize | Integer | 页大小 | |
data | List<> | 子设备列表 | |
iotId | String | 设备的iotId | |
productKey | String | 设备的productKey | |
deviceName | String | 设备的deviceName | |
nickName | String | 设备的产品名称 | |
image | String | 品类图片 | |
status | Byte | 设备的在线状态:0 – 未激活, 1 – 在线, 3 – 离线, 8 – 禁用 |
示例
- 请求示例
{ "request": { "iotToken": "109049c80bcde4c06b15f6f62e29a3ba", "apiVer": "1.0.2" }, "id": 1508212818676, "params": { "iotId":"xxxxxxx", "pageNo":1, "pageSize":10 }, "version": "1.0" }
- 正常返回示例
{ "code": 200, "data": [ { "iotId": "testIot", "productKey": "fy2Z1oZFWZQVii6kkFVM00101edf00", "deviceName": "NET_WIFI", "nickName": "xxxxxx", "image": "https://img2.ladyww.cn/cloudads/2023/01/31/gkt3napmfwj.jpg", "status": 0 }, { "iotId": "testIot", "productKey": "fy2Z1oZFWZQVii6kkFVM00101edf00", "deviceName": "NET_WIFI", "nickName": "xxxxxx", "image": "https://img2.ladyww.cn/cloudads/2023/01/31/gkt3napmfwj.jpg", "status": 0 } ], "id": "e2d74ffe-308e-44ee-94a5-9b44a43eabc9" }
- 异常返回示例
{ "code":2062, "id":"4fa207ca-fffd-48bb-94b8-e6f7ca6c99c3", "localizedMsg":"请求错误", "message":"identityId not exist" }
创建虚拟用户
定义描述
path | 版本 | 描述 | 是否需要用户身份的鉴权 |
---|---|---|---|
/uc/virtual/user/create | 1.0.4 | 创建当前登录用户名下的虚拟用户 | 是,客户端SDK需启用身份的鉴权,进行身份认证 |
请求参数
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
attrList | List | 否 | 用户的属性及属性值。 若为空,则表示只创建一个无属性的用户。属性Key必须是在规定的系统属性中选择 |
attrList列表结构
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
attrKey | String | 是 | 属性Key |
attrValue | String | 是 | 属性值 |
返回参数
参数 | 类型 | 描述 |
---|---|---|
userId | String | 创建的虚拟用户ID |
attrList | List | 用户的属性值,意义同请求参数 |
attrList列表结构
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
attrKey | String | 是 | 属性Key |
attrValue | String | 是 | 属性值 |
示例
- 请求示例
{ "request": { "iotToken": "109049c80bcde4c06b15f6f62e29a3ba", "apiVer": "1.0.4" }, "id": 1508212818676, "params": { "attrList": [ { "attrKey":"name", "attrValue":"小明" } ] }, "version": "1.0" }
- 正常返回示例
{ "code": 200, "message": "success", "data": { "userId":"10B6336EFE05374FF99BDD428F58AA5A18", "attrList":[ { "attrKey":"name", "attrValue":"小明" } ] } }
- 异常返回示例
{ "code":503, "id":"4fa207ca-fffd-48bb-94b8-e6f7ca6c99c3", "localizedMsg":"服务不可用", "message":"service not available." }
删除虚拟用户
定义描述
path | 版本 | 描述 | 是否需要用户身份的鉴权 |
---|---|---|---|
/uc/virtual/user/delete | 1.0.4 | 删除当前登录用户名下的虚拟用户 | 是,客户端SDK需启用身份的鉴权,进行身份认证 |
请求参数
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
virtualUserId | String | 是 | 虚拟用户ID |
返回参数
无
示例
- 请求示例
{ "request": { "iotToken": "109049c80bcde4c06b15f6f62e29a3ba", "apiVer": "1.0.4" }, "id": 1508212818676, "params": { "userId":"10B6336EFE05374FF99BDD428F58AA5A18" }, "version": "1.0" }
- 正常返回示例
{ "code": 200, "message": "success", "data": { "userId":"10B6336EFE05374FF99BDD428F58AA5A18", "attrList":[ { "attrKey":"name", "attrValue":"小明" } ] } }
- 异常返回示例
{ "code":503, "id":"4fa207ca-fffd-48bb-94b8-e6f7ca6c99c3", "localizedMsg":"服务不可用", "message":"service not available." }
更新虚拟用户信息
定义描述
path | 版本 | 描述 | 是否需要用户身份的鉴权 |
---|---|---|---|
/uc/virtual/user/update | 1.0.4 | 更新当前登录用户名下的虚拟用户信息 | 是,客户端SDK需启用身份的鉴权,进行身份认证 |
请求参数
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
virtualUserId | String | 是 | 虚拟用户ID |
opType | Integer | 是 | 更新时属性时的操作类型(opType)的类型,目前仅支持三种:1:ADD,2:UPDATE,3😀ELETE |
attrList | List | 是 | 用户的属性及属性值。属性Key必须是在规定的系统属性中选择,具体系统属性定义 |
attrList列表结构
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
attrKey | String | 是 | 属性Key |
attrValue | String | 是 | 属性值 |
返回参数
参数 | 类型 | 描述 |
---|---|---|
userId | String | 创建的虚拟用户ID |
attrList | List | 用户的属性值,意义同请求参数 |
attrList列表结构
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
attrKey | String | 是 | 属性Key |
attrValue | String | 是 | 属性值 |
示例
- 请求示例
{ "request": { "iotToken": "109049c80bcde4c06b15f6f62e29a3ba", "apiVer": "1.0.4" }, "id": 1508212818676, "params": { "userId":"10B6336EFE05374FF99BDD428F58AA5A18", "opType":2, "attrList":[ { "attrKey":"name", "attrValue":"小李" } ] }, "version": "1.0" }
- 正常返回示例
{ "code": 200, "message": "success", "data": { "userId":"10B6336EFE05374FF99BDD428F58AA5A18", "attrList":[ { "attrKey":"name", "attrValue":"小明" } ] } }
- 异常返回示例
{ "code":503, "id":"4fa207ca-fffd-48bb-94b8-e6f7ca6c99c3", "localizedMsg":"服务不可用", "message":"service not available." }
查询虚拟用户列表
定义描述
path | 版本 | 描述 | 是否需要用户身份的鉴权 |
---|---|---|---|
/uc/virtual/user/list | 1.0.4 | 查询当前登录用户名下的虚拟用户列表 | 是,客户端SDK需启用身份的鉴权,进行身份认证 |
请求参数
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
pageNo | Integer | 是 | 当前页号,从1开始的页序号 |
pageSize | Integer | 是 | 页大小,单页的item数量上限 |
返回参数
参数 | 类型 | 描述 |
---|---|---|
total | Long | 虚拟用户总数 |
pageNo | Integer | 当前页号 |
pageSize | Integer | 页大小 |
data | List | 虚拟用户列表 |
data列表结构
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
userId | String | 是 | 虚拟用户ID |
attrList | List | 是 | 用户的属性及属性值。属性Key必须是在规定的系统属性中选择 |
attrList列表结构
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
attrKey | String | 是 | 属性Key |
attrValue | String | 是 | 属性值 |
示例
- 请求示例
{ "request": { "iotToken": "109049c80bcde4c06b15f6f62e29a3ba", "apiVer": "1.0.4" }, "id": 1508212818676, "params": { "pageNo":1, "pageSize":10 }, "version": "1.0" }
- 正常返回示例
{ "code": 200, "message": "success", "data": { "total":1, "pageNo":1, "pageSize":10, "data":[ { "userId":"10B6336EFE05374FF99BDD428F58AA5A18", "attrList":[ { "attrKey":"name", "attrValue":"小明" } ] } ] } }
- 异常返回示例
{ "code":503, "id":"4fa207ca-fffd-48bb-94b8-e6f7ca6c99c3", "localizedMsg":"服务不可用", "message":"service not available." }
查询虚拟用户详情
定义描述
path | 版本 | 描述 | 是否需要用户身份的鉴权 |
---|---|---|---|
/uc/virtual/user/query | 1.0.4 | 查询当前登录用户名下的虚拟用户详情 | 是,客户端SDK需启用身份的鉴权,进行身份认证 |
请求参数
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
virtualUserId | String | 是 | 虚拟用户ID |
返回参数
参数 | 类型 | 是否必选 | 描述 |
---|---|---|---|
userId | String | 是 | 虚拟用户ID |
attrList | List | 是 | 用户的属性及属性值。属性Key必须是在规定的系统属性中选择 |
attrList列表结构
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
attrKey | String | 是 | 属性Key |
attrValue | String | 是 | 属性值 |
示例
- 请求示例
{ "request": { "iotToken": "109049c80bcde4c06b15f6f62e29a3ba", "apiVer": "1.0.4" }, "id": 1508212818676, "params": { "userId":"10B6336EFE05374FF99BDD428F58AA5A18" }, "version": "1.0" }
- 正常返回示例
{ "code": 200, "message": "success", "data": { "userId":"10B6336EFE05374FF99BDD428F58AA5A18", "attrList":[ { "attrKey":"name", "attrValue":"小明" } ] } }
- 异常返回示例
{ "code":503, "id":"4fa207ca-fffd-48bb-94b8-e6f7ca6c99c3", "localizedMsg":"服务不可用", "message":"service not available." }
虚拟用户属性定义表
attrKey | attrType | attrName | 备注 |
---|---|---|---|
displayName | STRING | 显示名 | |
name | STRING | 姓名 | |
gender | INTEGER | 性别 | 1男;2女 |
birthday | STRING | 生日 | |
STRING | QQ号码 | ||
employeeID | STRING | 工号 | |
extNum | STRING | 办公分机号 | |
homeAddress | STRING | 家庭地址 | |
companyAddress | STRING | 公司地址 | |
companyName | STRING | 公司名称 | |
country | STRING | 国家名称 | |
region | STRING | 所在地区 | |
avatar | STRING | 头像 | 头像的图片URL地址 |
原创文章,作者:网友投稿,如若转载,请注明出处:https://www.cloudads.cn/archives/34024.html