# OAuth2授权

  1. 在开放平台注册应用
  2. 通过应用详情的“授权链接”获取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

  1. 此时需要用户授权登录,绑定家庭,绑定完成后,开放平台会根据回调地址,携带code,state回调

  2. 通过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 -
  1. 完成以上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
最后一次更新时间: 7/8/2022, 5:22:09 PM