BOSS 系统 API

http://arch.smartmideazy.com/apidoc/main-entry/API.html

1 返回码

除统一登录返回码外,见: http://arch.smartmideazy.com/docs/account/account-doc.html

以下是BOSS系统网关的返回码,如下:

返回码 说明
401 没有权限
403 拒绝访问
200 正确返回
其他 业务异常返回

2 登录接口及域名

注:登录接口使用的是统一登录的域名。

参见:

http://arch.smartmideazy.com/docs/account/account-doc.html

统一登录域名

环境 域名
SIT https://gw-sit.remacsmart.com
POD https://gw.remacsmart.com
编号 API名称 路径 版本 适用范围
2.1 登录 /v1/user/sso/login 1.0 所有
2.2 刷新token /v1/oauth/sso/refreshtoken 1.0 所有
2.3 平台统一登录切换接口 /v1/user/auto/login 1.0 所有
2.4 退出登录 /v1/user/logout 1.0 所有

3 本期BOSS系统API域名

域名 环境
https://open.remacsmart.com/ 生产
https://open-sit.remacsmart.com/ SIT

4 安全规范

除白名单接口外,所有的API接口HTTP头部必须带上 Authorization 和 tokenInfo

详见主数据API接口

http://arch.smartmideazy.com/apidoc/main-entry/API.html

中《Part II 前端(含H5、小程序、APP)请求Token 约定》章节的描述。

部分接口使用 remacToken 作为HTTP头部标识。

注:remacToken 与 Authorization + tokenInfo 互斥,请仔细阅读接口要求。

头部Authorization + tokenInfo 是为了能够访问社区主数据的接口。

4.1 h5 配置 client_id

超管登录后,跳转至BOSS 系统的WEB 页面。 需要在中台为BOSS 系统的WEB 工程配置client_id和client_secret、access_token/refresh_token过期时间。

测试环境:

client_id client_secret
boss-client fduz4qNZAPssP9823zw0fCtLrUVX9bxImMqx3+llhZ+NJokBmCoN80Sgb5ATPy8K/paNKvNidJeNLa0g9Y4Pmub1YlTgVBLUmZqcBeB5KSx9N49dAmj7ZPTWz3fQhoh8weW1YvvMWoC1TlGc5WnGpILq7+GGvw9zfp43/gQfGwA=

5 接口列表

编号 API名称 路径 版本 适用范围
5.1 租户信息录入 /v1/iot/main/supper/rent/record/save 1.0 所有
5.1.1 租户信息校验 /v1/iot/main/supper/rent/record/check 1.0 所有
5.2 查询顶级业务组织已授权的应用树 /v1/iot/main/supper/orgmenu/rel/trees/{org_id} 1.0 所有
5.3 查询平台整棵应用树 /v1/iot/main/supper/orgmenu/trees/{org_id} 1.0 所有
5.4 租户详情加载 /v1/iot/main/supper/rent/record/load/{org_id} 1.0 所有
5.5 租户列表 /v1/iot/main/supper/rent/record/list 1.0 所有
5.6 保存租户超管 /v1/iot/main/supper/rent/record/admin/save 1.0 所有
5.7 重置租户超管密码 /v1/iot/main/supper/admin/reset/pwd 1.0 所有
5.8 设置租户启/禁用状态 /v1/iot/main/supper/rent/record/enable 1.0 所有
5.9 图像上传 /v1/iot/file/multipart/upload 1.0 所有
5.10 租户状态(feign-内部调用) /v1/iot/main/inner/org/status 1.0 所有

5.1 租户信息录入

请求信息

HTTP协议:HTTP,HTTPS

/v1/iot/main/supper/rent/record/save

HTTP头: Authorization 和 tokenInfo

方法:POST

请求参数:

名称 类型 必填 描述
id Long 业务组织表的主键ID,即org_id。为空代表新增,不为空代表修改。
company_name string 公司名称
company_logo string 公司logo
company_province string 省。来源于业务组织扩展表
company_city string 市。来源于业务组织扩展表
company_district string 区 。来源于业务组织扩展表
company_adcode String 区级地区编码 。来源于业务组织扩展表
company_detail String 详细地址 。来源于业务组织扩展表
address string 公司地址
contact string 联系人
mobile string 联系人电话
org_name String 业务组织名称, 64个长度。
menu_ids Array 授权应用菜单集合
effective_time String yyyy-mm-dd: yyyy-mm-dd ,如:2022-09-01:2024-09-01
project_quantity int 项目数量
company_brief String 公司简介

返回

