三方系统和账户授权

更新时间:2022-06-27 10:05:09下载pdf

时序图

三方系统和账户授权

授权流程

  1. 三方系统服务端授权账户到涂鸦 IoT 开发平台,由三方系统决定授权账户的范围。可以是三方系统的用户或员工账号,也可以是内部任何业务形态对应一个账号授权到涂鸦 IoT 开发平台,例如:企业、门店、项目等。

  2. 获取 ticket。对应已经授权的账户,三方系统服务端使用账户加国家码,向涂鸦 IoT 开发平台申请一个 ticket

  3. 使用 ticket 获取会话。

    • 使用场景 1:涂鸦的系统域名加上这个 ticket,可实现免登跳转。比如,访问涂鸦的系统网站,示例:lighting.console.tuyacn.com?ticket=xxxxx。重点案例:设备扫码控制
    • 使用场景 2:涂鸦商照 SDK 获取会话接口,传入 ticket 获取会话状态,访问完整的 SDK 能力。

API 列表

请求方式 API 描述
POST /v1.0/industry/auth/admin 三方系统授权账户到涂鸦 IoT 开发平台
POST /v1.0/industry/auth/ticket 获取 ticket
POST /v1.0/illumination/account/permission/add 账户分配项目空间权限
GET /v1.0/illumination/account/list 获取授权账户列表

授予员工账号跳转权限

功能描述

将企业的员工授权到涂鸦 SaaS 平台。

接口地址

POST /v1.0/industry/auth/admin

请求参数

参数名 类型 参数类型 说明 是否必需
username String body 账户名
password String body 密码
nickName String body 用户名
countryCode String body 国家码

返回参数

参数名 类型 说明
code Integer 响应码(详情见错误码章节),成功时为空
success Boolean 是否成功。
  • true:成功
  • false:失败
msg String 请求失败的信息,成功时为空
t Long 返回时间戳,13 位
result Object 返回结果

result 参数说明

"ay1575258560846OO4lC"

请求示例

{
  "username": "123456",
  "nickName": "xxxx",
  "countryCode": "86"
  }

响应示例

{
   "success":"true",
   "t":1541071460239,
   "result":"ay1575258560846OO4lC"
}

获取登录 ticket

功能描述

获取登录涂鸦 SaaS 平台的 ticket

接口地址

POST /v1.0/industry/auth/ticket

请求参数

参数名 类型 参数类型 说明 是否必需
username String body 用户名
countryCode String body 国家码 否,默认 86

返回参数

参数名 类型 说明
code Integer 响应码(详情见错误码章节),成功时为空
success Boolean 是否成功。
  • true:成功
  • false:失败
msg String 请求失败的信息,成功时为空
t Long 返回时间戳,13 位
result String 返回结果

result 参数说明

{
result:"12hjklgew2gtywgwxsdgw"
}

请求示例

{
  "username": "186xxxx2790",
  "countryCode":"86"
}

响应示例

{
    "success":true,
    "t":1541071460239,
    "result": "12hjklgew2gtywgwxsdgw"
}

项目空间权限分配

功能描述

为子账号分配项目空间权限。

接口地址

POST /v1.0/illumination/account/permission/add

请求参数

参数名 类型 参数类型 说明 是否必需
projectId String body 项目 ID
tuyaUid String body 涂鸦用户 ID
roomIdList List body 空间 ID 列表

返回参数

参数名 类型 说明
code Integer 响应码(详情见错误码章节),成功时为空
success Boolean 是否成功。
  • true:成功
  • false:失败
msg String 请求失败的信息,成功时为空
t Long 返回时间戳,13 位
result Object 返回结果

result 参数说明

{
  true/false
}

请求示例

{
  "tuyaUid": "ay1563*******1zJw30",
  "projectId": "123324234",
  "roomIdList": ["1420922162969059328"]
}

响应示例

{
    "success":true,
    "t":1541071460239,
    "result": true
}

获取授权账户列表

功能描述

获取账户列表。

接口地址

GET /v1.0/illumination/account/list

请求参数

参数名 类型 参数类型 说明 是否必需
loginName String body 登录名
nickName String body 昵称
page int body 当前页数
pageSize int body 每页条数

返回参数

参数名 类型 说明
code Integer 响应码(详情见错误码章节),成功时为空
success Boolean 是否成功。
  • true:成功
  • false:失败
msg String 请求失败的信息,成功时为空
t Long 返回时间戳,13 位
result Object 返回结果

result 参数说明

{
  "total": "int",
  "list": [
    {
      "uid": "String //UID",
      "loginName": "String //登录名",
      "nickName": "String //昵称",
      "roleCode": "String //角色 code",
      "roleName": "String //角色名称",
      "remark": "String //备注",
      "createDate": "String //创建时间",
      "adminId": "String //账户 ID",
      "page": "int",
      "pageSize": "int"
    }
  ]
}

请求示例

{
  "loginName": "xxx",
}

响应示例

{
  "total": "int",
  "list": [
    {
      "uid": "xxxx",
      "loginName": "",
      "nickName": "",
      "roleCode": "",
      "roleName": "",
      "remark": "",
      "createDate": "",
      "adminId": "",
    }
  ]
}