注意事项

1.调用业务接口使用Bearer token,Bearer token的含义是 在请求的header中添加Authorization参数并且值是Bearer {access_token},注意Bearer和access_token之间有空格

2.若查询分页携带参数

参数名 类型 含义 示例
pageNum String 页码 0
pageSize String 页数 15

域名说明

https://open.apps.paas.se-unicloud.com

用户权限

1. 同步应用下订阅租户

2. 同步应用下角色信息

3. 同步订阅租户的用户

4. 判断用户是否有访问应用的权限

5. 事件推送

1.同步应用下订阅租户

  • 请求URL

{domain}/iot-open-manager/open/syncAppSubscriberTenantInfo
  • 请求方式

    GET

  • 请求参数

参数名 类型 含义 示例
times Sting类型 时间戳 0,1629940925000
  • 返回示例

{
  "code": 1,
  "message": "success",
  "data": [
    {
​      "createUserId": null,
​      "applicationUniqueId": "w4j2q9wcyt",
​      "updateUserId": null,
​      "remark": null,
​      "version": 0,
​      "createDateTime": "2021-08-24T16:02:01",
​      "deleted": false,
​      "tenantName": "youke",
​      "updateUserType": 1,
​      "createUserType": 1,
​      "id": 575,
​      "updateDateTime": "2021-08-24T16:02:01",
​      "tenantUniqueId": "youke",//租户id
      "tenantName": "上海电气集团数字科技有限公司",
​      "applicationName": "0819-test-lin03"
    }
  ],
  "error": ""
}

2.同步应用下角色信息

注意:此接口数据为应用在平台上角色管理中创建的角色。

  • 请求URL

{domain}/open/syncAppRoleInfo
  • 请求方式

    GET

  • 请求参数

参数名 类型 含义 类型
times String 时间戳 0,1629940925000
  • 返回示例

{
  "code": 1,
  "success": true,
  "error": "",
  "message": "",
  "data": [
    {
      "createUserId": null,
      "updateUserId": null,
      "id": 55,
      "remark": null,
      "deleted": false,
      "version": 0,
      "createDateTime": "2020-12-01T14:07:17",
      "updateDateTime": "2020-12-01T14:07:17",
      "createUserType": 1,
      "updateUserType": 1,
      "uniqueId": "suvfli26l5", 
      "applicationUniqueId": "ieqiia6zgm",
      "code": "BASEUSER",//角色code
      "name": "普通用户",//角色名称
      "tenantUniqueId": "testabc" //租户Id
    },
    {
      "createUserId": null,
      "updateUserId": null,
      "id": 53,
      "remark": null,
      "deleted": false,
      "version": 0,
      "createDateTime": "2020-12-01T14:07:13",
      "updateDateTime": "2020-12-01T14:07:13",
      "createUserType": 1,
      "updateUserType": 1,
      "uniqueId": "qb9flph5rs",
      "applicationUniqueId": "ieqiia6zgm",
      "code": "TENANTADMIN",
      "name": "租户管理员",
      "tenantUniqueId": "testabc"
    }
  ]
}

3.同步订阅租户的用户

  • 请求URL

{domain}/iot-open-manager/open/getSyncTenantInfo?tenantUniqueId=1&times=&pageNum=1&pageSize=10
  • 请求方式

    GET

  • 请求参数

参数名 类型 含义 示例
tenantUniqueId String 租户唯一id zpoq2
times String 时间戳 0,1629940925000
pageNum Integer 页码(从0开始) 0
pageSize Integer 每页显示的数量 10
  • 返回示例