{
    "code": "200",
    "data": {
        "create_by": null,
        "update_by": null,
        "create_by_id": null,
        "update_by_id": null,
        "create_time": 1665284898669,
        "update_time": 1665284898669,
        "id": 3272350,
        "org_code": "100000432",
        "org_name": "测试boss业务组织",
        "parent_code": null,
        "parentid": null,
        "full_org_name": null,
        "org_type": 2,
        "sub_type": null,
        "org_id": null,
        "src": null,
        "parent_org_id": null,
        "logic_deleted": 1,
        "tenant_id": null,
        "defaul_experience": null,
        "parent_name": null,
        "children": null,
        "list": null,
        "pageNo": null,
        "pageSize": null,
        "status": null,
        "selected": false,
        "space_id": null,
        "hasPropertyRelations": false,
        "orderby": null,
        "is_super": null,
        "beRelByThisApp": false,
        "beRelByOtherApp": false,
        "cannotBeUnbind": false,
        "community_id": null,
        "community_name": null,
        "community_code": null,
        "authOrgId": null,
        "communityStatus": null,
        "bizOrgId": null,
        "rel_business_org_ids": null,
        "company_name": "测试boss业务组织",
        "company_log": "1.jpg",
        "orgName": "测试boss业务组织",
        "company_adcode": "3333",
        "address": "11231",
        "contact": "abc",
        "mobile": "13112345678",
        "menu_ids": [
            303576,
            303587
        ],
        "effective_time": "2023-01-01",
        "project_quantity": null,
        "company_brief": "abcd",
        "adminName": null,
        "admin": null,
        "_only_sub": false
    },
    "message": "success"
}

5.1.1 租户信息校验

请求信息

HTTP协议:HTTP,HTTPS

/v1/iot/main/supper/rent/record/check

HTTP头: Authorization 和 tokenInfo

方法:POST

请求参数:

名称 类型 必填 描述
id Long 租户id
org_name string 租户名称
company_name string 公司名称
job_number string 超管账号

返回

{
    "code": "200",
    "message": "success",
}

5.2 查询顶级业务组织已授权的应用树

请求信息

HTTP协议:HTTP,HTTPS

/v1/iot/main/supper/orgmenu/rel/trees/{org_id}

HTTP头: Authorization 和 tokenInfo

方法:POST

路径参数:

名称 类型 必填 描述
org_id Int 顶级业务组织ID

BODY:空

5.3 查询平台整棵应用树

请求信息

HTTP协议:HTTP,HTTPS

/v1/iot/main/supper/orgmenu/trees/{org_id}

HTTP头: Authorization 和 tokenInfo

方法:POST

路径参数:

名称 类型 必填 描述
org_id Int 顶级业务组织ID

BODY:空

5.4 租户详情加载

请求信息

HTTP协议:HTTP,HTTPS

/v1/iot/main/supper/rent/record/load/{org_id}

HTTP头: Authorization 和 tokenInfo

方法: POST

路径参数:

id: 即org_id

返回属性:

名称 类型 必填 描述
id Long 业务组织表的主键ID,即org_id。为空代表新增,不为空代表修改。
company_name string 公司名称
company_logo string 公司logo
company_province string 省。来源于业务组织扩展表
company_city string 市。来源于业务组织扩展表
company_district string 区 。来源于业务组织扩展表
company_adcode String 区级地区编码 。来源于业务组织扩展表
company_detail String 详细地址 。来源于业务组织扩展表
address string 公司地址
contact string 联系人
mobile string 联系人电话
org_name String 业务组织名称, 64个长度。
menu_ids Array 授权应用菜单集合
effective_time String yyyy-mm-dd: yyyy-mm-dd ,如:2022-09-01:2024-09-01
project_quantity int 项目数量
company_brief String 公司简介
admin Object 租户超管

5.5 租户列表

请求信息

HTTP协议:HTTP,HTTPS

/v1/iot/main/supper/rent/record/list

HTTP头: Authorization 和 tokenInfo

方法:POST

参数:

名称 层级 类型 必填 描述
pageNo 顶级 Long N 页码;默认 1;
pageSize 顶级 String N 每页记录条数;默认 20 条;最大100 ;
enable 顶级 String N 是否启用
from 顶级 String N 起始时间
to 顶级 String N 结束时间
keyword 顶级 String N 支持手机号/姓名左模糊查询

返回属性:

