场景实例
更新时间:2019-03-04 19:31:00
概述
设备服务是与设备相关的一组服务接口,为用户提供设备的查询、控制和关系服务能力。
场景是一组设备联动规则,联动规则分trigger condition action三部分
trigger是触发器,列在trigger中的每一项有任一项满足时就会尝试触发场景执行;
condition是边界条件,当trigger触发后,如果列在condition中的每一项条件全部满足的时候,才会触发场景;
action是执行器,它是被控制的功能的集合,其中每一项在场景执行时会并发执行;被控制的功能包括设置物的属性,调用物的服务,向移动端发消息,触发其他场景执行,控制其他场景部署,向三方mq发消息等功能。
一个场景必须要包含action部分,而trigger,condition部分不是必选的。场景的trigger、condition、action格式参考“场景创建”接口的示例。
创建场景,是为了能够自动调用设备服务、设置设备属性、给App发消息、触发其他场景、上报设备消息。不过我们也支持手动触发场景。在手动触发场景的时候,会无视trigger的存在直接尝试触发场景,不过依然会判断是否满足condition中的条件。
本文档整体分为两部分
第一部分:数据定义,这些数据结构会频繁在接口中使用;
第二部分:接口定义,说明接口的入参、出参和示例。
接口分为四大类:
基本操作接口
接口名 | 简介 |
---|---|
创建场景 | 创建具有TCA能力的场景。 |
删除场景 | 删除一个场景。 |
更新场景的基本信息 | 更新场景基本信息,指场景名,图标,描述,修改他们并不会影响场景的运行状态。 |
查询场景 | 查询所有场景,以分页列表的方式返回。 |
获取场景 | 获取的是场景全量信息,包含基本信息+tca+场景状态。 |
执行和部署
接口名 | 简介 |
---|---|
执行场景 | 手动触发一个场景。 |
在云端部署/撤销场景 | 撤销场景会停止场景的自动运行;再次部署会开启这个场景让它自动执行。 |
TCA相关接口
接口名 | 简介 |
---|---|
获取符合TCA功能的设备列表 | 在全租户下查找可以作为tca的设备列表景。 |
查询符合TCA条件的用户设备 | 分页查询用户所有可以作为tca的设备列表。 |
更新场景TCA | 更新场景,更改tca意味着场景的执行规则改变,更新之后,场景将按新的规则运行。 |
关系维护接口
接口名 | 简介 |
---|---|
绑定用户和场景 | 建立用户与场景的逻辑关系。 |
解绑用户和场景 | 解除用户与场景的逻辑关系。 |
查询用户的场景 | 查询指定用户下绑定的所有场景。 |
查询场景的用户 | 查询指定的场景下绑定的所有用户。 |
数据定义
DeviceTca
参数 | 类型 | 描述 |
---|---|---|
iotId | String | 设备iotId |
nickName | String | 设备昵称 |
image | String | 产品品类图标 |
SceneDesign
参数 | 类型 | 描述 |
---|---|---|
sceneId | String | 场景ID |
name | String | 场景名称 |
icon | Integer | 场景图标 |
status | Integer | 创建状态 |
enable | Boolean | true已部署 false未部署 |
接口定义
创建场景
场景执行的前提条件是:具有trigger,condition,action的设备连到阿里云IoT。其中trigger的最大条目数是100,condition的最大条目数是5,action的最大条目数是100。
场景创建后不会执行,需要调用“在云端部署/撤销场景”接口让场景真正运行起来。
示例描述了trigger,condition,action支持的所有格式
/home/paas/scene/create
- 版本1.0.0
入参
字段名 | 类型 | 必填 | 备注 |
---|---|---|---|
operator | JSONObject | 是 | 操作员,见“身份信息”定义。 |
name | String | 是 | 场景名称 |
icon | String | 是 | 场景图标 |
triggers | JSONArray | 否 | 场景的trigger |
conditions | JSONArray | 否 | 场景的condition |
actions | JSONArray | 是 | 场景的action |
description | String | 否 | 自定义场景描述 |
出参
返回结果使用通用结果类型,data域是字符串,见下表的说明:
参数 | 类型 | 描述 |
---|---|---|
sceneId | String | 创建的场景ID |
示例
例:
当前的操作员的用户ID是1111299939433,使用了三方账号体系。
创建场景:
名称:红外检测状态 有人 - 触发报警
触发器、条件和动作的参数如下
请求参数如下:
请求示例
{
"operator":{
"hid":"1111299939433",
"hidType":"OPEN"
},
"icon":"https://g.aliplus.com/scene_icons/default.png",
"name":"红外检测状态 有人 - 触发报警 ",
"triggers":[
{
"params":{
"cron":"按 http://crontab.org/ 填写",
"cronType":"linux"
},
"uri":"trigger/timer"
},
{
"params":{
"iotId":"xxxxxxxx",
"propertyName":"switch",
"compareType":">, >=, ==, !=, in等",
"compareValue":1
},
"uri":"trigger/device/property"
},
{
"params":{
"iotId":"xxxxxxxx",
"eventCode":"aaaaa",
"propertyName":"switch",
"compareType":">, >=, ==, !=, in等",
"compareValue":1
},
"uri":"trigger/device/event"
}
],
"condintios":[
{
"params":{
"iotId":"xxxxxxxx",
"propertyName":"switch",
"compareType":">, >=, ==, !=, in等",
"compareValue":1
},
"uri":"condition/device/property"
},
{
"params":{
"format":"HH:mm",
"beginDate":"8:30",
"endDate":"23:00",
"timezoneID":"Asia/Shanghai",
"repeat":"1,2,3"
},
"uri":"condition/timeRange"
}
],
"actions":[
{
"uri":"action/device/setProperty",
"params":{
"iotId":"xxxxxxxxxxx",
"propertyItems":{
"WorkMode":4,
"LightSwitch":1
},
"propertyNamesItems":{
"WorkMode":{
"abilityName":"工作模式",
"valueName":"生活",
"valueType":"enum"
},
"LightSwitch":{
"abilityName":"主灯开关",
"valueName":"开启",
"valueType":"enum"
}
}
}
},
{
"params":{
"iotId":"xxxxxxxx",
"serviceName":"online",
"serviceArgs":{
"WorkMode":4,
"LightSwitch":1
}
},
"uri":"action/device/invokeService"
},
{
"uri":"action/automation/setSwitch",
"params":{
"automationRuleId":"string",
"switchStatus":0
}
},
{
"uri":"action/scene/trigger",
"params":{
"sceneId":"string"
}
},
{
"params":{
"customData":{
"message":"进入小区 , 向手机发送通知"
},
"msgTag":"IlopBusiness_CustomMsg"
},
"uri":"action/mq/send"
}
]
}
关于周期执行条件condition/timeRange
作用是指定场景在一周内的某天的某个时间段中允许场景执行
{
"params":{
"format":"HH:mm",
"beginDate":"8:30",
"endDate":"23:00",
"timezoneID":"Asia/Shanghai",
"repeat":"1,2,3"
},
"uri":"condition/timeRange"
}
这是一个周期性的限定条件,一个场景中只有一个这种condition
其中"format": "HH:mm"是固定格式,
"beginDate": "8:30"指condition生效期从一天的早上8点30开始
"endDate": "23:00"指condition的生效期到晚上23点00结束
"timezoneID": "Asia/Shanghai"目前是固定格式,暂时不支持其他时区
"repeat": "1,2,3"表示一周内的周1周2周3允许执行,支持1~7表示周一到周日 用‘,’分割
关于定时触发器 trigger/timer
trigger中只支持最多一个定时触发器
{
"params": {
"cron": "cron表达式",
"cronType": "linux"
},
"uri": "trigger/timer"
}
cron表达式有5级维度,支持的最小粒度是分,最大到月,即
# ┌──────────── minute
# │ ┌────────── hour
# │ │ ┌──────── day of month
# │ │ │ ┌────── month
# │ │ │ │ ┌──── day of week
# │ │ │ │ │
# │ │ │ │ │
# * * * * *
支持周期触发的格式,按cron表达式的定义
0/5 * * * * 表示从每小时的0分开始,每5分钟执行一次
Cron的取值
field | value |
---|---|
minute | 0-59 |
hour | 0-23 |
day of month | 1-31 |
month | 1-12 (or names) |
day of week | 0-7 (or names, 0 or 7 are sunday) |
返回示例
{
"code":200,
"message":"success",
"data":{
"sceneId":"xxxxxxxxxxxxxxx"
}
}
删除场景
/home/paas/scene/delete
- 版本1.0.0
入参
字段名 | 类型 | 必填 | 备注 |
---|---|---|---|
operator | JSONObject | 是 | 操作员,见“身份信息”定义。 |
sceneId | String | 是 | 待删除的场景ID |
出参
返回结果使用通用结果类型,不使用data域,无值。
示例
例:
当前的操作员的用户ID是1111299939433,使用了三方账号体系。
要删除的场景ID是d4p61ikfvmgaaobd
请求参数如下:
请求示例
{
"operator": {
"hid": "1111299939433",
"hidType": "OPEN"
},
"sceneId": "d4p61ikfvmgaaobd"
}
返回示例
{
"code": 200,
"message": "success"
}
更新场景的基本信息
更新场景基本信息,指场景名,图标,描述,修改他们并不会影响场景的运行状态。
/home/paas/scene/baseinfo/update
- 版本1.0.0
入参
字段名 | 类型 | 必填 | 备注 |
---|---|---|---|
operator | JSONObject | 是 | 操作员,见“身份信息”定义。 |
name | String | 否 | 房屋名称 |
icon | String | 否 | 场景图标 |
description | String | 否 | 用户自定义描述 |
sceneId | String | 是 | 场景ID |
出参
返回结果使用通用结果类型,不使用data域,无值。
示例
例:
当前的操作员的用户ID是1111299939433,使用了三方账号体系。
要更新的场景ID是d4p61ikfvmgaaobd;
名称更新为newSceneName
图标更新为 https://at.cn
描述更新为 “new description”
请求参数如下:
请求示例
{
"operator":{
"hid":"1111299939433",
"hidType":"OPEN"
},
"sceneId":"d4p61ikfvmgaaobd",
"name":"newSceneName",
"icon":"https://at.cn",
"description":"new description"
}
返回示例
{
"code":200,
"message":"success"
}
查询场景
查询所有场景,以分页列表的方式返回。
查询的范围是创建出的所有场景。
/home/paas/scene/list
版本1.0.0
入参
字段名 | 类型 | 必填 | 备注 |
---|---|---|---|
operator | JSONObject | 是 | 操作员,见“身份信息”定义。 |
pageNo | Integer | 是 | 请求的页码,详细见“分页参数”定义。 |
pageSize | Integer | 是 | 每页的记录数,详细见“分页参数”定义。 |
出参
返回结果使用通用结果类型,data域是对象,见下表的详细说明:
参数 | 类型 | 描述 |
---|---|---|
data | JSONArray | 列表,见SceneDesign定义 |
total | Integer | 总记录数 |
pageNo | Integer | 请求的页码,详细见“分页参数”定义。 |
pageSize | Integer | 请求的页码,详细见“分页参数”定义。 |
示例
例:
当前的操作员的用户ID是1111299939433,使用了三方账号体系。
请求参数如下:
请求示例
{
"operator": {
"hid": "1111299939433",
"hidType": "OPEN"
},
"pageNo": 1,
"pageSIze": 10
}
返回示例
{
"code": 200,
"message": "success",
"data": {
"data": [{
"icon": "https://g.aliplus.com/scene_icons/default.png",
"name": "红外检测状态 有人 - 触发报警 ",
"status": 1,
"description": "aaaa",
"enable": true,
"sceneId": "xxxxxxxxxxxxxxxx"
}],
"total": 1,
"pageSize": 10,
"pageNo": 1
}
}
获取场景
获取的是场景全量信息,包含基本信息+tca+场景状态。基本信息和tca在上面的接口已经描述了。
关于场景状态,由status表示:
当status=1时表示场景在正常运行
当status=2时表示场景存在异常状态没有正常运行
比如tca中的某一个设备不在线会触发status==2
/home/paas/scene/get
- 版本1.0.0
入参
字段名 | 类型 | 必填 | 备注 |
---|---|---|---|
operator | JSONObject | 是 | 操作员,见“身份信息”定义。 |
sceneId | String | 是 | 场景ID |
出参
返回结果使用通用结果类型,data域是对象,见下表的详细说明:
字段名 | 类型 | 备注 |
---|---|---|
name | String | 房屋名称 |
icon | String | 场景图标 |
description | String | 用户自定义描述 |
triggers | JSONArray | 场景trigger |
conditions | JSONArray | 场景condition |
actions | JSONArray | 场景action |
sceneId | String | 场景ID |
enable | Boolean | true已部署 false未部署 |
description | String | 场景描述 |
status | Integer | 1场景正常运行,2场景未运行 |
示例
例:
当前的操作员的用户ID是1111299939433,使用了三方账号体系。
目标场景ID是d4p61ikfvmgaaobd;
请求参数如下:
请求示例
{
"operator": {
"hid": "1111299939433",
"hidType": "OPEN"
},
"sceneId": "d4p61ikfvmgaaobd"
}
返回示例
{
"code": 200,
"data": {
"icon": "https://g.aliplus.com/scene_icons/default.png",
"name": "红外检测状态 有人 - 触发报警 ",
"triggers": [{
"params": {
"cron": "按 http://crontab.org/ 填写",
"cronType": "linux"
},
"uri": "trigger/timer"
},
{
"params": {
"iotId": "xxxxxxxx",
"propertyName": "switch",
"compareType": ">, >=, ==, !=, in等",
"compareValue": 1
},
"uri": "trigger/device/property"
},
{
"params": {
"iotId": "xxxxxxxx",
"eventCode": "aaaaa",
"propertyName": "switch",
"compareType": ">, >=, ==, !=, in等",
"compareValue": 1
},
"uri": "trigger/device/event"
}
],
"condintios": [{
"params": {
"iotId": "xxxxxxxx",
"propertyName": "switch",
"compareType": ">, >=, ==, !=, in等",
"compareValue": 1
},
"uri": "condition/device/property"
}, {
"params": {
"format": "HH:mm",
"beginDate": "8:30",
"endDate": "23:00",
"timezoneID": "Asia/Shanghai",
"repeat": "1,2,3"
},
"uri": "condition/timeRange"
}],
"actions": [{
"uri": "action/device/setProperty",
"params": {
"iotId": "xxxxxxxxxxx",
"propertyItems": {
"WorkMode": 4,
"LightSwitch": 1
},
"propertyNamesItems": {
"WorkMode": {
"abilityName": "工作模式",
"valueName": "生活",
"valueType": "enum"
},
"LightSwitch": {
"abilityName": "主灯开关",
"valueName": "开启",
"valueType": "enum"
}
}
}
},
{
"params": {
"iotId": "xxxxxxxx",
"serviceName": "online",
"serviceArgs": {
"WorkMode": 4,
"LightSwitch": 1
}
},
"uri": "action/device/invokeService"
},
{
"uri": "action/automation/setSwitch",
"params": {
"automationRuleId": "string",
"switchStatus": 0
}
},
{
"uri": "action/scene/trigger",
"params": {
"sceneId": "string"
}
}
],
"status": 1,
"description": "aaaa",
"enable": true,
"sceneId": "xxxxxxxxxxxxxxxx"
},
"message": "success"
}
执行场景
手动触发一个场景。
/home/paas/scene/instance/run
- 版本1.0.0
入参
字段名 | 类型 | 必填 | 备注 |
---|---|---|---|
operator | JSONObject | 是 | 操作员,见“身份信息”定义。 |
sceneId | String | 是 | 场景ID |
出参
返回结果使用通用结果类型,不使用data域,无值。
示例
例:
当前的操作员的用户ID是1111299939433,使用了三方账号体系。
目标场景ID是d4p61ikfvmgaaobd;
请求参数如下:
请求示例
{
"operator":{
"hid":"1111299939433",
"hidType":"OPEN"
},
"sceneId":"d4p61ikfvmgaaobd"
}
返回示例
{
"code":200,
"message":"success"
}
在云端部署/撤销场景
有的时候,想让场景停止自动运行,那么用这个接口把场景从云端撤回部署。
当想再次开启这个场景让它自动执行,就用这个接口把场景部署起来。
部署的含义是让场景在满足trigger/condition的时候会触发action,如果撤销部署了,即便trigger/condition都满足,也不会触发action。
/home/paas/scene/switch/update
- 版本1.0.0
入参
字段名 | 类型 | 必填 | 备注 |
---|---|---|---|
operator | JSONObject | 是 | 操作员,见“身份信息”定义。 |
enable | Boolean | 是 | true 部署场景 false 撤销部署 |
sceneId | String | 是 | 场景ID |
出参
返回结果使用通用结果类型,不使用data域,无值
示例
例:
当前的操作员的用户ID是1111299939433,使用了三方账号体系。
要撤销的场景ID是d4p61ikfvmgaaobd。
请求参数如下:
请求示例
{
"operator":{
"hid":"1111299939433",
"hidType":"OPEN"
},
"sceneId":"d4p61ikfvmgaaobd",
"enable":false
}
返回示例
{
"code":200,
"message":"success"
}
获取符合TCA功能的设备列表
能够加入场景中的设备是有限制的,只有特定的设备才能加入到tca当中,这个接口就是在全租户下查找可以作为tca的设备列表。
/home/paas/scene/device/tenant/tca/list
- 版本1.0.0
入参
字段名 | 类型 | 必填 | 备注 |
---|---|---|---|
operator | JSONObject | 是 | 操作员,见“身份信息”定义。 |
pageNo | Integer | 是 | 请求的页码,详细见“分页参数”定义。 |
pageSize | Integer | 是 | 每页的记录数,详细见“分页参数”定义。 |
flowType | Integer | 是 | 数值型枚举 1:查trigger 2:查condition 3:查action |
name | String | 否 | 用这个值在设备昵称中模糊查询,比如name="灯" 会查nickName为"台灯","二楼台灯",“灯罩”的设备 |
出参
返回结果使用通用结果类型,data域是对象,见下表的详细说明:
字段名 | 类型 | 描述 |
---|---|---|
data | JSONArray | 设备列表,见DeviceTca定义 |
pageNo | Integer | 请求的页码,详细见“分页参数”定义。 |
pageSize | Integer | 请求的页码,详细见“分页参数”定义。 |
total | Integer | 总记录数 |
示例
例:
当前的操作员的用户ID是1111299939433,使用了三方账号体系。
查询支持Trigger的设备。
查询第2页,每页10个设备。
请求参数如下:
请求示例
{
"operator":{
"hid":"1111299939433",
"hidType":"OPEN"
},
"flowType":1,
"pageSize":10,
"pageNo":2
}
返回示例
{
"code":200,
"message":"success",
"data":{
"data":[
{
"iotId":"xxxxxxx",
"image":"https://xxx",
"nickName":"昵称"
},
{
"iotId":"xxxxxxx",
"image":"https://xxx",
"nickName":"昵称"
}
],
"pageSize":10,
"pageNo":2,
"total":12
}
}
查询符合TCA条件的用户设备
这个接口就是在用户所有的设备中查出可以作为tca的设备列表。
/home/paas/device/user/tca/list
- 版本1.0.0
入参
字段名 | 类型 | 必填 | 备注 |
---|---|---|---|
operator | JSONObject | 是 | 操作员,见“身份信息”定义。 |
target | JSONObject | 是 | 设备的归属用户,见“身份信息”定义。 |
flowType | Integer | 是 | 1:查trigger 2:查condition 3:查action |
出参
返回结果使用通用结果类型,data域是字符串,见下表的说明:
参数 | 类型 | 描述 |
---|---|---|
data | JSONArray | 设备列表,见DeviceTca定义 |
示例
例:
当前的操作员的用户ID是1111299939433,使用了三方账号体系。
查询22858512781用户下可以做trigger的设备
请求的参数如下:
请求示例
{
"operator":{
"hid":"1111299939433",
"hidType":"OPEN"
},
"target":{
"hid":"22858512781",
"hidType":"OPEN"
},
"flowType":1
}
返回示例
{
"code":200,
"message":"success",
"data":[
{
"iotId":"bndtgf8mrgx1n99vz86xh5tahbyutis4",
"image":"https://xxx",
"nickName":"昵称"
},
{
"iotId":"ecqnuj9vfttzvk5gcvdgh7r2seap8vsb",
"image":"https://xxx",
"nickName":"昵称"
}
]
}
更新场景TCA
tca指trigger+condition+action
更新场景tca意味着场景的执行规则改变,更新之后,场景将按新的规则运行。
/home/paas/scene/tca/update
- 版本1.0.0
入参
字段名 | 类型 | 必填 | 备注 |
---|---|---|---|
operator | JSONObject | 是 | 操作员,见“身份信息”定义。 |
sceneId | String | 是 | 场景ID |
triggers | JSONArray | 否 | 场景trigger |
conditions | JSONArray | 否 | 场景condition |
actions | JSONArray | 是 | 场景action |
出参
返回结果使用通用结果类型,不使用data域,无值。
示例
例:
当前的操作员的用户ID是1111299939433,使用了三方账号体系。
要更新的场景ID是d4p61ikfvmgaaobd。
要更新的TCA属性如下。
请求参数如下:
请求示例
A{
"operator":{
"hid":"1111299939433",
"hidType":"OPEN"
},
"sceneId":"d4p61ikfvmgaaobd",
"triggers":[
{
"params":{
"cron":"按 http://crontab.org/ 填写",
"cronType":"linux"
},
"uri":"trigger/timer"
},
{
"params":{
"iotId":"xxxxxxxx",
"propertyName":"switch",
"compareType":">, >=, ==, !=, in等",
"compareValue":1
},
"uri":"trigger/device/property"
},
{
"params":{
"iotId":"xxxxxxxx",
"eventCode":"aaaaa",
"propertyName":"switch",
"compareType":">, >=, ==, !=, in等",
"compareValue":1
},
"uri":"trigger/device/event"
}
],
"condintios":[
{
"params":{
"iotId":"xxxxxxxx",
"propertyName":"switch",
"compareType":">, >=, ==, !=, in等",
"compareValue":1
},
"uri":"condition/device/property"
},
{
"params":{
"format":"HH:mm",
"beginDate":"8:30",
"endDate":"23:00",
"timezoneID":"Asia/Shanghai",
"repeat":"1,2,3"
},
"uri":"condition/timeRange"
}
],
"actions":[
{
"uri":"action/device/setProperty",
"params":{
"iotId":"xxxxxxxxxxx",
"propertyItems":{
"WorkMode":4,
"LightSwitch":1
},
"propertyNamesItems":{
"WorkMode":{
"abilityName":"工作模式",
"valueName":"生活",
"valueType":"enum"
},
"LightSwitch":{
"abilityName":"主灯开关",
"valueName":"开启",
"valueType":"enum"
}
}
}
},
{
"params":{
"iotId":"xxxxxxxx",
"serviceName":"online",
"serviceArgs":{
"WorkMode":4,
"LightSwitch":1
}
},
"uri":"action/device/invokeService"
},
{
"uri":"action/automation/setSwitch",
"params":{
"automationRuleId":"string",
"switchStatus":0
}
},
{
"uri":"action/scene/trigger",
"params":{
"sceneId":"string"
}
},
{
"params":{
"customData":{
"message":"进入小区 , 向手机发送通知"
},
"msgTag":"IlopBusiness_CustomMsg"
},
"uri":"action/mq/send"
}
]
}
返回示例
{
"code":200,
"message":"success"
}
绑定用户和场景
建立用户与场景的逻辑关系。
/home/paas/user/scene/bind
- 版本1.0.0
入参
字段名 | 类型 | 必填 | 备注 |
---|---|---|---|
operator | JSONObject | 是 | 操作员,见“身份信息”定义。 |
sceneId | String | 是 | 场景ID |
target | JSONObject | 是 | 绑定的用户 |
出参
返回结果使用通用结果类型,不使用data域,无值。
示例
例:
当前的操作员的用户ID是1111299939433,使用了三方账号体系。
目标场景ID是d4p61ikfvmgaaobd
要绑定的用户ID是3008045502161
请求参数如下:
请求示例
{
"operator": {
"hid": "1111299939433",
"hidType": "OPEN"
},
"target": {
"hid": "3008045502161",
"hidType": "OPEN"
},
"sceneId": "d4p61ikfvmgaaobd"
}
返回示例
{
"code":200,
"message":"success"
}
解绑用户和场景
解除用户与场景的逻辑关系。
/home/paas/user/scene/unbind
- 版本1.0.0
入参
字段名 | 类型 | 必填 | 备注 |
---|---|---|---|
operator | JSONObject | 是 | 操作员,见“身份信息”定义。 |
target | JSONObject | 是 | 解绑用户 |
sceneId | String | 是 | 场景ID |
出参
返回结果使用通用结果类型,不使用data域,无值。
示例
例:
当前的操作员的用户ID是1111299939433,使用了三方账号体系。
目标场景ID是d4p61ikfvmgaaobd
要解绑的用户ID是3008045502161
请求参数如下:
请求示例
{
"operator":{
"hid":"1111299939433",
"hidType":"OPEN"
},
"target":{
"hid":"3008045502161",
"hidType":"OPEN"
},
"sceneId":"d4p61ikfvmgaaobd"
}
返回示例
{
"code":200,
"message":"success"
}
查询用户的场景
/home/paas/user/scene/list
- 版本1.0.0
入参
字段名 | 类型 | 必填 | 备注 |
---|---|---|---|
operator | JSONObject | 是 | 操作员,见“身份信息”定义。 |
target | JSONObject | 是 | 用户,见“身份信息”定义。 |
pageNo | Integer | 是 | 请求的页码,详细见“分页参数”定义。 |
pageSize | Integer | 是 | 每页的记录数,详细见“分页参数”定义。 |
出参
返回结果使用通用结果类型,data域是对象,见下表的详细说明:
参数 | 类型 | 描述 |
---|---|---|
data | JSONArray | 数据列表,见SceneDesign定义 |
total | Integer | 总记录数 |
pageNo | Integer | 请求的页码,详细见“分页参数”定义。 |
pageSize | Integer | 请求的页码,详细见“分页参数”定义。 |
示例
例:
当前的操作员的用户ID是1111299939433,使用了三方账号体系。
要查询的用户ID是3008045502161
请求参数如下:
请求示例
{
"operator":{
"hid":"1111299939433",
"hidType":"OPEN"
},
"target":{
"hid":"3008045502161",
"hidType":"OPEN"
},
"pageNo":1,
"pageSIze":10
}
返回示例
{
"code":200,
"message":"success",
"data":{
"data":[
{
"icon":"https://g.aliplus.com/scene_icons/default.png",
"name":"红外检测状态 有人 - 触发报警 ",
"status":1,
"description":"aaaa",
"enable":true,
"sceneId":"xxxxxxxxxxxxxxxx"
}
],
"total":1,
"pageSize":10,
"pageNo":1
}
}
查询场景的用户
查询指定的场景下绑定的所有用户
/home/paas/scene/user/list
- 当前版本 1.0.0
入参
参数 | 类型 | 是否必填 | 备注 |
---|---|---|---|
operator | JSONObject | 否 | 三方账号用户id |
queryInfo | JSONObject | 是 | 查询条件 |
operator 参数
名称 | 类型 | 是否必填 | 备注 |
---|---|---|---|
hid | String | 是 | 账户ID:目前支持三方账户ID |
hidType | String | 是 | 账户类型:OPEN(三方账户ID) |
queryInfo 参数
字段名 | 类型 | 是否必填 | 备注 |
---|---|---|---|
sceneId | String | 是 | 场景id |
出参
参数 | 类型 | 备注 |
---|---|---|
code | int | iot通用错误码 |
message | string | 提示信息 |
data | JSONArray |
用户openId列表 |
示例
例:
当前的操作员的用户ID是1111299939433,使用了三方账号体系。
要查询的场景ID是d4p61ikfvmgaaobd
请求参数如下:
请求示例
{
"operator": {
"hid": "1111299939433",
"hidType": "OPEN"
},
"queryInfo": {
"sceneId": "d4p61ikfvmgaaobd"
}
}
返回示例
{
"code": 200,
"data": {
"data": [
"dbaf213c-f9cf-4cd4-9cc4-6897dc4792ff",
"a756a00f-1972-4880-b395-ee866fd37bb9",
"f59f1d1c-0dd3-41d0-a582-9705f986bfea",
"a6ffbff2-9923-47bb-b72b-12c22ee96359"
]
},
"message": "success"
}