智能家居应用

API的文档位于 https://dev.izhiju.cn/doc/

为了通过API访问REST资源,需要一个身份验证令牌。可以通过执行身份验证API获取令牌。

  • 用户登录认证,注册和找回密码接口请查看:用户接口

1. 设备绑定接口

  • 参数:
    • 调用生成二维码接口
    • unionId: 用户名 例如:“yeker”,第一次用户绑定都会是owner(就是你登录的用户。只有owner存在才能创建其他用户)
    • deviceId: 注册的设备id 例如:“1232212233”

请求成功: 返回json数据:

  • 调用生成二维码接口
    • message:
    • code: (可根据以下返回编码做判断,编码请忽略大小写判断)
      • UserNotExist: 用户不存在
      • DeviceIdNotExist:没找到对应的设备
      • Success:设备分享成功
      • ownerIsBinding: 主人已绑定
      • IsNotOwner: 非主人无权绑定
      • OwnerExist:主人已存在,无需重复绑定
      • UserBindingExist:用户已绑定,无需重复操作。
      • OwnerBindingSuccess:绑定设备成功,恭喜你成为主人。

2. 查询设备详情消息接口

  • 参数:
  • 调用生成二维码接口
  • scopeId: 登录用户获取
  • deviceId: 注册的设备id 例如:“1232212233”

请求成功: 返回json数据:

  • 调用生成二维码接口

3. 删除用户接口

  • 参数:
    • 调用生成二维码接口
    • scopeId: 登录用户获取
    • unionId: 登录的用户id
    • deviceId: 注册的设备id 例如:“1232212233”

请求成功:

返回json数据:

  • 调用生成二维码接口
  • Owner解绑当前设备会全部删除包括 设备下的friend的用户

Owner解绑 设备下的friend的用户

  • 调用生成二维码接口
  • unionId: 填写friend用户的id

friend的用户 无法解绑Owner用户

  • 调用生成二维码接口

friend的用户 只能解绑自己

  • 调用生成二维码接口
  • unionId: 填写friend用户的id

4. 查询用户设备列表接口

  • 参数:

    • 调用生成二维码接口
    • scopeId: 登录用户获取
    • userId: 登录的用户id

请求成功: 返回json数据:

  • 调用生成二维码接口 其中: “userAcl”: “测试区,虚拟区”, //保存拥有权限的区域列表,owner例外,owner含有所有区域权限不受此字段限制 “priority”: 0, //优先级,优先级保存最后一次选择的网关或位置的次数,即当前选择的位置或网关用最大数值那个

5. 更新设备昵称或用户昵称优先级区域权限等接口

  • 参数:
    • 调用生成二维码接口
    • scopeId: 登录用户获取
    • userDeviceId: 设备id
    • deviceId: 设备id
    • id: id,
    • devNick: 设备昵称
    • nickName: 用户昵称,
    • userAcl: 有权限的区域,
    • priority: 最后选择的网关或位置,数字更新为最大

请求成功: 返回json数据:

  • 调用生成二维码接口

6. 查询当前设备绑定的所有用户接口

  • 参数:

    • 调用生成二维码接口
    • scopeId: 登录用户获取
    • deviceId: 设备id

请求成功: 返回json数据:

  • 调用生成二维码接口
  • 调用生成二维码接口

7. 查询用户自定义场景列表

  • 参数:

    • 调用生成二维码接口
    • scopeId: 登录用户获取

请求成功: 有数据时返回json数据:

  • 调用生成二维码接口
  • 请求成功没有有数据时返回 204

8. 上传文件接口

  • 参数:
    • deviceId: 设备id 例如 :(11:22:33:44:55:66)
    • projectName : 项目名字 例如 :(panel)
    • Key : 发邮件给

使用工具测试:

  • 调用生成二维码接口

下载

  • 调用生成二维码接口

9. MQTT

发送内容在Metrics消息中 消息格式是protobuf 都是先订阅主题,后面在请求得到消息

绑定消息

 订阅主题格式TOPIC:yeker/RY-kXm43z-Y/event
 RY-kXm43z-Y------登录的userid.
 event ---- 固定值
 发送内容
 userid:登录的userid.
 deviceid:设备ID
 msgType:"bind" --固定值

解绑消息 Owner用户解绑所有

 订阅主题格式TOPIC yeker/100000071/event
 yeker ---固定值
 100000071  ------ 设备id
 event ---- 固定值
 发送内容
 userid: 用户id
 deviceid: 设备id
 msgType": "unbind"  --  固定值

Owner用户解绑friend用户

 订阅主题格式TOPIC:yeker/100000071/event/I00DvWRS7_w
 yeker ---固定值
 100000071  ------ 设备id
 event ---- 固定值
 I00DvWRS7_w --- 传入friend 用户 user id
 发送内容
 userid: 用户id
 deviceid: 设备id
 msgType": unbind  --  固定值

friend用户解绑自己

  订阅主题格式TOPIC:yeker/100000071/event/RY-kXm43z-Y
  yeker ---固定值
  100000071  ------ 设备id
  event ---- 固定值
  RY-kXm43z-Y --- 传入自己的user id
  发送内容
  userid: 用户id
  deviceid": 设备id
  msgType": unbind  --  固定值