名称 类型 必填 描述
id Long 业务组织表的主键ID,即org_id。为空代表新增,不为空代表修改。
company_name string 公司名称
company_logo string 公司logo
company_province string 省。来源于业务组织扩展表
company_city string 市。来源于业务组织扩展表
company_district string 区 。来源于业务组织扩展表
company_adcode String 区级地区编码 。来源于业务组织扩展表
company_detail String 详细地址 。来源于业务组织扩展表
address string 公司地址
contact string 联系人
mobile string 联系人电话
org_name String 业务组织名称, 64个长度。
menu_ids Array 授权应用菜单集合
effective_time String yyyy-mm-dd: yyyy-mm-dd ,如:2022-09-01:2024-09-01
project_quantity int 项目数量
company_brief String 公司简介
admin Object 租户超管

返回:

{
    "result": {
        "result": [
            {
                "create_by": null,
                "update_by": null,
                "create_by_id": null,
                "update_by_id": null,
                "create_time": 1665285328000,
                "update_time": 1665285328000,
                "id": 3272354,
                "org_code": "100000432",
                "org_name": "测试boss业务组织",
                "parent_code": null,
                "parentid": null,
                "full_org_name": null,
                "org_type": 2,
                "sub_type": null,
                "org_id": null,
                "src": null,
                "parent_org_id": null,
                "logic_deleted": 1,
                "tenant_id": null,
                "defaul_experience": null,
                "parent_name": null,
                "children": null,
                "list": null,
                "pageNo": null,
                "pageSize": null,
                "status": null,
                "selected": false,
                "space_id": null,
                "hasPropertyRelations": false,
                "orderby": null,
                "is_super": null,
                "beRelByThisApp": false,
                "beRelByOtherApp": false,
                "cannotBeUnbind": false,
                "community_id": null,
                "community_name": null,
                "community_code": null,
                "authOrgId": null,
                "communityStatus": null,
                "bizOrgId": null,
                "rel_business_org_ids": null,
                "company_name": null,
                "company_log": "1.jpg",
                "orgName": null,
                "company_adcode": null,
                "address": null,
                "contact": null,
                "mobile": null,
                "menu_ids": null,
                "effective_time": null,
                "project_quantity": null,
                "company_brief": null,
                "adminName": null,
                "admin": null,
                "_only_sub": false
            }
        ],
        "pageNo": 1,
        "pageSize": 20,
        "total": 1,
        "totalPage": 1
    },
    "code": "200",
    "message": "success"
}

5.6 保存租户超管

请求信息

HTTP协议:HTTP,HTTPS

/v1/iot/main/supper/rent/record/admin/save

HTTP头: Authorization 和 tokenInfo

方法:POST

请求参数:

名称 类型 必填 描述
org_id Long 业务组织表的主键ID,即org_id。
id Long 超管主键ID。为空代表新增,不为空代表修改。
job_number string 超管账号
name string 姓名
mobile string 手机号
email String 邮箱
nickname String 昵称
ico String 头像

返回

{
    "code": "200",
    "data": {
        "create_by": null,
        "update_by": null,
        "create_by_id": null,
        "update_by_id": null,
        "create_time": 1665296229078,
        "update_time": 1665296229078,
        "id": 3272491,
        "user_id": null,
        "org_id": 3272354,
        "org_name": null,
        "mobile": "13450834336",
        "org_code": "100000432",
        "src": null,
        "nickname": "super_admin",
        "per_signature": null,
        "ico": "https://iot-xlink-xfile.oss-cn-hangzhou.aliyuncs.com/customer/2022-09-29/28793581664434900027.jpg",
        "job_number": "super_admin",
        "pwd": "$2a$10$ki3F8kizkdbFyh4/jFfmLOB5/utYueC382YrAL/A/mJ.GuqZQeN9e",
        "name": "super_admin",
        "sex": null,
        "email": "super_admin@qq.com",
        "identity": null,
        "type": null,
        "status": null,
        "last_login_time": null,
        "pwd_modify_time": null,
        "lock_time": null,
        "login_fail_times": null,
        "birthday": null,
        "last_login": null,
        "staff_no": null,
        "position": null,
        "is_supper": 3,
        "face_ico": null,
        "is_effective": null,
        "delivery_address": null,
        "position_level": 0,
        "random_bg": 0,
        "roleNames": null,
        "groupNames": null,
        "ids": null,
        "userIds": null,
        "relationId": null,
        "relationIds": null,
        "groupId": null,
        "adminOrgCodes": null,
        "adminIds": null,
        "pageNo": null,
        "pageSize": null,
        "client_id": null,
        "client_secret": null,
        "orgName": null,
        "fullOrgName": null,
        "org_type": null,
        "rel_org_id": null,
        "authOrgId": null,
        "communityId": null,
        "oldFlag": null,
        "communitys": null,
        "grant_type": null,
        "refresh_token": null,
        "full_org_name": null,
        "searchCondition": null,
        "topOrgCode": null,
        "topOrgId": null,
        "msgId": null,
        "beginDate": null,
        "endDate": null,
        "keyword": null,
        "businessCode": null,
        "roleCode": null,
        "roleIds": null,
        "businessOrgIds": null,
        "upperOrgAdmin": false
    },
    "message": "success"
}

