# OAuth2授权
- 在开放平台注册应用
- 通过应用详情的“授权链接”获取code,并拼接如下参数
字段名称 | 字段说明 | 必须 | 备注 |
---|---|---|---|
redirect_uri | 获取code后重定向地址 | Y | - |
client_id | 请填写应用详情的appKey | Y | - |
response_type | 请固定填写成“code” | Y | - |
state | 附加参数 | Y | 开放平台会原样返回 |
示例:
https://api.yonsz.net/web/box/proxy/authorize/c1b6cd78-fffa-4eb4-9eb9-766eae3bcd37/1103?redirect_uri=https://baidu.com&client_id=c1b6cd78-fffa-4eb4-9eb9-766eae3bcd37&response_type=code&state=0.6021364465152943
此时需要用户授权登录,绑定家庭,绑定完成后,开放平台会根据回调地址,携带code,state回调
通过code 获取access token和 refresh token
请求方式:post
请求地址:https://api.yonsz.net/uauth/oauth/token
Content-Type:application/x-www-form-urlencoded
参数如下:
字段名称 | 字段说明 | 必须 | 备注 |
---|---|---|---|
grant_type | 固定填写“authorization_code” | Y | - |
code | 步骤2获取的code | Y | - |
redirect_uri | 获取token后重定向地址 | Y | - |
client_id | 请填写应用详情的appKey | Y | - |
client_secret | 请填写应用详情的appSecret | Y | - |
- 完成以上oauth2的授权过程,之后的请求接口,在请求头(header)附带 Authorization(key),Bearer token(value)
示例:"Authorization": "Bearer 4b8478d2-dcd7-436d-b1e5-33097fd4e7f7"
# 统一网关
请求方式:post
https://open.yonsz.net/api/gateway
# 统一请求参数
请求参数统一使用json格式数据,具体格式如下
字段名称 | 字段说明 | 类型 | 必须 | 备注 |
---|---|---|---|---|
header | 系统级参数 | Object | Y | 格式如下 |
header.type | 请求类型 | String | Y | 取值如下: LIST 获取设备列表 CONTROL 设备控制 MODE_LIST 获取情景模式列表 MODE_CONTROL 执行情景模式 HOUSE_LIST 获取家庭 STATUS 查询设备状态 |
header.version | 版本 | String | Y | 默认1.0 |
header.requestTime | 请求时间戳 | String | Y | 精确到毫秒 |
header.requestId | 请求id | String | Y | - |
payload | 应用级参数 | Object | N | 根据业务类型可选,具体请参考接口详情 |
示例
{
"header": {
"type": "LIST",
"version": 1,
"requestTime": 1506588295432,
"requestId": "304a1c510f9e4683a43be5f2a7cfeb52"
},
"payload": {
"houseId": "12312sd",
"withCmd": true
}
}
# 统一响应参数
响应请求参数统一使用json格式数据,具体格式如下
字段名称 | 字段说明 | 类型 | 长度 | 备注 |
---|---|---|---|---|
success | 是否成功 | String | 11 | true_成功,false_失败 |
statusCode | 状态码 | int | 11 | 详情请参考状态码说明 |
message | 结果消息 | String | 64 | 状态码的描述 |
requestId | 请求id | String | 11 | 对应请求参数的header的requestId |
responseTime | 响应时间 | String | 11 | |
result | 返回数据 | Object | - | 具体请参考接口详情 |
示例
{
"success": true,
"message": "success",
"requestId": "304a1c510f9e4683a43be5f2a7cfeb52",
"responseTime": 1506588295432,
"result": { },
"statusCode": 200
}
# 支持的设备与操作命令
支持操作的命令会在设备发现时返回,所以实际操作命令请以接口返回为主
设备(设备类型) | 操作命令 | 取值范围 | 命令说明 |
---|---|---|---|
空调(air) | - | - | |
- | power | - | 打开设备 |
- | powerOff | - | 关闭设备 |
- | tempUp | - | 温度调高 |
- | tempDown | - | 温度调低 |
- | windVertical | - | 打开上下摆风 |
- | windVerticalStop | - | 关闭上下摆风 |
- | windHorizontal | - | 左右摆风 |
- | tempSet | [16-32] | 温度设置,操作时需要上传指定度数 |
- | cold | - | 制冷 |
- | heat | - | 制热 |
- | dehumidification | - | 除湿 |
- | sleep | - | 睡眠 |
- | windSpeed | - | 风速 |
- | windSpeedAuto | - | 风速自然风 |
- | windSpeedLow | - | 风速低风 |
- | windSpeedMedium | - | 风速中风 |
- | windSpeedHigh | - | 风速高速风 |
风扇(fan) | - | - | |
- | power | - | 打开设备 |
- | powerOff | - | 关闭设备 |
- | oscillation_start | - | 打开摆风 |
- | oscillation_end | - | 关闭摆风 |
- | speedplus | - | 风速大点 |
- | speedreduce | - | 风速小点 |
- | mode | - | 改变风类 |
电视/机顶盒(tv/box) | - | - | |
- | power | - | 打开设备 |
- | powerOff | - | 关闭设备 |
- | volplus | - | 音量加 |
- | volminus | - | 音量减 |
- | up | - | 上 |
- | down | - | 下 |
- | left | - | 左 |
- | right | - | 右 |
- | ok | - | 确定 |
- | pause | - | 暂停播放 |
- | play | - | 开始播放 |
- | boot | - | 返回主页 |
- | back | - | 后退 |
- | menu | - | 菜单 |
- | powerbox | - | 机顶盒 |
- | signal | - | 信号源 |
- | chplus | - | 频道加 |
- | chminus | - | 频道减 |
- | mute | - | 静音 |
- | channelSet | [1-9] | 频道设置 |
扫地机(sao) | - | - | |
- | power | - | 打开设备 |
- | powerOff | - | 关闭设备 |
- | charge | - | 回去充电 |
- | up | - | 上 |
- | down | - | 下 |
- | left | - | 左 |
- | right | - | 右 |
- | edgewise | - | 沿边模式 |
- | strong | - | 强劲模式 |
灯光(light) | - | - | |
- | power | - | 打开设备 |
- | powerOff | - | 关闭设备 |
- | brightness | [20-100] | 灯光亮度 |
- | brightness_up | - | 灯亮一点 |
- | brightness_down | - | 灯暗一点 |
窗帘(blind) | - | - | |
- | open | - | 打开窗帘 |
- | close | - | 关闭窗帘 |
- | stop | - | 停止窗帘 |
- | travelcontrol | [0-100] | 窗帘行程控制(注:不是所有的窗帘都支持该操作) |
插座(plug) | - | - | |
- | power | - | 打开设备 |
- | powerOff | - | 关闭设备 |
背景音乐(backMusic) | - | - | |
- | power | - | 打开设备 |
- | powerOff | - | 关闭设备 |
- | volplus | - | 音量加 |
- | volminus | - | 音量减 |
- | last | - | 上一首 |
- | next | - | 下一首 |
- | source | - | 音源切换 |
- | loop | - | 播放模式 |
- | play | - | 开始播放 |
- | stop | - | 暂停 |
- | mute | - | 静音 |
晾衣架(clothes_hanger) | - | - | |
- | up | - | 上升 |
- | down | - | 下降 |
- | stop | - | 停止 |
- | light | - | 打开照明 |
- | lightoff | - | 关闭照明 |
- | disinfect | - | 打开消毒 |
- | disinfectoff | - | 关闭消毒 |
- | airdrying | - | 打开风干 |
- | airdryingoff | - | 关闭风干 |
- | stoving | - | 打开烘干 |
- | stovingoff | - | 关闭烘干 |
- | anion | - | 打开负离子 |
- | anionoff | - | 关闭负离子 |
开窗器(window_pusher) | - | - | |
- | open | - | 打开 |
- | close | - | 关闭 |
- | stop | - | 停止 |
净化器(purifier) | - | - | |
- | power | - | 打开设备 |
- | powerOff | - | 关闭设备 |
- | speed | - | 风速大点 |
- | sleep | - | 睡眠 |
- | auto | - | 自动 |
- | childlock | - | 童锁 |
- | windspeedreduction | - | 风速小点 |
- | atomize | - | 雾化 |
- | anion | - | 负离子 |
- | sterilize | - | 杀菌 |
# 设备状态
设备 | 状态名称 | 状态说明 |
---|---|---|
空调 | - | - |
- | openFlag | 设备开关标识:0_关闭,1_打开 |
- | model | 模式:1_制冷模式,2_除湿模式,4_制热模式 |
- | temp | 温度,取值范围[16-32],大部分空调只能设置30度,小部分空调可以设置32度 |
- | speed | 速度:0_自动风,1_低速风,2_中速风,3_高速风 |
- | sleep | 睡眠模式:0_关闭,1_开启 |
- | economic | 经济模式:0_关闭,1_开启 |
- | screen | 屏幕:0_关闭,1_开启 |
- | windDirect | 风向 |
晾衣架 | - | - |
- | openFlag | 设备开关标识:0_关闭,1_打开 |
- | voice | 语音:0_关闭,1_开启 |
- | disinfect | 消毒:0_关闭,1_开启 |
- | anion | 负离子:0_关闭,1_开启 |
- | airdrying | 风干:0_关闭,1_开启 |
- | stoving | 烘干:0_关闭,1_开启 |
- | light | 照明:0_关闭,1_开启 |
窗帘 | - | - |
- | openFlag | 设备开关标识:0_关闭,1_打开 |
- | travelControl | 窗帘的行程控制,取值范围[0-100] |
- | stop | 窗帘是否停止:0_关闭,1_开启 |
灯光 | - | - |
- | openFlag | 设备开关标识:0_关闭,1_打开 |
- | brightness | 亮度,取值范围[20-100] |
其他 | - | - |
- | openFlag | 设备开关标识:0_关闭,1_打开 |
# 统一状态码
状态码 | 状态码说明 |
---|---|
200 | 成功 |
301 | token无效 |
302 | 小艾已离线,请重新配网 |
402 | 家庭不存在,请重新授权绑定 |
404 | 设备不存在,请重新发现设备 |
501 | 设备操作不支持,请重新获取设备操作 |
500 | 其他错误,详情参考msg |