{
  "code": 1,
  "message": "success",
  "data": {
​    "total": 2,
​    "totalSize": 4,
​    "pageCurrent": 0,
​    "pageSize": 2,
​    "pageTotal": 2,
​    "data": [
​      {
        "createUserId": "3",
        "updateUserId": "3",
        "id": 15,
        "remark": null,
        "deleted": false,
        "version": 3,
        "createDateTime": "2020-12-02T16:24:27",
        "updateDateTime": "2020-12-03T13:18:06",
        "createUserType": "0",
        "updateUserType": "0",
        "uniqueId": "lqna61ka6l",//普通用户的唯一识别码
        "tenantUsername": "zhang0001",//普通用户的用户名
        "identifiedName": "张二",//普通用户的身份证名
        "identifiedCode": "110101199003071111",///普通用户的身份证号码
        "mobileNumber": "177****1111",//普通用户的手机号
        "mailAddress": "zhanger@xxx.com",//普通用户的邮箱
        "tenantUniqueId": "abcde",//普通用户所属的租户唯一识别码
        "lastName": "张",//普通用户的姓
        "firstName": "二",//普通用户的名
        "displayName": "张二-测试部",//普通用户展示名
        "spellName": "zhanger",// 普通用户名字拼音
        "type": "1",//普通用户类型 --0编外 1为正式
        "status": "1",//普通用户状态 --0为离职 1为在职 2为退休
        "code":null,//角色code
        "name":null//角色name
​      },
​      {
​        "createUserId": "1707",
​        "updateUserId": "1707",
​        "id": 1707,
​        "remark": null,
​        "deleted": false,
​        "version": 1,
​        "createDateTime": "2021-07-28T16:54:19",
​        "updateDateTime": "2021-07-28T16:54:19",
​        "createUserType": "1",
​        "updateUserType": "1",
​        "uniqueId": "d41w2k2i4z",
​        "tenantUsername": "devel03",
​        "identifiedName": "开发者",
​        "identifiedCode": "devel03",
​        "mobileNumber": "131****3516",
​        "mailAddress": "131****3516@xxx.com",
​        "tenantUniqueId": "abcde",
​        "lastName": "开",
​        "firstName": "发者",
​        "displayName": "开发者-devel03",
​        "spellName": "开发者",
​        "type": "1",
​        "status": "1",
​        "code": null,
​        "name": null
​      }
​    ]
  },
  "error": ""
}

4.判断用户是否有访问应用的权限

  • 请求URL

{domain}/iot-open-manager/open/checkAuth?uniqueId
  • 请求方式

    GET

  • 请求参数

    uniqueId:String类型用户唯一id

  • 返回示例

{
  "code": 1,
  "message": "success",
  "data": {
      "createUserId": null,
      "updateUserId": null,
      "id": 63,
      "remark": null,
      "deleted": false,
      "version": 0,
      "createDateTime": "2020-12-11T15:15:11",
      "updateDateTime": "2020-12-11T15:15:11",
      "createUserType": 1,
      "updateUserType": 1,
      "uniqueId": "tnhqqf3fnk",//角色唯一识别码,有角色且有访问权限时才有数据
      "applicationUniqueId": "n89vnnsort",//应用唯一识别码e
      "code": "TENANTADMIN",//角色code,有角色且有访问权限时才有数据
      "name": "租户管理员",//角色name,有角色且有访问权限时才有数据
      "tenantUniqueId": "wniko",//租户id,有访问权限时才有数据
      "isAuth":"true"//true 有权限 false 无权限,有权限不一定有角色code,有角色code则一定有权限
  },
  "error": ""
}

5.事件推送

租户操作订阅、用户权限变动等通知

场景:

1、租户在平台订阅了应用,租户订阅的应用到期或者退订应用,平台会通知应用;

2、租户在平台上设置了用户访问应用的权限,平台会通知应用;

加密规则:

应用id+时间戳+随机数,secret是应用的appsecret

举例:

加密:String token = AESUtil.encrypt(portalProductByKey.getId()+t+rs, secret);
解密:String token = AESUtil.decrypt(portalProductByKey.getId()+t+rs, secret);
  • 请求URL

应用创建时开发人员设置的回调接口地址
  • 请求方式

    POST

  • 请求参数

{
    "appId": "612dcebac48407cface6cc10",//应用id
    "secret":   "7C08774E07ADA1C4518156D4A816A9CEF1CECCF22C7D8D7C7828B6F98CFF9369235FA76E652F19423BD91A8674E76A1DE7CA07C223993E55B8FCD5B6B6757086",//密钥
    "nonce": "TMpn5Hjt65q9pgNJ",//随机数
    如果status = 013,conente如下:
    "content": {
    "date": 1631148793534,
    "productId": "612dcebac48407cface6cc10",//应用id
    "uniqueId": "vk1io",//租户id
    "status": 1 //0:退订 1:过期 2:用户权限变更 3:订阅
    },
    如果status = 2 conente如下:
     "content": {
    "date": 1631148793534,
    "productId": "612dcebac48407cface6cc10",//应用id
    "uniqueId": "vk1io",//租户id
    "status": 2 //0:退订 1:过期 2:用户权限变更 3:订阅
    "userId":"119928879640088576",//用户id
    "appRoleCode": "TENANTADMIN",//角色code
    "appRoleName": "租户管理员",//角色名称
    "roleBindStatus": 1,//0:角色解绑 1:角色绑定  2:权限绑定  3:权限解绑
    },  
    "timestamp": 1631148793576 //时间戳
}
  • 返回示例

{
    "code": 1,
    "message": "success",
    "data": "成功",
    "error": ""
}

results matching ""

    No results matching ""