5.7 重置租户超管密码

请求信息

HTTP协议:HTTP,HTTPS

/v1/iot/main/supper/admin/reset/pwd

HTTP头: Authorization 和 tokenInfo

方法:POST

请求参数:

名称 类型 必填 描述
id Long 超管主键ID。
pwd String 密码, 须遵循 《5.2 密码明文加密》完成明文的加密;且密码须遵循《5.2.3 密码规范

返回

{
    "code": "200",
    "message": "success",
}

5.8 设置租户启/禁用状态

请求信息

HTTP协议:HTTP,HTTPS

/v1/iot/main/supper/rent/record/enable

HTTP头: Authorization 和 tokenInfo

方法:POST

请求参数:

名称 类型 必填 描述
id Long 租户ID
enable Integer 0:禁用,1:启用

返回

{
    "code": "200",
    "message": "success",
}

5.9 图像上传

HTTP协议:HTTP, HTTPS

HTTP头: remacToken

具体协议见: http://arch.smartmideazy.com/docs/components/file-component.html#12

​ /v1/iot/file/multipart/upload

​ /v1/iot/file/base64/upload

其中businessId 为员工ID

businessType固定为 community

需要遵循 《2.3 Http 请求头部约定

返回示例:

{
    "code": 200,
    "data": {
        "filePath": "https://iot-xlink-xfile.oss-cn-hangzhou.aliyuncs.com/community/2020-12-23/134354560.png",
        "id":"主键",
         "fileName":"文件名",
         "businessId":"文件所关联的业务id",
         "businessType":"文件所关联的业务类型",
         "fileExt":"文件扩展名",
         "contentType":"文件类型",
         "remotePath":"文件远程地址",
         "fileUri":"文件路径",
    },
    "message": "success"
}

curl -v  POST  -H "remacToken:eyJhbGciOiJSUzI1NiJ9.eyJzdWIiOiJwbGF0Zm9ybV90aWNrZXQiLCJqdGkiOiIxYWZhY2EyMy05MWQzLTQ1ZmMtYmJkMS01Y2RiYzc0MGVkNTYiLCJ1c2VyX25hbWUiOiJiZXR0eSIsInJvbGVzIjpbIlNZU19BRE1JTiJdLCJuYW1lIjoiYmV0dHkiLCJpZCI6Ijg3MzA1IiwiY2xpZW50X2lkIjoiaDUtY2xpZW50IiwiaXNzIjoicmVtYWMiLCJpYXQiOjE2NjU0NjcyOTcsImV4cCI6MTY2NTQ3NDQ5N30.t8Vi9hPEzLkwElkkeAPLBk58liFtRhTEq4vJgA-Q7tmCCZMYvrFQxyB2ktJIqYvgtxG9v-y9e0CE_asd5uA47YSGdcMd3ueShvfzdUGHmePkdk3T62zttbkeDi2LCkv3HHGCsDrlwJBPkS9oxhYLRy20OLs2I6ynwSDg1r76tXg" 'https://open-sit.remacsmart.com/v1/iot/file/multipart/upload' -F "file=@main.jpg" -F "fileName=main.jpg" -F  "businessId=1130" -F "businessType=community"

5.10 租户状态(feign 内部调用)

请求信息

HTTP协议:HTTP,HTTPS

/v1/iot/main/inner/org/status

HTTP头: Authorization 和 tokenInfo

方法:POST

请求参数:

名称 类型 必填 描述
id Long 租户ID

返回

名称 类型 描述
effective_time String 有效时间
expired boolean 是否过期, true:已过期,false:未过期
enable int 是否启用, 1:已启用, 0:已禁用

返回示例

{
    "effective_time": "2021-10-27",
    "expired": true,
    "enable": "1"
}

5.11 家庭帐号开启/关闭分享

参考资料

BOSS 系统设计:

https://confluence.mideazy.com/pages/viewpage.action?pageId=378470471

统一登录接口文档 :

http://arch.smartmideazy.com/docs/account/account-doc.html

主数据API

http://arch.smartmideazy.com/apidoc/main-entry/API.html

SHA256 + salt

https://www.javaguides.net/2020/02/java-sha-256-hash-with-salt-example.html

Golang:

https://go.dev/

Copyright © www.remacsmart.com/ 2021 all right reserved,powered by Gitbook该文件修订时间: 2024-01-04 10:38:46

results matching ""

    No results matching ""