Path: /roles/:roleid
Method: PUT
接口描述:
200
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/json | 是 | ||
| 路径参数 | ||||
| 参数名称 | 示例 | 备注 | ||
| ------------ | ------------ | ------------ | ------------ | ------------ |
| roleid | ||||
| Body |
{
"role_id": 1,
"name": "系统所有者",
"description": "系统所有者,不能删除,不能修改",
"is_valid": 1,
"is_lock": 0
}
{
"role_id": 1,
"name": "系统所有者",
"description": "系统所有者,不能删除,不能修改",
"is_valid": 1,
"is_lock": 0
}
Path: /roles/:roleid/acl
Method: PUT
接口描述:
function提交的key => 由获取功能列表的module_id 和function_id组合
test::deleteRecord = module_id::function_id
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/json | 是 | ||
| 路径参数 | ||||
| 参数名称 | 示例 | 备注 | ||
| ------------ | ------------ | ------------ | ------------ | ------------ |
| roleid | ||||
| Body |
{
"function": {
"test::deleteRecord": {
"target_id": "test::deleteRecord",
"allow": true
},
"test::doSomething": {
"target_id": "test::doSomething",
"allow": true
}
}
}
Path: /roles/:roleid
Method: DELETE
接口描述:
204
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/x-www-form-urlencoded | 是 | ||
| 路径参数 | ||||
| 参数名称 | 示例 | 备注 | ||
| ------------ | ------------ | ------------ | ------------ | ------------ |
| roleid | 1 |
Path: /roles/:roleid/acl
Method: PATCH
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/x-www-form-urlencoded | 是 | ||
| 路径参数 | ||||
| 参数名称 | 示例 | 备注 | ||
| ------------ | ------------ | ------------ | ------------ | ------------ |
| roleid |
Path: /roles
Method: POST
接口描述:
201
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/json | 是 | ||
| Body |
{
"name": "系统所有者",
"description": "系统所有者,不能删除,不能修改",
"is_valid": 1,
"is_lock": 0
}
{
"role_id": 1,
"name": "系统所有者",
"description": "系统所有者,不能删除,不能修改",
"is_valid": 1,
"is_lock": 0
}
Path: /modules
Method: GET
接口描述:
[
{
"module": {
"module_id": "test",
"name": "测试模块"
},
"functions": [
{
"function_id": "deleteRecord",
"name": "删除记录",
"module_id": "test",
"privacy": 2
},
{
"function_id": "doSomething",
"name": "测试模块",
"module_id": "test",
"privacy": 2
}
]
}
]
Path: /roles/:roleid
Method: GET
接口描述:
路径参数
| 参数名称 | 示例 | 备注 |
| ------------ | ------------ | ------------ | ------------ | ------------ |
| roleid | | |
{
"role_id": 1,
"name": "系统所有者",
"description": "系统所有者,不能删除,不能修改",
"is_valid": true,
"is_lock": true
}
Path: /roles/:roleid/acl
Method: GET
接口描述:
200
路径参数
| 参数名称 | 示例 | 备注 |
| ------------ | ------------ | ------------ | ------------ | ------------ |
| roleid | 1 | |
{
"function": {
"test::deleteRecord": {
"target_id": "test::deleteRecord",
"allow": true
},
"test::doSomething": {
"target_id": "test::doSomething",
"allow": true
}
}
}
Path: /role-groups/:groupid/acl
Method: GET
接口描述:
路径参数
| 参数名称 | 示例 | 备注 |
| ------------ | ------------ | ------------ | ------------ | ------------ |
| groupid | | |
{
"function": {
"dashboard::dashboard": {
"target_id": "dashboard::dashboard",
"allow": true
}
}
}
Path: /role-groups/:groupid/acl
Method: PUT
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/json | 是 | ||
| Authorization | 是 | Bearer xx | ||
| 路径参数 | ||||
| 参数名称 | 示例 | 备注 | ||
| ------------ | ------------ | ------------ | ------------ | ------------ |
| groupid | ||||
| Body |
{
"function": {
"dashboard::dashboard": {
"target_id": "dashboard::dashboard",
"allow": true
}
}
}
Path: /base-config
Method: GET
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Authorization | 是 |
{
"avatar_style": "S1",
// 如果remote.info.avater是空的话才需要用这个
// 个人头像设置,如果没有设置,avatar_style和下面的avater_arr都不返回,如何取值 =》 计算len(avater_arr) = count,然后用 remoteid % count = i,
// 如何拉取头像 https://upload.oray.com/slavatar.php?avatar=avater_arr[i]
"avatar_arr": [
"UzAvMDAwLnBuZw==",
"UzAvMDQ4LnBuZw==",
"UzAvMDQ5LnBuZw==",
"UzAvMDUwLnBuZw=="
]
}
Path: /
Method: GET
接口描述:
若http statuscode 5xx的响应或网络问题,不能保证返回信息的内容与格式,消费端必须做适当的容错处理
| error | code(16进制错误码) | 说明 |
|---|---|---|
| parameter/invalid_request_body | 无效的请求数据,一般是期望的body为JSON(或指定格式),而实际请求不能满足 | |
| parameter/missing_required_parameter | 缺少必要参数,哪个参数见message,这种消息必须有调用者消费掉,不能抛到用户层面(即如果参数有用户输入,提示和过滤由客户端实现) | |
| authorize/invalid_access_token | 需要授权的接口返回,accesstoken无效(token过期,用户验证信息变更……) | |
| remote/not_exists | 0x8fa6002 | 主机不存在 |
| remote/exceeded_service_limit | 0x8fa6008 | 主机数超过当前服务限制 |
| remote/remote_create_fail | 主机创建失败 | |
| remote/remote_update_fail | 主机信息更新失败 | |
| remote/remote_delete_fail | 主机删除失败 | |
| remote/get_state_error | 获取主机状态失败 | |
| remote/share_invalid_parameter | 共享参数有误 | |
| remote/share_remote_self_error | 不允许共享给自己 | |
| remote/share_remote_module_empty | 共享模块为空 | |
| config/config_save_fail | 配置保存失败 | |
| rclogin/no_actived_server | 登录失败,未有可用的登录服务器 | |
| rclogin/serverconfig_not_exists | 登录失败,指定的登录服务器配置不存在 | |
| rclogin/license_verify_failed | 主机授权验证失败(授权/密码错误) | |
| rclogin/fastcode_verify_failed | 快码验证失败(密码错误) | |
| user/not_exists | 用户不存在 | |
| user/password_not_matched | 密码不正确 | |
| user/serialzie_error | 序列化错误 | |
| user/repo_commit_error | 提交错误 | |
| user/account_already_exists | 帐号已存在 | |
| user/disabled_login | 已禁止登录 | |
user/account_invalid_format | 账号只允许英文、数字、_、- 字符 | |
| user/account_length_mismatch | 账号长度不符合;6-16 位字符 | |
| user/email_invalid_format | 邮箱格式不正确 | |
| user/mobile_invalid_format | 电话号码格式不正确 | |
| user/nick_length_mismatch | 昵称太长 | |
| user/mfa_limit_mac_white | 多因子验证限制-mac不在白名单 | |
| user/mfa_limit_mac_black | 多因子验证限制-mac在黑名单 | |
| user/mfa_limit_ip_white | 多因子验证限制-ip不在白名单 | |
| user/mfa_limit_ip_black | 多因子验证限制-ip在黑名单 | |
| user/mfa_limit_time_allow | 多因子验证限制-不在允许登录时间段内 | |
| user/mfa_limit_time_not_allow | 多因子验证限制-在不允许登录时间段内 | |
| user/mfa_limit_user | 多因子验证限制当前用户登录 | |
| user/user_high_risk | 高风险用户, 限制登录 | |
| user/disabled_login | 0x8fc8005 | 企业+帐号禁止登录 |
| user/user_login_expired | 0x8fc8006 | 企业+账号过期 |
| user/user_pass_has_lock | 0x8fc8007 | 企业+帐号已经被锁定 |
| security/pwd_len_error | 密码长度不够 | |
| security/pwd_upper_error | 密码需要大写 | |
| security/pwd_lower_error | 密码需要小写 | |
| security/pwd_number_error | 密码需要数字 | |
| security/pwd_special_error | 密码需要特殊符号 | |
| user/user_pass_has_lock | 帐号已被锁定 | |
| user/user_pass_pwd_notchange | 修改密码不允许与原密码一致 | |
| security/mac_format_wrong | mac地址格式不对 | |
| security/mac_repet | mac地址重复 | |
| security/ip_format_wrong | ip地址格式不对 | |
| security/ip_repet | ip地址重复 | |
| group/disabled_delete_admin | 不允许删除超级管理员分组 | |
| group/disabled_delete_has_user | 不允许删除有帐号的分组 | |
| group/disabled_delete_has_child | 不允许删除有子分组的分组 | |
| permission/permission_not_reached | 此操作没有权限 | |
| permission/permission_not_auth | 授权不存在 | |
| permission/permission_null | 权限为空 | |
| console/not_found_config | 没有发现主机客户端配置 | |
| tag/name_too_long | 分组名字太长 | |
| deploy/package_upgrade_null | 部署包不可升级 | |
| deploy/pname_not_true | 安装包名称必须为英文或数字组合 | |
| deploy/lock_pwd_not_true | 锁定密码必须英文或数字组合 | |
| deploy/login_pwd_not_true | 访问密码必须英文或数字组合 | |
| deploy/package_num_exceed_max | 安装包超过数量限制 | |
| deploy/package_not_grant | 0x8fb6006 | 定制包未授权给当前帐号 |
| customize/image_parse_fail | 图片logo解析有误 | |
| customize/options_parse_fail | 选项解析错误 | |
| customize/data_serialize_error | 数据序列化错误 | |
| customize/data_unserialize_error | 数据反序列化错误 | |
| customize/client_wrong_error | client字段传输有误 | |
| customize/client_version_wrong_error | 当前定制包版本有误(此为api系统性错误。) | |
| customize/customize_upgrade_null | 定制包不需要升级 | |
| customize/appname_length_mismatch | 软件名称(中文)最多输入16个字 | |
| customize/appname_not_true | 软件名称(中文)软件名称为中文、英文或数字组合 | |
| customize/enname_length_mismatch | 软件名称(英文)最多输入16个字 | |
| customize/enname_not_true | 软件名称(英文)名称为英文或数字组合 | |
| customize/packagename_length_mismatch | 安装包名称最多输入16个字 | |
| customize/pname_not_true | 安装包名称必须为英文或数字组合 | |
| customize/package_num_exceed_max | 定制包超过数量 | |
| customize/lack_slrc_android_item | 定制服务缺少安卓配件 | |
| customize/lack_slrc_windows_item | 定制服务缺少Windows客户端配件 | |
| customize/osname_not_true | linux系统不正确 | |
| customize/appname_repeat | 安装包名称已存在,请重新命名 | |
| customize/enname_repeat | 安装包名称已存在,请重新命名 | |
| verification/email_invalid_format | 0x8fc0004 | 邮箱格式不正确 |
| verification/mobile_invalid_format | 0x8fc0005 | 电话号码格式不正确 |
| verification/send_code_out_of_limit | 0x8fc0008 | 发送次数超过限制 |
| verification/check_code_invalid | 0x8fc0007 | 验证码无效的 |
| verification/check_code_fail | 0x8fc0001 | 验证码校验失败 |
| verification/check_code_empty | 0x8fc0006 | 服务器验证码不存在 |
| verification/verification_config_error | 0x8fc0002 | 验证码项目配置不对 |
| verification/verification_params_error | 0x8fc0003 | 参数不正确 |
| verification/email_channel_closed | 0x8fc0013 | 邮件通道已关闭 |
| verification/mobile_channel_closed | 0x8fc000a | 短信通道已关闭 |
| verification/sms_not_enough | 0x8fc000b | 短信包条数不够(先预留) |
| verification/check_code_expired | 0x8fc0014 | 验证码已过期 |
| security/pwd_len_error | 密码长度格式不正确 | |
| security/pwd_retry_count_error | 密码尝试次数不正确 | |
| system/data_serialize_error | 序列化出错 | |
| system/data_unserialize_error | 反序列化出错 | |
| system/smsconfig_params_error | 短信配置格式不正确 | |
| system/mailconfig_params_error | 邮件配置格式不正确 | |
| system/system_params_error | 系统配置格式不正常 | |
| system/sms_template_params_error | 短信模板格式不正常 | |
| feedback/param_content_invalid | 反馈内容格式不符合 | |
| feedback/param_email_invalid | 邮箱格式不符合 | |
| feedback/param_mobile_invalid | 手机格式不符合 | |
| seats/deps_seatsvc_rpc_error | sl-api.oray.com获取坐席服务错误 | |
| seats/seatsvc_exist | 无坐席服务 | |
| seats/seatsvc_expired | 坐席服务过期 | |
| seats/mobile_bound | 手机已绑定其他坐席 | |
| seats/mobile_format | 手机格式错误 | |
| seats/mac_format | Mac地址格式错误 | |
| seats/mac_settings | Mac地址已被设置 | |
| seats/seat_quantity | 可创建坐席ID数已超限制 | |
| seats/logout_seat | 坐席下线失败 | |
| seats/seat_name | 坐席名称有误 | |
| authentication/need_authentication_twice | 需要身份验证(发送验证码的验证) | |
| usersvc/service_not_exists | 服务不存在 | |
| authent/user_not_exists | 0x8fc8001 | 用户不存在 |
| authent/user_not_found_mobile | 0x8fc8002 | 用户电话号码不存在 |
| authent/user_not_found_email | 0x8fc8003 | 用户邮箱不存在 |
| user_not_found_contact | 0x8fc8009 | 用户联系方式不存在 (新设备的错误码) |
| lt/cache_not_found | 0x8fc6001 | token存储信息为空 (输入帐号密码30分钟后,不进行新设备验证会返回此错误,要重新输入帐号密码) (新设备的错误码) |
| lt/not_found_protect | 0x8fc6002 | 登录保护设置错误 |
| lt/not_found_clientid | 0x8fc6003 | 缺失唯一标识 |
| lt/user_agent_error | 0x8fc6004 | UserAgentError |
| lt/new_device_alert | 0x8fc6005 | 提醒需要新设备登录提醒 (新设备的错误码) |
| lt/remove_terminal_fail | 移除设备失败 | |
| lt/authorize_code_invalid | 0x8fc6009 | 验证的code失效 (已验证过,或者就是失效的) |
| broadcasting/deps_rpc_tag | 链接tag服务错误 | |
| broadcasting/deps_rpc_remote | 链接remote服务错误 | |
| broadcasting/tag_not_exist | tag不存在 | |
| broadcasting/remote_not_exits | remote不存在 | |
| broadcasting/link_format_invalid | 链接地址格式错误 | |
| broadcasting/timed_sending_invalid | 定时发送时间无效 | |
| broadcasting/timed_sending_earlier | 定时发送时间早于当前时间 | |
| boradcasting/timed_sending_later | 定时发送时间晚于有效时间 | |
| broadcasting/message_remote_not_exist | 消息群发主机不存在 | |
| msg/sms_count_not_enough | 短信数不够 | |
| it/same_status | 状态相同不修改 | |
| parameter/error_required_parameter | 参数有误 | |
| notice/config_not_qualified | 不符合新增条件 | |
| notice/receiver_not_exists | 消息 接收人不存在 | |
| notice/config_not_exists | 配置不存在 | |
| notice/remote_not_exists | 主机不存在 | |
| notice/entuser_not_exists | 企业用户不存在 | |
| notice/deps_rpc_remote | rpc remote服务失败 | |
| notice/default_config_remove | 默认配置无法删除 | |
| notice/deps_rpc_enterprise | rcp enterprise服务失败 | |
| license/invalid | 授权证书无法解析 | |
| license/forbidden | 授权证书不合法 | |
| license/expired | 授权证书已过期 | |
| license/over_limit | 配置数量超过限制 | |
| license/func_unavailable | 配置功能不可用 | |
| license/version_not_supported | 软件定制版本不支持 |
// 业务错误统一返回格式:
{
"error": "module/some_error",
"message": "error messasges"
}
Path: /authorize/refreshing
Method: POST
接口描述:
刷新API访问的授权
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/json | 是 | ||
| Authorization | Bearer xxxxxx | 是 | 登录或刷新返回的AccessToken | |
| Body |
{
// 刷新token,最后一次登录或刷新操作返回
"refresh_token": "Xn8fEV6mrBEAAAAGMDAwMDAwRS9PcmdWUW1PNFBPUVo5dHM4MmJjUT09"
}
{
"access_token": "eyJhbGciOiJSUzUxMiIsImtleWlkIjoiYzc3ZDcxMTdhM2ZiZmVmYjYzNTQ3ZjUzOTcxOTdkYTEiLCJ0eXAiOiJKV1QifQ.eyJleHAiOjE1ODU3MzM5NjUsImlzYSI6MTU4NTczMDM2NSwiaXNzIjoiYjM1My1hMWFjLWVjZTktZjJkNSIsInJvbGUiOjIsInVpZCI6OTk3OCwib3JpIjoiNmE1YWI3Mzk5YTA1NjViZjdiMDE1NzQ2OWQ4YTFkMTEiLCJzZXIiOiJhcGkuc3VubG9naW4ub3JheS5jb20iLCJucyI6InN1biIsImFpZCI6MjYxNzM2MzQwfQ.bZ8Cy0NoiEuLKyU0FMfvkZdw5-zVHqjdpi4i8Nx0x9mzxjhnftIx_Jn82LvHEjC1GbbKvEOY0o_L67VRSOvAKK5TC1daciwbRf1S5mWKUW-uReh6lwWe_DHklTLY9yacidrxJpbfcYzz-g0MGy-2UXMf2kMX5Czta1RNETC3Qys",
"refresh_token": "XoRTPV6r4D0AAAAUUXpadGZUTEtnSjFBQVJ6cEpnV0ZYQ1l5anNycG1Vcnhxb2hMUWtWcXR3PT0=",
"refresh_ttl": 2592000
}
Path: /rclogin
Method: POST
接口描述:
替换原有 touch-refresh接口,但只处理登录业务,服务信息获取等见用户服务部分另外获取
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/json | 是 | ||
| Body |
// fastcode和license至少必须有一个
{
"fastcode": {
"fastcode": "392607122", // 首次登录留空即可
"mac": "94:c6:91:32:ce:a5",
"password": "McHGjx02YATaBxNbvdaIGoDp394aMlny"
},
"license": {
"code": "b353-a1ac-ece9-f2d5",
"password": "McHGjx02YATaBxNbvdaIGoDp394aMlny"
}
}
{
"license": {
"code": "b353-a1ac-ece9-f2d5",
"password": "McHGjx02YATaBxNbvdaIGoDp394aMlny",
"level": 0,
"userid": 9978,
"remoteid": 261736340,
// 服务器信息
"server": {
"serverid": 1,
"host": "rc-01.aweray.com",
"port": 443,
"name": "",
"attr": {
"level": 0,
"client": 0,
"version": "10.0.0"
}
}
},
"fastcode": {
"fastcode": "392607122",
"password": "asdfasdf",
"mac": "94:c6:91:32:ce:a5",
// 登录服务器信息
"server": {
"serverid": 1,
"host": "rc-01.aweray.com",
"port": 443,
"name": "",
"attr": {
"level": 0,
"client": 0,
"version": "10.0.0"
}
}
},
// 与帐号体系token授权机制一样,后续所有主机操作(上传/下载配置等操作)都以access_token作为身份识别
"authorization": {
"access_token": "eyJhbGciOiJSUzUxMiIsImtleWlkIjoiYzc3ZDcxMTdhM2ZiZmVmYjYzNTQ3ZjUzOTcxOTdkYTEiLCJ0eXAiOiJKV1QifQ.eyJleHAiOjE1ODU3MzM5NjUsImlzYSI6MTU4NTczMDM2NSwiaXNzIjoiYjM1My1hMWFjLWVjZTktZjJkNSIsInJvbGUiOjIsInVpZCI6OTk3OCwib3JpIjoiNmE1YWI3Mzk5YTA1NjViZjdiMDE1NzQ2OWQ4YTFkMTEiLCJzZXIiOiJhcGkuc3VubG9naW4ub3JheS5jb20iLCJucyI6InN1biIsImFpZCI6MjYxNzM2MzQwfQ.bZ8Cy0NoiEuLKyU0FMfvkZdw5-zVHqjdpi4i8Nx0x9mzxjhnftIx_Jn82LvHEjC1GbbKvEOY0o_L67VRSOvAKK5TC1daciwbRf1S5mWKUW-uReh6lwWe_DHklTLY9yacidrxJpbfcYzz-g0MGy-2UXMf2kMX5Czta1RNETC3Qys",
"refresh_token": "XoRTPV6r4D0AAAAUUXpadGZUTEtnSjFBQVJ6cEpnV0ZYQ1l5anNycG1Vcnhxb2hMUWtWcXR3PT0=",
"refresh_ttl": 2592000
}
}
Path: /exchanges/:key
Method: GET
接口描述:
替换原来 prelogon,但仅处理授权换取业务,获取授权后到统一登录接口登录
路径参数
| 参数名称 | 示例 | 备注 |
| ------------ | ------------ | ------------ | ------------ | ------------ |
| key | | |
<a id=[私有化] web 远控 forward代理 express_login【验证授权】>
Path: /control/sdk/forward
Method: POST
接口描述:
web 控制端的 私有化 forward接口
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/json | 是 | ||
| Authorization | Token | 是 | ||
| Query |
| 参数名称 | 是否必须 | 示例 | 备注 |
|---|---|---|---|
| remoteid | 是 | 4336 | |
| Body |
{
"username":"", // 采用 用户密码登录(windows用户密码) 方式的时候,需要传
"password": "sss123456",
"p2paddr": "PHSRC_HTTPS://p2p.ka-sl2.oraybeta.com:39501;PHSRC://p2p.ka-sl2.oraybeta.com:43503", // 前端留空的话,后端会补上默认地址
"plugin":"desktop", // 远控操作类型。desktop、file、camera、cmd
"ver":"", // 控制端的版本号,如果有的话
"mac":"" // 控制端的mac地址信息。如果有的话。
}
{
"msg": "Logon ok :-)",
"success": true,
"data": {
"httpsaddress": "PHSRC_HTTPS://2211.p2p.ka-sl2.oraybeta.com:39501/",
"oraycode": "0",
"refresh_p2p_session": "ZIWe3ZbEbMTkUAg4YcoWVcRVVo3GCXkj",
"session": "phZFioDzctItAdBjmtEwSYWsu9EjVGE1",
"udpaddress": "PHSRC://2211.p2p.ka-sl2.oraybeta.com:43503/",
"sid": 1664267667534352000
}
}
<a id=[私有化] web 远控 login 接口【验证授权】>
Path: /control/login
Method: POST
接口描述:
提取cookie的接口。通过slsvr远程调用客户端的接口会用到。
走p2p的地址调用客户端接口不需要用到。
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/json | 是 | ||
| Authorization | token | 是 | ||
| Query |
| 参数名称 | 是否必须 | 示例 | 备注 |
|---|---|---|---|
| remoteid | 是 | 4336 | |
| Body |
{
"password": "sss123456",
"act": "login",
"ver": "3.2.1.45091",
"type": 0
}
{
"msg": "Logon ok :-)",
"success": true,
"data": {
"id1": "1",
"id2": "4336",
"SID": "8BAAANMDAAAAAAAAqHksxZ99KmBo6RGpY3HoAY/i6Wf+7ISB",
"PCName": "00%3A1C%3A42%3A6E%3AF7%3ADA",
"SERVER_ID": "65536",
"HttpsAddress": "PHREMT_HTTPS://4336-1s00000000.rc.ka-sl2.oraybeta.com/",
"CID": "rFvThLuKODRiPNDirAvwHKcHajXRCEFX",
"VER": "33568",
"auth": "{\"cookies\":{\"CID\":\"rFvThLuKODRiPNDirAvwHKcHajXRCEFX\",\"HttpsAddress\":\"PHREMT_HTTPS://4336-1s00000000.rc.ka-sl2.oraybeta.com/\",\"PCName\":\"00%3A1C%3A42%3A6E%3AF7%3ADA\",\"SERVER_ID\":\"65536\",\"SID\":\"8BAAANMDAAAAAAAAqHksxZ99KmBo6RGpY3HoAY/i6Wf+7ISB\",\"VER\":\"33568\",\"id1\":\"1\",\"id2\":\"4336\"},\"islogin\":\"true\",\"lastlogintime\":\"1664251352\",\"localip\":\"10.211.55.5\",\"password\":\"sss123456\",\"pcname\":\"DESKTOP%2DNT17IP1\",\"publicip\":\"10.244.2.0\",\"system\":\"Windows%2010%20Pro\",\"type\":0,\"username\":\"\",\"version\":\"3.3.0.50103\"}"
}
}
Path: /intel-amt/infos
Method: GET
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Authorization | 是 | Bearer xxx | ||
| Query |
| 参数名称 | 是否必须 | 示例 | 备注 |
|---|---|---|---|
| remoteids | 是 | 651469661,651469662,651469663,651469664,651469665 | 主机ID,","隔开 |
[
{
"remoteid": 651469661,// 主机ID
"amt_logon_status": 2,// 在线状态:1 在线 2 离线
"amt_power_status": 7,// 电源状态:1 工作 2-5 睡眠 6 关机 7 未知
},
{
"remoteid": 651469662,
"amt_logon_status": 1,
"amt_power_status": 1,
},
{
"remoteid": 651469663,
"amt_logon_status": 1,
"amt_power_status": 1,
}
]
Path: /intel-amt/info/:remoteid
Method: GET
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Authorization | Bearer Token | 是 | token | |
| 路径参数 | ||||
| 参数名称 | 示例 | 备注 | ||
| ------------ | ------------ | ------------ | ------------ | ------------ |
| remoteid | 651469661 | 主机ID |
{
"windows": "{\"memory\":[{\"BankLabel\":\"BANK 0\",\"Capacity\":17179869184,\"PartNumber\":\"99P5700-017.A00G\",\"SerialNumber\":\"3FAC9EFA\",\"Manufacturer\":\"Kingston\",\"Tag\":\"9876543210\",\"Type\":\"DDR4\",\"FormFactor\":\"SODIMM\"},{\"BankLabel\":\"BANK 0\",\"Capacity\":17179869184,\"PartNumber\":\"99P5700-017.A00G\",\"SerialNumber\":\"2BAC99E9\",\"Manufacturer\":\"Kingston\",\"Tag\":\"9876543210 (#1)\",\"Type\":\"DDR4\",\"FormFactor\":\"SODIMM\"}]}",
"identifiers": "{\"storage_devices\":[{\"Caption\":\"MEDIA DEV 0\",\"Size\":512110190000,\"Model\":\"INTEL SSDPEKNW512G8 \",\"SerialNumber\":\"PHNH1094027W512A \"}],\"bios_vendor\":\"Intel Corp.\",\"bios_version\":\"TNTGLV57.0056.2021.0513.1633\",\"bios_date\":\"2021-05-13T00:00:00Z\",\"board_name\":\"NUC11TNHc7\",\"board_vendor\":\"Intel Corporation\",\"board_version\":\"K87765-402\",\"board_serial\":\"BTTN115003QB\",\"board_tag\":\"CIM_Card\",\"cpu_name\":\"11th Gen Intel(R) Core(TM) i7-1185G7 @ 3.00GHz\"}",
"platform": "{\"Manufacturer\":\"Intel(R) Client Systems\",\"Model\":\"Intel(R) Client Systems\",\"SerialNumber\":\"WO169171L03S005\",\"Version\":\"M12007-403\",\"Tag\":\"CIM_Chassis\"}",
"cpus": "[{\"Manufacturer\":\"Intel(R) Corporation\",\"Version\":\"11th Gen Intel(R) Core(TM) i7-1185G7 @ 3.00GHz\",\"Family\":\"Intel® Core™ i7 processor\",\"SocketSpeed\":4800}]"
}
Path: /intel-amt/setup/:settype/:remoteid
Method: PUT
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/x-www-form-urlencoded | 是 | ||
| Authorization | Bearer Token | 是 | Bearer XXXX | |
| 路径参数 | ||||
| 参数名称 | 示例 | 备注 | ||
| ------------ | ------------ | ------------ | ------------ | ------------ |
| settype | wakeup | 相关操作(wakeup: 开机 poweroff: 关机 sleep: 睡眠 reset: 重启) | ||
| remoteid | 651469661 |
{
"authcode": "05140ae87e7fb0c9390f46491f57d363"
}
Path: /intel-amt/authcode/:remoteid
Method: GET
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Authorization | Bearer Token | 是 | Bearer XXXXX | |
| 路径参数 | ||||
| 参数名称 | 示例 | 备注 | ||
| ------------ | ------------ | ------------ | ------------ | ------------ |
| remoteid | 651469661 | 主机ID |
Path: /remotes/:remoteid/configs
Method: POST
接口描述:
成功返回200,body为成功保存的数据(一般就是提交的配置原文)
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Authorization | Bearer xxxx | 是 | 授权信息,必须为主机授权(主机登录接口返回的) | |
| Content-Type | text/xml;charset=utf-8 | 是 | 注意这个头,xml,编码utf-8 | |
| 路径参数 | ||||
| 参数名称 | 示例 | 备注 | ||
| ------------ | ------------ | ------------ | ------------ | ------------ |
| remoteid | ||||
| Body |
<config>
<desktop><CLSID>{3D7855BD-C91B-4B47-AC5C-1EDFBD30927B}</CLSID><Section>MODULES_LIST</Section><OperatingEnvironment>2</OperatingEnvironment><Enable>1</Enable><EnableDPMS>0</EnableDPMS><ManuConfirm>0</ManuConfirm><ConfirmTime>15</ConfirmTime><AutoAuth>1</AutoAuth><AutoLockWS>0</AutoLockWS><AutoLockDesktop>0</AutoLockDesktop><DefaultResponse>1</DefaultResponse><EnableMirrorDriver>1</EnableMirrorDriver><DisableDesktopEffects>1</DisableDesktopEffects><RemoteSwitchCtrl><Mode>1</Mode><!-- 远程桌面协议,1:向日葵,2:3389 --><DesktopControl><DesktopColor>2</DesktopColor><!-- 32, 24, 16, 8(位色) 8G, 4(灰度) Unknow --><EnableScreenWhiteBoard>0</EnableScreenWhiteBoard><!-- 屏幕白板 --><SyncClipboard>1</SyncClipboard><!-- 同步剪贴板 --></DesktopControl><!-- 3389 MSRDP 设置 --></RemoteSwitchCtrl></desktop>
<login>
<CLSID>{FC0F8A29-7482-418A-A05B-F08D10249B79}</CLSID>
<Anonymity>system</Anonymity>
<Timeout>10</Timeout>
<AutoClose>1</AutoClose>
<Homepage>/cgi-bin/login.cgi</Homepage>
</login>
<wakeup><deviceid>0</deviceid></wakeup>
<security><Enable>0</Enable><Switch>0</Switch><Autolock>0</Autolock></security>
<control><CLSID>{8AF2EA1E-99EC-4357-808B-5E19127DD453}</CLSID></control>
<cmd2><CLSID>{6F1FDCB3-394A-4BBB-B100-C9D5ADB49C72}</CLSID><Section>0</Section><FriendlyName>CMD</FriendlyName><Homepage>/html/cmd/index.html</Homepage></cmd2>
</config>
Path: /remotes/:remoteid/configs
Method: GET
接口描述:
获取主机配置,返回body为主机配置XML
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Authorization | Bearer xxxx | 是 | 验证信息,必须为主机授权(主机登录接口返回的) | |
| 路径参数 | ||||
| 参数名称 | 示例 | 备注 | ||
| ------------ | ------------ | ------------ | ------------ | ------------ |
| remoteid | ||||
| Query |
| 参数名称 | 是否必须 | 示例 | 备注 |
|---|---|---|---|
| modules | 否 | login,desktop,security | 指定获取配置的模块,都好分嘅 |
<config>
<desktop><CLSID>{3D7855BD-C91B-4B47-AC5C-1EDFBD30927B}</CLSID><Section>MODULES_LIST</Section><OperatingEnvironment>2</OperatingEnvironment><Enable>1</Enable><EnableDPMS>0</EnableDPMS><ManuConfirm>0</ManuConfirm><ConfirmTime>15</ConfirmTime><AutoAuth>1</AutoAuth><AutoLockWS>0</AutoLockWS><AutoLockDesktop>0</AutoLockDesktop><DefaultResponse>1</DefaultResponse><EnableMirrorDriver>1</EnableMirrorDriver><DisableDesktopEffects>1</DisableDesktopEffects><RemoteSwitchCtrl><Mode>1</Mode><!-- 远程桌面协议,1:向日葵,2:3389 --><DesktopControl><DesktopColor>2</DesktopColor><!-- 32, 24, 16, 8(位色) 8G, 4(灰度) Unknow --><EnableScreenWhiteBoard>0</EnableScreenWhiteBoard><!-- 屏幕白板 --><SyncClipboard>1</SyncClipboard><!-- 同步剪贴板 --></DesktopControl><!-- 3389 MSRDP 设置 --></RemoteSwitchCtrl></desktop>
<login>
<CLSID>{FC0F8A29-7482-418A-A05B-F08D10249B79}</CLSID>
<Anonymity>system</Anonymity>
<Timeout>10</Timeout>
<AutoClose>1</AutoClose>
<Homepage>/cgi-bin/login.cgi</Homepage>
</login>
<wakeup><deviceid>0</deviceid></wakeup>
<security><Enable>0</Enable><Switch>0</Switch><Autolock>0</Autolock></security>
<control><CLSID>{8AF2EA1E-99EC-4357-808B-5E19127DD453}</CLSID></control>
<cmd2><CLSID>{6F1FDCB3-394A-4BBB-B100-C9D5ADB49C72}</CLSID><Section>0</Section><FriendlyName>CMD</FriendlyName><Homepage>/html/cmd/index.html</Homepage></cmd2>
</config>
Path: /hostinfos
Method: GET
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Authorization | 是 | Bearer xxx | ||
| Query |
| 参数名称 | 是否必须 | 示例 | 备注 |
|---|---|---|---|
| remoteids | 是 | 261737735,261737737 |
{
"261737735": {
"envs": [
{
"id": "target",
"version": "34B3D33",
"name": "window"
},
{
"id": "os",
"version": "Microsoft Windows 10 专业版",
"name": "Microsoft Windows 10 专业版"
}
],
"plugins": [
{
"id": "desktop",
"version": "3.1.0.32320",
"name": "remote desktop"
},
{
"id": "newcamera",
"version": "3.1.0.32320",
"name": "摄像头"
},
{
"id": "microphonev1",
"version": "3.1.0.32320",
"name": "麦克风"
},
{
"id": "microphonev2",
"version": "3.1.0.32320",
"name": "麦克风"
},
{
"id": "file",
"version": "3.1.0.32320",
"name": "文件管理"
},
{
"id": "cmd2",
"version": "3.1.0.32320",
"name": "控制台"
},
{
"id": "screenshots",
"version": "3.1.0.32320",
"name": "屏幕截图"
},
{
"id": "soundv1",
"version": "3.1.0.32320",
"name": "新语音"
},
{
"id": "soundv2",
"version": "3.1.0.32320",
"name": "新语音"
},
{
"id": "sound_chat",
"version": "3.1.0.32320",
"name": "语音聊天"
}
]
},
"261737737": {
"envs": [
{
"id": "target",
"version": "B8NLJ33",
"name": "window"
},
{
"id": "os",
"version": "Microsoft Windows 10 Pro",
"name": "Microsoft Windows 10 Pro"
}
],
"plugins": [
{
"id": "desktop",
"version": "3.1.0.32320",
"name": "remote desktop"
},
{
"id": "newcamera",
"version": "3.1.0.32320",
"name": "摄像头"
},
{
"id": "microphonev1",
"version": "3.1.0.32320",
"name": "麦克风"
},
{
"id": "microphonev2",
"version": "3.1.0.32320",
"name": "麦克风"
},
{
"id": "file",
"version": "3.1.0.32320",
"name": "文件管理"
},
{
"id": "cmd2",
"version": "3.1.0.32320",
"name": "控制台"
},
{
"id": "screenshots",
"version": "3.1.0.32320",
"name": "屏幕截图"
},
{
"id": "soundv1",
"version": "3.1.0.32320",
"name": "新语音"
},
{
"id": "soundv2",
"version": "3.1.0.32320",
"name": "新语音"
},
{
"id": "sound_chat",
"version": "3.1.0.32320",
"name": "语音聊天"
}
]
}
}
Path: /remotes
Method: GET
接口描述:
Response Headers
Content-Range: row offset-limit/total
Query
| 参数名称 | 是否必须 | 示例 | 备注 |
|---|---|---|---|
| offset | 是 | 0 | 页数 * limit |
| limit | 是 | 50 | 每页数量 |
| remoteids | 否 | 1,2,3 | 主机id,用逗号隔开(当分组主机数0 传-1) |
| with_share | 否 | true | 主机已共享 true or false |
| sort | 否 | name,-createtime | 排序, name =》 asc; -name => desc |
| share_status | 否 | 1 | 共享状态 0所有 1 已共享 2未共享 3 接受 |
| online_status | 否 | 1 | 在线状态 0 所有 1 在线 2 离线 |
| tagids | 否 | 1,2 | 支持根据标签ID查询主机,用逗号隔开 |
| with_license | 是 | 是否支持获取葵码(输入此参数需要二次验证) | |
| version | 否 | v2 | 默认此值不需要传,不传直接返回数组,传v2的话返回remotes |
{
"remotes": [
{
"remote_id": 261736202,
"mac": "8c:16:45:a8:a2:c5",
"owner_id": 23635310,
"create_time": 1562926780,
"statuscode": 139, // statuscode
"is_share": false, // 自己的主机是否有共享出去过
"info": {
"remote_id": 261736202,
"name": "DESKTOP-AECQN6R",
"description" : "描述",
"avatar" : "头像",
"pc_name": "DESKTOP-AECQN6R",
"cpu": "Intel(R) Core(TM) i5-8250U CPU @ 1.60GHz",
"memory": "16046MB",
"os_name": "Microsoft Windows 10",
"os": "oraykvm", // 操作系统,取值[oraykvm|linux|windowx|android等],主要是用来区分控控
"base_board": "LENOVO 20L7A01BHH",
"disk_drive": "SAMSUNG MZVLB256HAHQ-000L7",
"video_controller": "Intel(R) UHD Graphics 620",
"network_adapter": "Hyper-V Virtual Ethernet Adapter #2",
"versioncode": "21786",
"version": "10.1.0.21786",
"configmodifiedtime": 1562927006,
"tag_ids": "112685,112686,112687" // 分组ID(就是以前的标签ID)
},
"state": { // 在线数据(不在线的主机可能直接state都没有)
"state": 1, // 0 -> 不在线,1 -> 在线
"addr": "https://261737735-1ef3se31ea8c0.rc03.oray.com:61443/cgi-bin/login.cgi", // remoteaddr
"version": "3.1.0.32320",
"fastcode": "897396292", // remotefastcode
"osname": {
"camera": 1,
"cmd": 1,
"desktop": 1,
"express": 1,
"file": 1,
"mac": "E4:54:E8:DC:80:48",
"platform": "window",
"sound": 1
},
"ip": "192.168.30.96",
"serverip": "192.168.30.227" // serverip
},
"user": {
"user_id": 23635310,
"host_modules": "",
"tag_ids": ""
},
"license": {
"user_id": 23635310,
"account": "",
"key": "",
"level": "",
"remote_id": "",
"service_id": "",
"password": "",
"is_bind": "",
"code": ""
}
}
],
"total" : 100 // 主机总数
}
Path: /remotegrants
Method: GET
接口描述:
Query
| 参数名称 | 是否必须 | 示例 | 备注 |
|---|---|---|---|
| user_id | 否 | 1 | 用户id(查询该用户下的授权主机&分组) |
| remote_id | 是 | 22 | 主机id (查询该主机授权的用户&部门) |
| tag_id | 否 | 1 | 分组id (查询该分组授权的用户&部门) |
| department_id | 否 | 1 | 部门id (查询该部门授权的主机&分组) |
[
{
"user_id": 63, // 用户id
"account": "xx", // 账号
"remote_id": 651469678, // 主机id
"ent_id": 1,
"name": "DESKTOP-PP2110K",// 主机名
"description": "ceshi" // 主机备注名
}
]
// 新版返回
// {
// // 帐号分组
// "users": [
// {"user_id": 123, "account": "帐号名", "nick": "昵称"}
// ],
// // 主机分组
// "tags": [
// 123
// ],
// // 主机分组
// "remotes": [
// 651470015
// ],
// // 部门分组
// "departments": [
// {"department_id": 123, "name": "测试部门"}
// ]
// }
Path: /remotegrants
Method: DELETE
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/json | 是 | ||
| Body |
// 针对帐号/主机的批量授权移除
{
"user_id": 123,
"remote_id": 1111111111
}
Path: /remotegrants/summary
Method: GET
接口描述:
Query
| 参数名称 | 是否必须 | 示例 | 备注 |
|---|---|---|---|
| remote_ids | 否 | 1,2 | 主机ids |
| user_ids | 否 | 3,4 | 用户ids |
| with_account | 否 | true | 是否返回帐号 |
| with_department | 否 | true | 是否返回部门 |
[
{
//总数
"count": 2,
// 用户id 或者 主机id
"id": 651469684,
// 授权帐号名
"accounts": ["test001"],
// 授权部门
"departments": ["测试部门"]
}
]
Path: /configs/:remoteid
Method: GET
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Authorization | 是 | Bearer xxx | ||
| 路径参数 | ||||
| 参数名称 | 示例 | 备注 | ||
| ------------ | ------------ | ------------ | ------------ | ------------ |
| remoteid | ||||
| Query |
| 参数名称 | 是否必须 | 示例 | 备注 |
|---|---|---|---|
| modules | 否 | common,security,kvm | 模块id,通过逗号隔开 |
[
{
"config_id": 107039725,
"user_id": 8,
"module_id": "common",
"config": "<?xml version=\"1.0\" encoding=\"UTF-8\"?><Config><common><autorun>0</autorun><buyshareurl>0</buyshareurl><closeremind>0</closeremind><enablevpn>0</enablevpn><enablewakeup>0</enablewakeup><host_id_freq /><logpath /><notify>1</notify><openshareurl>0</openshareurl><projection>1</projection><serviceonly>0</serviceonly><shareurl /><updatemode>1</updatemode></common></Config>"
}
]
Path: /remotegrants
Method: POST
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/json | 是 | ||
| Authorization | Bear xx | 是 | 使用企业token | |
| Body |
{
"user_ids":[64, 63], // 用户id(部门传所有用户id)
"remote_ids":[651469678], // 主机id
"tag_ids": [123, 456], // 父帐号分组ID
"department_ids": [789, 124], // 部门ID
"from": "remote", //user:基于用户列表,remote:基于主机列表
// 新版授权优化提交
"user_id":64, // 用户id(部门传所有用户id)
"remote_id":651469678, // 主机id
"tag_id": 123, // 父帐号分组ID
"department_id": 789, // 部门ID
"cancel": true //是否取消授权
}
{
// 有错误才返回
"651469671:63": { // 主机:用户id
"Code": "authorize/token_verify_fail",
"Message": "Access token was expired"
},
}
Path: /remotes/:remoteid
Method: DELETE
接口描述:
删除主机,正常返回204 无body
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Authorization | Bearer xxxx | 是 | 授权信息,必须为主机授权(主机登录接口返回的) | |
| 路径参数 | ||||
| 参数名称 | 示例 | 备注 | ||
| ------------ | ------------ | ------------ | ------------ | ------------ |
| remoteid |
Path: /remotes/multiple
Method: POST
接口描述:
创建主机,返回主机信息
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/json | 是 | ||
| Authorization | Bearer xxxx | 是 | access_token,注意这里必须是用户授权的access_token,主机授权返回403 | |
| Body |
{
"names": "test\n123\ntest2123",//必填,需要添加主机的名称,回车分割,最多5个
}
{
"remotes": [{ // 返回主机的全部信息
"remoteid": 261737385,
"mac": "00:0a:89:98:ca:21",
"ownerid": 3575685,
"createtime": 1585797641,
"statuscode": 0,
"client": "",
"is_create": true,
"error_msg": "",
// 主机信息
"info": {
"remoteid": 261737385,
"name": "test",
"pcname": "",
"cpu": "",
"memory": "",
"osname": "",
"baseboard": "",
"diskdrive": "",
"videocontroller": "",
"networkadapter": "",
"versioncode": "",
"version": "",
"description": "",
"avatar": "",
"tagids": "",
"configmodifiedtime": 0
},
// 授权信息
"license": {
"code": "943d-0b5d-1824-b4c6",
"key": "1234-5647-0123-1234-3214",
"userid": 3575685,
"account": "",
"level": 0,
"remoteid": 261737385,
"serviceid": 0,
"password": "fBuwJFyxI1sDeqIys0Xrx1Iyr4mcJgYT"
}
},
{
"info": {
"name": "2"
},
"error_msg": "[remote/exceeded_service_limit] Remote host count out of service limit"
},
{
"info": {
"name": "3"
},
"error_msg": "[remote/exceeded_service_limit] Remote host count out of service limit"
}
],
"total": 3
}
Path: /remotes/:remoteid/info
Method: PATCH
接口描述:
更新主机信息(设置无关的信息)
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/json | 是 | ||
| Authorization | Bearer xxxx | 是 | 授权 | |
| 路径参数 | ||||
| 参数名称 | 示例 | 备注 | ||
| ------------ | ------------ | ------------ | ------------ | ------------ |
| remoteid | ||||
| Body |
// 修改名称描述,返回值里的字段除了remoteid和configmodifiedtime都可以被update
{
"name": "test123",
"description": "hahaha",
"pcname": "MYPC",
"update_type":2 // 1 主机所属修改, 2 分享主机修改备注
}
// 返回被修改的主机信息字段
{
"remoteid": 261737081,
"name": "test123",
"pcname": "MYPC",
"cpu": "",
"memory": "",
"osname": "",
"baseboard": "",
"diskdrive": "",
"videocontroller": "",
"networkadapter": "",
"versioncode": "",
"version": "",
"description": "hahaha",
"avatar": "",
"tagids": "",
"configmodifiedtime": 1585100554
}
Path: /remotes/:remoteid
Method: PATCH
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/json | 是 | ||
| Authorization | Bearer xxxxxx | 是 | 授权信息 | |
| 路径参数 | ||||
| 参数名称 | 示例 | 备注 | ||
| ------------ | ------------ | ------------ | ------------ | ------------ |
| remoteid | ||||
| Body |
{
// 以下都可以改
"statuscode": 33,
"mac": "xx:xx:xx:xx:xx"
}
// 返回变更的记录信息(不包含授权)
{
"remoteid": 261737385,
"mac": "xx:xx:xx:xx:xx",
"ownerid": 3575685,
"createtime": 1585797641,
"statuscode": 33,
"client": "",
}
Path: /summaries/:userid
Method: GET
接口描述:
路径参数
| 参数名称 | 示例 | 备注 |
| ------------ | ------------ | ------------ | ------------ | ------------ |
| userid | 1 | |
{
"own_count": 2, // 属于自己的主机
"remote_count": 2 //所有主机(包括自己的主机和别人共享过来的主机)
}
Path: /remotes
Method: POST
接口描述:
创建主机,返回主机信息
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/json | 是 | ||
| Authorization | Bearer xxxx | 是 | access_token,注意这里必须是用户授权的access_token,主机授权返回403 | |
| Body |
{
"mac": "00:0a:89:98:ca:21", // 选传, 主控不传的话,默认是 00-00-00-00-00-00
"name": "test",
"description" : "描述",
"__test": true // 特殊参数,true则不实际创建主机,仅判断主机授权的可用性,若返回成功2xx即可用(以前的precreate)
}
{ // 返回主机的全部信息
"remoteid": 261737385,
"mac": "00:0a:89:98:ca:21",
"ownerid": 3575685,
"createtime": 1585797641,
"statuscode": 0,
"client": "",
// 主机信息
"info": {
"remoteid": 261737385,
"name": "test",
"pcname": "",
"cpu": "",
"memory": "",
"osname": "",
"baseboard": "",
"diskdrive": "",
"videocontroller": "",
"networkadapter": "",
"versioncode": "",
"version": "",
"description": "",
"avatar": "",
"tagids": "",
"configmodifiedtime": 0
},
// 授权信息
"license": {
"code": "943d-0b5d-1824-b4c6",
"key": "1234-5647-0123-1234-3214",
"userid": 3575685,
"account": "",
"level": 0,
"remoteid": 261737385,
"serviceid": 0,
"password": "fBuwJFyxI1sDeqIys0Xrx1Iyr4mcJgYT"
}
}
Path: /remotes/:remoteid
Method: GET
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Authorization | Bearer xxxx | 是 | ||
| 路径参数 | ||||
| 参数名称 | 示例 | 备注 | ||
| ------------ | ------------ | ------------ | ------------ | ------------ |
| remoteid |
{
"remote_id":853264267,
"mac":"E4:54:E8:E3:74:7C",
"owner_id":41173496,
"create_time":1644557550,
"statuscode":3739, // statuscode
"info":{
"remote_id":853264267,
"name":"消息",
"pc_name":"DESKTOP-MG2UGI5",
"cpu":"Intel(R) Core(TM) i3-9100 CPU @ 3.60GHz",
"memory":"16220MB",
"os_name":"Microsoft Windows 10",
"base_board":"Dell Inc. 0GPD72",
"disk_drive":"Acer GT500M M.2 2280 512G",
"video_controller":"Intel(R) UHD Graphics 630",
"network_adapter":"UnKnown",
"versioncode":"44512",
"version":"3.2.1.44512",
"tag_ids":"112471",
"configmodifiedtime":1644821490
},
"state":{ // 在线状态数据
"state":1, // 0 =》 不在线, 1 =》 在线
"addr":"https://853264267-9e53s57372879.rc03.oray.com/cgi-bin/login.cgi", // remoteaddr
"version":"3.2.1.44512",
"osname":"{\"camera\":1,\"cmd\":1,\"desktop\":1,\"express\":1,\"fastcmd\":1,\"file\":1,\"mac\":\"CE4:54:E8:E3:74:7C\",\"os_version\":\"10.0.19042\",\"platform\":\"window\",\"sound\":1}",
"ip":"101.224.163.3",
"serverip":"121.40.55.87", // serverip
"login_time":1644557551,
"fastcode":"897396292" // remotefastcode
},
"user":{
"user_id":41173496,
"remote_id":853264267
},
"license":{
"key":"8977-5780-7850-6776-4658",
"user_id":41173496,
"level":1,
"remote_id":853264267
}
}
Path: /console/remotes/:remoteid
Method: GET
接口描述:
路径参数
| 参数名称 | 示例 | 备注 |
| ------------ | ------------ | ------------ | ------------ | ------------ |
| remoteid | 1 | 主机ID |
Query
| 参数名称 | 是否必须 | 示例 | 备注 |
|---|---|---|---|
| with_powerplan | 否 | true | 是否需要查询主机开关机计划 |
| with_extend | 否 | true | 查询是否域名访问、主机上下线等设置 |
{
"remote":{ // 主机
"remote_id":847183659,
"mac":"E4:54:E8:DC:80:48",
"owner_id":16646489,
"create_time":1643271301,
"statuscode":2707,
"info":{ // 主机信息
"remote_id":847183659,
"name":"gz-刘",
"pc_name":"DESKTOP-5FAF3PO",
"cpu":"Intel(R) Core(TM) i3-9100 CPU @ 3.60GHz",
"memory":"16220MB",
"os_name":"Windows 10 Pro",
"base_board":"Dell Inc. 0GPD72",
"disk_drive":"SanDisk SSD PLUS 240GB;WDC WD10EZEX-75WN4A1",
"video_controller":"Intel(R) UHD Graphics 630",
"network_adapter":"Realtek PCIe GbE Family Controller",
"versioncode":"43486",
"version":"12.5.0.43486",
"description":"gz",
"tag_ids":"112685,112686,112687",
"configmodifiedtime":1644889843
},
"state":{ // 在线状态
"state":1,
"addr":"https://847183659-9ec6sb43ac779.rc03.oray.com/cgi-bin/login.cgi", // remote-addr
"version":"12.5.0.43486",
"osname":"{\"camera\":1,\"cmd\":1,\"desktop\":1,\"express\":1,\"fastcmd\":1,\"file\":1,\"mac\":\"E4:54:E8:DC:80:48\",\"os_version\":\"10.0.19043\",\"platform\":\"window\",\"reconnect\":1,\"sound\":1}",
"ip":"183.233.96.66",
"serverip":"121.199.58.180",
"login_time":1645062866,
"fastcode":"357243498"
},
"user":{
"user_id":16646489,
"remote_id":847183659
},
"license":{
"key":"4299-3526-1662-1746-2668",
"user_id":16646489,
"level":1,
"remote_id":847183659
}
},
"host_info":{ // hostinfo
"envs":[
{
"id":"target",
"name":"window"
},
{
"id":"os",
"version":"UnKnown",
"name":"Windows 10 Pro"
}
],
"plugins":[
{
"id":"desktop",
"version":"12.5.0.43486",
"name":"remote desktop"
},
{
"id":"newcamera",
"version":"12.5.0.43486",
"name":"摄像头"
},
{
"id":"microphonev1",
"version":"12.5.0.43486",
"name":"麦克风"
},
{
"id":"microphonev2",
"version":"12.5.0.43486",
"name":"麦克风"
},
{
"id":"file",
"version":"12.5.0.43486",
"name":"文件管理"
},
{
"id":"cmd2",
"version":"12.5.0.43486",
"name":"控制台"
},
{
"id":"screenshots",
"version":"12.5.0.43486",
"name":"屏幕截图"
},
{
"id":"soundv1",
"version":"12.5.0.43486",
"name":"新语音"
},
{
"id":"soundv2",
"version":"12.5.0.43486",
"name":"新语音"
},
{
"id":"sound_chat",
"version":"12.5.0.43486",
"name":"语音聊天"
},
{
"id":"foldershare",
"version":"12.5.0.43486",
"name":"文件夹映射"
}
]
},
"wakeup_remote_status":{ // 主机绑定的开机棒状态数据
"is_online":true, // 绑定的开机棒是否在线
"need_pwd":true // 唤醒是否支持密码
},
"powerplan": { // 开关机计划
"poweron_rules": [
{
"plan_type": 1,
"week": "1",
"hour": "1",
"minu": "29"
},
{
"plan_type": 1,
"week": "1,4",
"hour": "8",
"minu": "29"
}
],
"shutdown_rules": [
{
"week": "1",
"hour": "9",
"minu": "29"
},
{
"week": "1,4",
"hour": "16",
"minu": "29"
}
],
"poweron": { // 开机
"plan_type": 1,
"repeat_type": 2,
"date": "2022-05-16",
"week": "1,4",
"hour": "1",
"minu": "29",
"rulesnum": 2,
"time_stamp": 1652635740,
"next_time": 1652635740
},
"shutdown": {// 关机
"repeat_type": 2,
"date": "2022-05-16",
"week": "1,4",
"hour": "9",
"minu": "29",
"rulesnum": 2,
"time_stamp": 1652664540,
"next_time": 1652664540
}
},
"extend" : {
"notify_enable" : true, // 是否开启主机上下线通知 false 不返回
"domain_access" : true // 是否开启域名访问 false 不返回
}
}
Path: /sys-services
Method: GET
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Authorization | Bearer xxx | 是 | xxx | |
| Query |
| 参数名称 | 是否必须 | 示例 | 备注 |
|---|---|---|---|
| with_sub | 否 | true | 要查子帐号服务必须加上这个,不然只返回自己的服务 |
| userids | 否 | 1111,2222 | 用逗号隔开,传了userids, with_sub就不管 |
{
"services": [
{
"userid": 12564122,
"account": "13838161905",
"level": 1,
"serviceid": 17703629,
"productid": 13051,
"quantity": 1000,
"used": 0,
"expiredate": 1626249137,
"createtime": 1594713180,
"features": null,
"product": null
}
],
"total": 1
}
Path: /client/free-tips
Method: GET
接口描述:
need_psw_tips : 无密访问主机增加提示引导
Query
| 参数名称 | 是否必须 | 示例 | 备注 |
|---|---|---|---|
| remoteid | 否 | 12 | 主机ID |
| fastcode | 否 | sdsdsds | 快码 |
{
"code": 0,
"message": "SUCCESS",
"stdcode": 0,
"data": {
"paidinfo": "亲爱的用户,已为您智能选择最优网络路线",
"info": "当前使用向日葵免费版,带宽最高享300KB/s",
"interval": 36000,
"upgradeinfo": "升级不限速",
"upgradeurl": "http://url.oray.com/HtGHZd",
"upfrequence": 1,
"isshow": false,
"delay": 5,
"tipstype": 0,
"security_tips": "{\"zh_CN\":\"\\u91cd\\u8981\\u63d0\\u9192\\uff1a\\u8fdc\\u7a0b\\u8fc7\\u7a0b\\u4e2d\\uff0c\\u4f60\\u7684\\u5c4f\\u5e55\\u6240\\u6709\\u5185\\u5bb9\\u5c06\\u88ab\\u5bf9\\u65b9\\u5168\\u7a0b\\u89c2\\u770b\\/\\u64cd\\u4f5c\\u3002\\u63d0\\u4f9b\\u672c\\u673a\\u8bc6\\u522b\\u7801\\u524d\\uff0c\\u8bf7\\u786e\\u8ba4\\u4fe1\\u4efb\\u5bf9\\u65b9\\u3002\\u82e5\\u4f60\\u63d0\\u4f9b\\u672c\\u673a\\u8bc6\\u522b\\u7801\\u548c\\u9a8c\\u8bc1\\u7801\\uff0c\\u5219\\u5bf9\\u65b9\\u65e0\\u9700\\u672c\\u673a\\u786e\\u8ba4\\u5373\\u53ef\\u8fdc\\u7a0b\\u63a7\\u5236\\uff0c\\u8bf7\\u8c28\\u614e\\u63d0\\u4f9b\\u9a8c\\u8bc1\\u7801\\uff01\",\"en\":\"Your screen contents will be fully observed during the session. With your passcode, the\\nremote peer could operate your device without authorization. PROVIDE WITH CAUTION!\",\"zh_TW\":\"\\u91cd\\u8981\\u63d0\\u9192\\uff1a\\u88ab\\u63a7\\u904e\\u7a0b\\u4e2d\\uff0c\\u4f60\\u7684\\u8367\\u5e55\\u6240\\u6709\\u5167\\u5bb9\\u5c07\\u88ab\\u5c0d\\u65b9\\u5168\\u7a0b\\u89c0\\u770b\\/\\u64cd\\u4f5c\\u3002\\u63d0\\u4f9b\\u672c\\u6a5f\\u8b58\\u5225\\u78bc\\u524d\\uff0c\\u8acb\\u78ba\\u8a8d\\u4fe1\\u4efb\\u5c0d\\u65b9\\u3002\\u82e5\\u4f60\\u63d0\\u4f9b\\u672c\\u6a5f\\u8b58\\u5225\\u78bc\\u548c\\u9a57\\u8b49\\u78bc\\uff0c\\u5247\\u5c0d\\u65b9\\u7121\\u9700\\u672c\\u6a5f\\u78ba\\u8a8d\\u5373\\u53ef\\u9060\\u7a0b\\u63a7\\u5236\\uff0c\\u8acb\\u8b39\\u614e\\u63d0\\u4f9b\\u9a57\\u8b49\\u78bc\\uff01\"}",
"register_tips": "{\"zh_CN\":\"\\u7acb\\u5373\\u6ce8\\u518c\\u5e76\\u767b\\u5f55\\u5411\\u65e5\\u8475\\u5e10\\u53f7\\uff0c\\u514d\\u8d39\\u4eab\\u53d7\\u66f4\\u591a\\u8fdc\\u7a0b\\u63a7\\u5236\\u529f\\u80fd\",\"en\":\"Register now and log in to Sunlogin\\nto enjoy more remote control services for free\",\"zh_TW\":\"\\u7acb\\u5373\\u8a3b\\u518a\\u4e26\\u767b\\u5165\\u5411\\u65e5\\u8475\\u5e33\\u865f\\uff0c\\u514d\\u8cbb\\u4eab\\u53d7\\u66f4\\u591a\\u9060\\u7aef\\u63a7\\u5236\\u529f\\u80fd\"}",
"sec_ent_tips": "{\"zh_CN\":\"\\u8fdc\\u7a0b\\u8fde\\u63a5\\u65f6\\uff0c\\u60a8\\u7684\\u5c4f\\u5e55\\u6240\\u6709\\u5185\\u5bb9\\u5c06\\u88ab\\u5bf9\\u65b9\\u5168\\u7a0b\\u89c2\\u770b\\u6216\\u64cd\\u63a7\\uff0c\\u4e0d\\u5efa\\u8bae\\u5728\\u8fdc\\u7a0b\\u63a7\\u5236\\u8fc7\\u7a0b\\u4e2d\\u8fdb\\u884c\\u9690\\u79c1\\u64cd\\u4f5c\\u3002\\u8bf7\\u786e\\u8ba4\\u4fe1\\u4efb\\u5bf9\\u65b9\\u3002\",\"en\":\"Your monitor will be fully observed or controlled during the seesion, please pay attention to your privacy.\"}",
"simple_security_tips": "{\"zh_CN\":\"\\u8bf7\\u8c28\\u614e\\u63d0\\u4f9b\\u9a8c\\u8bc1\\u7801\\uff0c\\n\\u6bcf\\u6b21\\u8fdc\\u63a7\\u540e\\u5c06\\u81ea\\u52a8\\u5237\\u65b0\",\"en\":\"rovide passcode carefully,\\nWill refresh after being\\ncontrolled\",\"zh_TW\":\"\\u8bf7\\u8c28\\u614e\\u63d0\\u4f9b\\u9a8c\\u8bc1\\u7801\\uff0c\\n\\u6bcf\\u6b21\\u8fdc\\u63a7\\u540e\\u5c06\\u81ea\\u52a8\\u5237\\u65b0\"}",
"simple_guide_tips": "{\"zh_CN\":\"\\u4f53\\u9a8c\\u66f4\\u591a\\u8fdc\\u63a7\\u529f\\u80fd\",\"en\":\"More remote control functions\",\"zh_TW\":\"\\u9ad4\\u9a57\\u66f4\\u591a\\u9060\\u63a7\\u529f\\u80fd\"}",
"fast_url": "https://sunlogin.oray.com/desktop",
"isoldversiontips": false,
"need_psw_tips": "{\"zh_CN\":\"5\\u670815\\u65e5\\u5c06\\u5168\\u9762\\u4e0b\\u67b6\\u65e0\\u5bc6\\u8bbf\\u95ee\\u529f\\u80fd\\uff0c\\u8bf7\\u5c3d\\u5feb\\u5bf9\\u8be5\\u4e3b\\u673a\\u8bbe\\u7f6e\\u8bbf\\u95ee\\u5bc6\\u7801\",\"en\":\"This host has no access password, Please set it as soon as possible\",\"zh_TW\":\"\"}"
},
"category": "client",
"action": "freetips"
}
Path: /modules/:licensekey
Method: GET
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Authorization | Bearer xxxx | 是 | 验证信息 | |
| 路径参数 | ||||
| 参数名称 | 示例 | 备注 | ||
| ------------ | ------------ | ------------ | ------------ | ------------ |
| licensekey |
// 被控端开放的模块列表
[{
"moduleid": "camera",
"name": "远程摄像头",
"enable": true,
"serviceid": "123123",
"expiredate": 0
}, {
"moduleid": "filemgr",
"name": "远程文件",
"enable": false,
"serviceid": "123123",
"expiredate": 0
}, {
"moduleid": "desktopview",
"name": "远程观看",
"enable": true,
"serviceid": "123123",
"expiredate": 0
}]
Path: /products
Method: GET
接口描述:
本接口返回的是公开数据,不需要验证
获取产品列表,特定场合使用
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/x-www-form-urlencoded | 是 |
{
"products": [
{
"productid": 0,
"name": "免费版",
"engname": "Free.",
"level": 0,
"price": 0,
"skin": ""
},
{
"productid": 13051,
"name": "专业版",
"engname": "Pro.",
"level": 1,
"price": 98,
"skin": ""
},
{
"productid": 13052,
"name": "商业版",
"engname": "Biz.",
"level": 2,
"price": 158,
"skin": ""
},
{
"productid": 310003,
"name": "旗舰版",
"engname": "Ult.",
"level": 3,
"price": 298,
"skin": ""
}
]
}
Path: /features/:userid
Method: GET
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Authorization | Bearer xxx | 是 | ||
| 路径参数 | ||||
| 参数名称 | 示例 | 备注 | ||
| ------------ | ------------ | ------------ | ------------ | ------------ |
| userid | 3575685 | |||
| Query |
| 参数名称 | 是否必须 | 示例 | 备注 |
|---|---|---|---|
| serviceid | 是 | 141234 |
{
"Features": [
{
"UserID": 3575685,
"FeatureID": "androidclient",
"ServiceID": 141234,
"ItemID": 3412,
"Quantity": 12
},
{
"UserID": 3575685,
"FeatureID": "androidclient1",
"ServiceID": 141234,
"ItemID": 3412,
"Quantity": 12,
"Used": 1
}
]
}
Path: /services/:userid
Method: GET
接口描述:
服务特性说明:
| featureid | 说明 |
|---|---|
| microlive | 微直播 |
| filetransfer | 文件分发 |
| message | 消息群发 |
| wakeup | 开机服务,用户绑定开机设备后开启,如果没有可以直接忽略所有开机业务的流程 |
| level | 0:免费;1:专业;2:商业;3:游戏/旗舰;4:行业;5:独立服务器/企业+ 版本 |
路径参数
| 参数名称 | 示例 | 备注 |
| ------------ | ------------ | ------------ | ------------ | ------------ |
| userid | | |
{
"userid": 3575685,
"level": 3, // 服务等级
"serviceid": 134134, // 用户服务的ID,续费升级用
"productid" : 1234, //产品id
"quantity": 11, // 授权主机数
"used": 5, // 已有主机数
"expiredate": 1593148764, // 过期时间(UTC)
"createtime": 1584595175,
// 可用服务特性
"features": [
{
"userid": 3575685,
"featureid": "microlive",
"quantity": 0, // 数量,只对某些特性有意义
"used": 0 // 已用数量,只对某些特性有意义
},
{
"userid": 3575685,
"featureid": "filetransfer",
"quantity": 0, // 数量,只对某些特性有意义
"used": 0 // 已用数量,只对某些特性有意义
},
{
"userid": 3575685,
"featureid": "message",
"quantity": 0, // 数量,只对某些特性有意义
"used": 0 // 已用数量,只对某些特性有意义
},
{
"userid": 3575685,
"featureid": "androidlicense",
"quantity": 5, // 数量,只对某些特性有意义
"used": 0 // 已用数量,只对某些特性有意义
}
]
}
Path: /fastcodes/generates
Method: POST
接口描述:
fastcode类接口一般客户端不需要直接调用
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/x-www-form-urlencoded | 是 |
Path: /rclogin/fc
Method: POST
接口描述:
已存在的快码,则判断mac和设备id是否一致;快码为空,则生成新的快码
错误返回:
错误码
150806538 获取快码过于频繁
150806540 快码登录时验证签名失败
150806529 mac地址不能为空
150806530 uuid不能为空
150806531 密码校验不通过
150806532 快码格式不对
150806533 快码不存在
150806537 快码分发失败
150806539 授权码不存在
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/json | 是 | ||
| Query |
| 参数名称 | 是否必须 | 示例 | 备注 |
|---|---|---|---|
| fastcode | 否 | 快码 | |
| remoteid | 否 | 主机id | |
| mac | 是 | mac地址 | |
| uuid | 是 | 设备唯一id | |
| isforce | 否 | 是否强制刷新快码,默认0 | |
| code | 否 | 授权码 | |
| password | 否 | 授权码的密码 | |
| Body |
{
"mac": "00:00:12:00:00:13",
"uuid": "aaaaa", // 设备唯一id
"fastcode": "946473652", // 快码
"isforce": 0, // 是否强制刷新快码,默认0
"code": "", // 授权码
"password": "", // 授权码的密码
"t": 1659343886, // 时间戳
"sign": "xxxxxx", // 签名后的校验串,这种校验方式以后会淘汰,暂时用着(md5(mac + uuid + 时间戳 + "sunlogin.com"))
}
{
"fastcode": "string", // 快码
"mac": "string", // mac地址
"uuid": "string", // 设备唯一id
"remoteId": "string", // 主机id
"password": "string",
"server": "rc10-fc03.oray.com:443" // 在线服务器
}
Path: /fastcodes/:verifications
Method: POST
接口描述:
客户端一般不需要直接调用,去登录接口登录即可
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/x-www-form-urlencoded | 是 | ||
| 路径参数 | ||||
| 参数名称 | 示例 | 备注 | ||
| ------------ | ------------ | ------------ | ------------ | ------------ |
| verifications |
Path: /sl-api.oray.com/standard/device-count
Method: POST
接口描述:
Body
{
"remote_id":"448875663",
"user_id":"23664903"
}
{
"account_device":0, // 账号绑定硬件设备数
"remote_device": 1, // 主机绑定硬件数
}
Path: /wakeup/discoveries
Method: POST
接口描述:
被控端提交内网发现的开机设备SN
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/json | 是 | ||
| Body |
// 提交内网发现的开机棒
["3832xxxxxxxx", "3832xxxxxxxxxx"]
// 返回绑定的开机设备信息
{
"deviceid": 31123,
"devicetype": 0,
"sn": "3832xxxxx",
"mac": "xxxxx",
"name": "xxxxx"
}
Path: /wakeup/devices
Method: POST
接口描述:
错误码
401 => Unauthorized;
400202 => '开机棒名不能为空';
400201 = > '找不到对应的开机棒';
400001 => '缺少参数';
400210 => 'SN已绑定',
400211 => '硬件不在线',
400212 => '硬件RPC添加失败',
400213 => '非开机盒子不给绑定',
400214 => '非开机棒不给绑定',
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/x-www-form-urlencoded | 是 | ||
| Body |
| 参数名称 | 参数类型 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| sn | text | 是 | 0233a5aacdc5b7ff | |
| name | text | 否 | 测试 |
{
"code": 400210,
"message": "SN已绑定"
}
Path: /sl-api.oray.com/standard/device-list
Method: GET
接口描述:
Query
| 参数名称 | 是否必须 | 示例 | 备注 |
|---|---|---|---|
| remote_ids | 是 | 448875663,1111 | |
| user_id | 是 | 123 | |
| Body |
{
"remote_ids":"448875663,1111",
"user_id":"23664903"
}
{
"list": [
{
"is_enable": 0, //在线状态 0 未在线
"type": 5, // 0开机棒 1花生棒 2 蒲公英或其他嵌入式设备 5 插座 6开机盒子
"device_id": 450386, //设备ID
"remote_id": 448875663, // 主机ID
"model": "C1Pro", // 硬件型号 C1-2 C1-pro P1 C2 P2
"label": "独享版" // 界面展示型号
}
]
}
Path: /wakeup/devices
Method: GET
接口描述:
// 开机棒、盒子
"hardware_type"
'独享版' => 'wakeupstickOne',
'开机棒独享版' => 'wakeupstickOne',
'K1' => 'wakeupstickOne',
'局域网版' => 'wakeupstickLan',
'K2' => 'wakeupstickLan',
'WakeupBox' => 'wakeupbox',
Query
| 参数名称 | 是否必须 | 示例 | 备注 |
|---|---|---|---|
| sn | 否 | 0233a5aacdc5b7ff | |
| owner_id | 否 | 2996694 | |
| type | 否 |
{
"devices": [
{ // 开机盒子、插座
// 设备ID
'device_id':1,
// 设备SN(业务上的SN)
'sn':'3832828dead349d8',
// 设备mac
'mac':'00:0F:68:60:12:A5',
// 所有者ID
'owner_id':'2996694',
// 企业帐号ID
'ent_userid':'1234',
// 设备名称(用户命名)
'name':'开机棒0233a5aacdc5b7ff',
// 硬件SN(对应主库硬件SN)
'hardware_sn':'123456789123',
// 硬件类型,用户输入不传,通过sn导入 (0 开机棒, 1 花生棒, 2 蒲公英或其他嵌入式设备,5 插座,6 开机盒子)
'type':0,
// 硬件型号,用户输入不传,通过sn导入
'model':'K1-2110',
// 服务类型 0 独享 1 局域网 2 局域网无忧
'service_type':0,
// 关联的服务ID
'service_id':1,
// 绑定设备的上限,<= 0 不限制
'device_limit':0,
// 服务的过期时间
'service_expire_time':1643102660,
// 设备绑定时间
// 'create_time':1643102660,
'create_time': "2022-06-27 12:00:00",
// 绑定的主机id
'remote_ids':['651469780'],
// 服务购买地址
"upserviceurl": "https://buy.oray.com/upgrade/?sid=19532276&upserviceid=323001&sn=3832828dead349d8",
// 服务过期时间
"expiredate": "2099-12-31 00:00:00",
// 服务过期天数
"expiredays": "28412",
// 是否在线
"isenable":true,
// 旧版续费链接
"renewurl":"https://buy.oray.com/renew/?sid=19532276&sn=3832828dead349d8",
// 升级链接
"upgradeurl": "http://woiservice.oray.net:4009/status?ip=120.240.164.248&host=download.oray.com&port=80&path=/wakeuper/w018.bin",
// 开机棒、盒子
"hardware_type": "wakeupstickOne",
"logo_x100": "https://cdn.orayimg.com/sunlogin/slapi/img/hardware/wakeup@100.png",
"logo_x150": "https://cdn.orayimg.com/sunlogin/slapi/img/hardware/wakeup@150.png",
"logo_x200": "https://cdn.orayimg.com/sunlogin/slapi/img/hardware/wakeup@200.png",
// 插孔数
"outletcount": 4,
// 插座绑定主机
"remotes": [
{
"number": 3,
"remote_id": 923434951
}
],
// 插孔备注
"memos": [
{
"name": "yf-01"
},
{
"number": 3,
"name": "yf-04"
}
],
// delays
"delays": [
{
"number": 3,
"delay": 120
}
]
},
{
"device_id": 729887,
"sn": "600315215342",
"mac": "600315215342",
"owner_id": 39065284,
"name": "600315215342",
"type": 5,
"model": "C2",
"service_type": 5,
"create_time": "2021-12-29 11:42:16",
"device_type": "sl_smartplug",
}
]
}
Path: /console/remote-expand
Method: GET
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Authorization | 是 | Bearer xxx | ||
| Query |
| 参数名称 | 是否必须 | 示例 | 备注 |
|---|---|---|---|
| remote_id | 否 | 123456789 | 主机ID(与快访码二传一) |
| fastcode | 否 | 123456789 | 快访码(与主机ID二传一) |
{
// 主机硬件型号(针对方舟/控控)
"hw_remote_model": "",
// 主机远控错误提示(针对方舟/控控)
"hw_remote_tips": "",
// 是否领航快码,10位以上,9开头就是
"ispilot_fastcode ": true
}
Path: /console/remote-tips
Method: GET
接口描述:
{
// 提示开关
"display": true,
// 提示显示频率
"interval": true,
// 免费版提示
"free_tips": "",
// 免费远控时长 单位:s
"free_time_limit": 0,
// 已用完提速时间的跳转文字
"more_tips": "",
// 已用完提速时间跳转连接
"more_link": "",
// 接在free_tips的文案提示
"upgrade_tips": "",
// upgrade_tips跳链
"upgrade_link": "",
// 正在提速提示
"speeding_tips": "",
// 已用完提速时间提示
"finished_tips": ""
}
<a id=获取主机远控地址 - NEW【敏感信息获取】>
Path: /remote-addr
Method: GET
接口描述:
Query
| 参数名称 | 是否必须 | 示例 | 备注 |
|---|---|---|---|
| fastcode | 是 | 702444873 | 走主机远控不传 |
| remote_id | 是 | 走快码远控不传 | |
| t | 是 | 时间戳 | |
| region | 否 | // 地区,优先分配该地区的P2P服务,能传则传,传了可以免去IP查询的过程 | |
| east, south, nonth, southeast | |||
| userid | 是 | 当前用户ID,能传则传,不能服务端会通过授权获取 | |
| authcode | 是 | md5(t + remoteid(fastcode)+签名) | |
| features | 是 |
{
"remote": {
"remote_id": 651469525,
"state": 1,
"addr": "https://k702444873-1ee3se31ea8c0.rc10-t.oray.com:61443/cgi-bin/login.cgi",
"os_name": "{\"camera\":1,\"cmd\":1,\"desktop\":1,\"express\":1,\"fastcmd\":1,\"file\":1,\"mac\":\"E4:54:E8:DC:80:48\",\"os_version\":\"10.0.19043\",\"platform\":\"window\",\"sound\":1}",
"ip": "192.168.31.96",
"server_ip": "192.168.30.227" // slsvr ip
},
"server": {
"host": "slp2p-east-std01.oray.net", // p2p 服务器
"addr": "PHSRC://slp2p-east-std01.oray.net:4118;PHSRC_HTTPS://slp2p-east-std01.oray.net:443;UsingMultiChannel://;",
"forward_addr": "PHSRC_HTTPS://slp2p-east-std01.oray.net:443",
"server_ip": "183.131.193.129" // p2p 服务器IP, 不返回的需要自己解析
},
"expires" : 0 // 0 或者不返回,不管expiress
}
Path: /remote-access/address
Method: GET
接口描述:
Query
| 参数名称 | 是否必须 | 示例 | 备注 |
|---|---|---|---|
| fastcode | 否 | remoteid和fastcode二选一 | |
| remoteid | 否 | ||
| mac | 是 | 当前主控端的mac地址 | |
| clientid | 是 | 新版(5.0)主控端加的功能,没有可以不传 |
{
"address": "https://xxx.rc03.oray.com/", //主机的远程访问地址
"p2pserver": {
"address": "PHSRC://xxxxxxx", // p2p地址
"key": "xxxxxx",
"level": 0 // p2p服务器的服务等级
}
}
Path: /groups/:groupid
Method: PUT
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/json | 是 | ||
| 路径参数 | ||||
| 参数名称 | 示例 | 备注 | ||
| ------------ | ------------ | ------------ | ------------ | ------------ |
| groupid | ||||
| Body |
{
"group_id": 1,
"name": "运维主管22",
"parent_id": 1,
"depth": 0
}
Path: /users/:account
Method: PUT
接口描述:
body可以允许传单个
例如只改到 is_enble
{
"is_enble":"0"
}
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/json | 是 | ||
| 路径参数 | ||||
| 参数名称 | 示例 | 备注 | ||
| ------------ | ------------ | ------------ | ------------ | ------------ |
| account | admin | |||
| Body |
{
"nick": "超级管理员22",
"mobile":"133",
"email":"test@oray.com",
"is_enble":0, // 是否允许登录
"group_ids": [
1, 2
]
}
{
"userid": 1,
"account": "admin",
"nick": "超级管理员22"
}
Path: /users/:account/passwords/:loginname
Method: PUT
接口描述:
204
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/json | 是 | ||
| 路径参数 | ||||
| 参数名称 | 示例 | 备注 | ||
| ------------ | ------------ | ------------ | ------------ | ------------ |
| account | admin | 角色 | ||
| loginname | test | 帐号 | ||
| Body |
{
"user_id": 1,
"loginname": "admin_12",
"password": "123456",
"signingkey": "",
"confim_password": "123456", // 确认的密码
"old_password": "000000", // 修改自己的密码时候使用
"is_md5": "false" // 修改自己的密码时候使, 密码是原文的话就不传了
}
Path: /users/change
Method: POST
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/x-www-form-urlencoded | 是 | ||
| Body |
| 参数名称 | 参数类型 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| to_uid | text | 是 | 1111 | 切换的子账号ID |
| to_account | text | 是 | test | 切换的子账号 |
{
"token": "xxxxxxxxxxxxx",
"code": 0 , // 0成功
"err": "" // 错误信息
}
Path: /groups/:groupid
Method: DELETE
接口描述:
204
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/x-www-form-urlencoded | 是 | ||
| 路径参数 | ||||
| 参数名称 | 示例 | 备注 | ||
| ------------ | ------------ | ------------ | ------------ | ------------ |
| groupid | 1 |
Path: /users/:account
Method: DELETE
接口描述:
成功返回 statusCode : 204
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/x-www-form-urlencoded | 是 | ||
| 路径参数 | ||||
| 参数名称 | 示例 | 备注 | ||
| ------------ | ------------ | ------------ | ------------ | ------------ |
| account | admin2 |
Path: /users/:account/passwords/:loginname
Method: DELETE
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/x-www-form-urlencoded | 是 | ||
| 路径参数 | ||||
| 参数名称 | 示例 | 备注 | ||
| ------------ | ------------ | ------------ | ------------ | ------------ |
| account | ||||
| loginname |
Path: /console/account
Method: GET
接口描述:
| 配件ID(itemid) | 配件key(featrueid) | 配件名称 |
|---|---|---|
| 0 | seat | 坐席 |
| 123 | channel | 通道数 |
| 140 | androidclient | 安卓授权 |
| 141 | transtfer | 文件分发 |
| 142 | message | 消息群发 |
| 143 | emailreport | 邮件报告 |
| 144 | smsreport | 短信通知 |
| 145 | custom-androidclient | 定制安卓客户端 |
| 146 | custom-androidctrl | 定制安卓主控端 |
| 147 | custom-windowsclient | 定制Windows企业版 |
| 148 | custom-windowsctrl | 定制Windows主控端 |
| 149 | package | 批量部署 |
| 173 | subaccount-quantity | 子帐号数 |
| 174 | forward-bandwidth | 转发带宽 |
// 字段为null/false/0 不返回
{
"usersvc": {
// 帐户ID
"userid": 3575685,
// 服务等级
"level": 3,
// 用户服务的ID,续费升级用
"serviceid": 134134,
//产品id
"productid" : 310211,
// 授权主机数
"quantity": 11,
// 已有主机数
"used": 5,
// 过期时间(UTC)
"expiredate": 1593148764,
// 创建时间
"createtime": 1584595175,
// 可用服务特性(多个)
"features": [
{
"userid": 12564122,
"featureid": "custom-windowsctrl",
"serviceid": 9795427,
"itemid": 147,
"quantity": 0,
"used": 0
},
]
},
"customize_items": {
// windows主控端
"slcc_windows": true,
// windows客户端
"slrc_windows_enterprise": true,
// android客户端
"slrc_android": true,
// android主控端
"slcc_android": true,
// Linux客户端
"slrc_linux": true,
// 定制包数量
"max_num": 20
},
"sms_package": {
// 免费条数
"free_count": 500,
// 付费条数
"paid_count": 200,
// 总剩余条数(free_count + paid_count)
"count":700
},
}
Path: /groups
Method: GET
接口描述:
Query
| 参数名称 | 是否必须 | 示例 | 备注 |
|---|---|---|---|
| parent_id | 是 | 1 | |
| group_id | 是 |
[
{
"group_id": 2,
"name": "fe",
"createtime": 1612160325
},
{
"group_id": 3,
"name": "后端-tl",
"createtime": 1612164818
},
{
"group_id": 4,
"name": "普通角色",
"createtime": 1613712845
},
{
"group_id": 5,
"name": "客户端",
"createtime": 1614048901
},
{
"group_id": 6,
"name": "fe2",
"createtime": 1614061004
},
{
"group_id": 7,
"name": "f3",
"parent_id": 6,
"depth": 1,
"createtime": 1614061014
}
]
Path: /groups
Method: POST
接口描述:
depth // 暂时没有,先不管
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/json | 是 | ||
| Body |
{
"name": "运维主管",
"parent_id": 1,
"depth": 0
}
{
"group_id": 1,
"name": "运维主管",
"parent_id": 1,
"depth": 0
}
Path: /users
Method: POST
接口描述:
成功创建用户返回201
一个用户可以有多个登录账号 一个User可以对应多个UserPass
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/json | 是 | ||
| Body |
{
"account": "zhangsan",
"nick": "张三",
"email": "oray@test.com",
"mobile": "13578815276",
"passes": [
{
"loginname": "zhangsan",
"password": "123456"
}
],
"group_ids": [
1
]
}
{
"user_id": 8,
"account": "zhangsan",
"nick": "张三",
"createtime": 1601370995,
"email": "oray@test.com",
"mobile": "13578815276",
"passes": [
{
"user_id": 8,
"loginname": "zhangsan",
"password": "123456",
"updatetime": 1601370995
}
]
}
Path: /users/:account/passwords
Method: POST
接口描述:
201
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/json | 是 | ||
| 路径参数 | ||||
| 参数名称 | 示例 | 备注 | ||
| ------------ | ------------ | ------------ | ------------ | ------------ |
| account | admin | 角色 | ||
| Body |
{
"user_id": 1,
"loginname": "admin_12",
"password": "123456",
"signingkey": ""
}
{
"user_id": 1,
"loginname": "admin_12",
"password": "",
"signingkey": ""
}
Path: /users/:account
Method: GET
接口描述:
200
路径参数
| 参数名称 | 示例 | 备注 |
| ------------ | ------------ | ------------ | ------------ | ------------ |
| account | | |
{
"user_id": 6,
"account": "admin",
"nick": "管理员",
"createtime": 1597474978,
"email": "oray@test.com",
"mobile": "13800138000",
"is_enble": true,
"risk_code":0, // 高风险用户,0不做处理,1禁止登录,2提示实名弹窗
"status_code" : 0, // 状态码,需要用位运算, | 1 = 高风险用户
"is_realname" : true // 是否已实名
}
Path: /users
Method: GET
接口描述:
Query
| 参数名称 | 是否必须 | 示例 | 备注 |
|---|---|---|---|
| account | 否 | ||
| userid | 否 | 1 | |
| groupid | 否 | ||
| offset | 是 | ||
| limit | 是 | ||
| filter | 否 | eamil,mobile | 过滤掉字段为空的数据 email:邮箱 mobile:手机号 account:帐号 |
| emailsearch | 否 | keyword搜索邮箱数据 | |
| keyword | 否 | 测试 | 帐号/备注名/邮箱(emailsearch=true) |
[
{
"user_id": 1,
"account": "admin",
"createtime": 1606914812,
"is_enble": true,
"group_ids": [
1
]
},
{
"user_id": 2,
"account": "fe-zony",
"nick": "前端",
"createtime": 1612160347,
"group_ids": [
2
]
},
{
"user_id": 3,
"account": "fe-zony2",
"nick": "前端",
"createtime": 1612160367,
"is_enble": true,
"group_ids": [
2
]
},
{
"user_id": 4,
"account": "tttttt",
"nick": "tl",
"createtime": 1612164859,
"is_enble": true,
"group_ids": [
3
]
},
{
"user_id": 5,
"account": "testaaa",
"nick": "testaaa",
"createtime": 1612264944,
"is_enble": true,
"group_ids": [
3
]
},
{
"user_id": 6,
"account": "lu-001",
"nick": "lu-001",
"createtime": 1613712780,
"is_enble": true,
"group_ids": [
3
]
},
{
"user_id": 8,
"account": "xxztest",
"nick": "xxztest",
"createtime": 1613812052,
"is_enble": true,
"group_ids": [
2,
3
]
},
{
"user_id": 9,
"account": "liuck2021",
"nick": "liuck",
"createtime": 1614048924,
"is_enble": true,
"group_ids": [
5
]
}
]
Path: /authorizations
Method: POST
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/json | 是 | ||
| Body |
{
"loginname": "admin",
"password": "123456", // 当ismd5是true的时候,password需要传md5后的密码
"ismd5": true
}
{
"access_token": "eyJhbGciOiJIUzUxMiIsInIiOjI5MjU1MDY0NjgsInR5cCI6IkpXVCJ9.eyJleHAiOjE2MDEzNzQ1NzUsImlzYSI6MTYwMTM3MDk3NSwiaXNzIjoiYWRtaW4iLCJyb2xlIjo0LCJ1aWQiOjYsIm5zIjoiYXdlcmF5In0.OaAUlzaa7lmEVLs_dfFeqZDemmE4VRt5VGppbUQ0SUWXwyp7NOgbyfCI6RLsLItK5chlkh42DW4aFEAmZAX_Gw",
"refresh_token": "X3L7X1+aiF8AAAAUUXpadGZUTEtnSjFBQVJ6cEpnV0Z1aFZuUGc3MEV0WWlLRkVFc1hHTzNRPT0=",
"refresh_ttl": 2592000
}
Path: /e
Method: GET
接口描述:
400的错误代码
| errors | 说明 | |
|---|---|---|
| user/not_exists | 用户不存在 | |
| user/password_not_matched | 密码不正确 | |
| user/serialzie_error | 序列化错误 | |
| user/repo_commit_error | 提交错误 |
Path: /console/remotes/:remoteid/verify
Method: POST
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/json | 是 | ||
| 路径参数 | ||||
| 参数名称 | 示例 | 备注 | ||
| ------------ | ------------ | ------------ | ------------ | ------------ |
| remoteid | 1111 | 主机id | ||
| Body |
{
"remote_id" : 1111, //主机id
"type" : 1, // 0 访问密码 1 账号密码
"account": "oray", //主机账号
"password": "123456", //主机密码 || 访问密码
}
{
"success": 0, // 0登录失败 1登录成功
"message": "登录失败"
}
Path: /console/remotes/:remoteid/config
Method: PUT
接口描述:
common.host_id_freq //每次远控后刷新验证码 host_id_freq == 2 才是刷新验证码;否则传0 // 废弃2020.12.30
security.password //锁定密码 password非空才是有锁定密码
common.autorun //开机启动向日葵 1 OR 0
common.serviceonly //不显示运行托盘,以服务方式运行 1 OR 0
common.notify // 远控时,显示提示气泡 1 OR 0
security.host_id_freq // 废弃common.host_id_freq;使用security.host_id_freq
以上四个值有修改到才传,不修改可以不动
设置定时关机必须传参or_type=1
以及关机计划数据powerplan
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/json | 是 | ||
| Authorization | 是 | Bearer xx | ||
| 路径参数 | ||||
| 参数名称 | 示例 | 备注 | ||
| ------------ | ------------ | ------------ | ------------ | ------------ |
| remoteid | ||||
| Query |
| 参数名称 | 是否必须 | 示例 | 备注 |
|---|---|---|---|
| type | 否 | 1 | 验证类型 1账号密码认证 2验证码认证 |
| or_type | 是 | 1 | 来源设备(0:网站:1:端) |
| Body |
{
"common": {
"autorun": "0",
"host_id_freq": "",
"serviceonly": "0"
},
"security": {
"password": ""
},
"powerplan": {
"poweron": { //定时开机
"date": "2021-08-03", // 开机日期 (repeat_type=0 使用)
"hour": "16", // 时
"minu": "29", // 分
"plan_type": 1, //'计划类型 0 关机 1 开机
"repeat_type": 2, //重复类型 0 仅一次 1 每天 2 按周天
"rulesnum": 2 //自定义开机计划数
},
"poweron_rules": [ // 自定义开关机计划(repeat_type=2使用)
{
"hour": "09", // 时
"minu": "29", // 分
"plan_type": 1, //'计划类型 0 关机 1 开机
"week": "1" //暂时只供周天重复用 1 2 4 8 16 32 64 代表周一到周日
},
{
"hour": "16",
"minu": "29",
"plan_type": 1,
"week": "1,4"
}
]
}
}
Path: /console/remotes/:remoteid/config
Method: GET
接口描述:
common.host_id_freq //每次远控后刷新验证码 host_id_freq == 2 才是刷新验证码;否则传0 // 废弃2020.12.30
security.password //锁定密码 password非空才是有锁定密码
common.autorun //开机启动向日葵 1 OR 0
common.serviceonly //不显示运行托盘,以服务方式运行 1 OR 0
common.notify // 远控时,显示提示气泡 1 OR 0
security.host_id_freq // 废弃common.host_id_freq;使用security.host_id_freq
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Authorization | 是 | Bearer xxx | ||
| 路径参数 | ||||
| 参数名称 | 示例 | 备注 | ||
| ------------ | ------------ | ------------ | ------------ | ------------ |
| remoteid | ||||
| Query |
| 参数名称 | 是否必须 | 示例 | 备注 |
|---|---|---|---|
| module_ids | 是 | common,security,powerplan | 其他先不管,先只传 common,security,powerplan |
{
"common": {
"autorun": "0",
"buyshareurl": "0",
"closeremind": "0",
"enablevpn": "0",
"enablewakeup": "0",
"host_id_freq": "",
"logpath": "",
"notify": "1",
"openshareurl": "0",
"projection": "1",
"serviceonly": "0",
"shareurl": "",
"updatemode": "1"
},
"security": {
"blacklist": "",
"custompassword": "",
"enable": "0",
"enablelimitloginaccess": "0",
"harassoption": "1",
"landiscovery": "1",
"limitloginaccesstime": "",
"password": "",
"switch": "0",
"usecustompassword": "0",
"usewindowuser": "1",
"wakeuppassword": "",
"wakeupselected": "0",
"whitelist": ""
},
"powerplan": {
"account_devices":-1, // 账号是否有硬件设备 -1 未绑定 1 有绑定
"remote_devices": -1, // 主机是否绑定硬件 -1 未绑定 1 有绑定
"poweron": { //定时开机
"date": "2021-08-03", // 开机日期 (repeat_type=0 使用)
"hour": "16", // 时
"minu": "29", // 分
"plan_type": 1, //'计划类型 0 关机 1 开机
"repeat_type": 2, //重复类型 0 仅一次 1 每天 2 按周天
"rulesnum": 2 //自定义开机计划数
},
"poweron_rules": [ // 自定义开机计划(repeat_type=2使用)
{
"hour": "09", // 时
"minu": "29", // 分
"plan_type": 1, //'计划类型 0 关机 1 开机
"week": "1" //暂时只供周天重复用 1 2 4 8 16 32 64 代表周一到周日
},
{
"hour": "16",
"minu": "29",
"plan_type": 1,
"week": "1,4"
}
]
}
}
Path: /packages
Method: POST
接口描述:
201
主机后缀:
NUMBER => 按照数字编号;
HOSTNAME => 计算机名;
MAC => 计算机的MAC地址;
IP => 公网IP;
LANIP => 内网IP;
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/json | 是 | ||
| Authorization | 是 | Bearer xxx | ||
| Body |
{
"user_id": 23635549,
"name": "RemoteControl", // 名称
"prefix": "", // 生成主机前缀
"share_users": [1, 2], // 共享帐户
"share_other_users": [{"account":"account123","user_id":1}], // 共享账户(其他账户)
"share_type": 2, // 1 => 所有的帐号。2 => 输入指定的帐号
"system_policy_id" : 1,
"config": {
"run_as_service": true, // 静默运行
"run_traceless": false, // 无痕运行
"auto_run": true, // 开机启动
"refresh_authcode": false,
"is_lock": true, // 锁定客户端
"lock_password":"", // 锁定密码
"login_password": "", // 访问密码
"update_mode": 0, // 有新版本时静默安装 1 OR 0
"auth_refresh_autocode": false, // 每次远控后刷新验证码
"silent_install": false, // 支持命令行静默安装
"disable_control": true, // 禁止被远程桌面
"disable_clipboard": true, // 禁止被远程复制文字/文件
"disable_file": true, // 禁止被远程传输文件
"disable_print": true, // 禁止远程打印本机文件
"disable_camera": true, // 禁止被远程查看摄像头
"disable_cmd": true, // 禁止被远程CMD/SSH
"disable_harasscode": true, // 禁止被识别码访问
"remote_check_mobile": true, // 被远程控制时对控制端手机号验证
"remote_control_save_video": true, //远程控制时录像并保存在云日志
"disable_chat" : true, // 禁止桌面控制时使用聊天功能
"run_as_admin" : true, // 使用管理员权限运行向日葵
"access_password": "sdsdss", // 更新无密的新访问密码
"daemon_process": true // 守护进程
},
"suffix": "HOSTNAME", // 主机后缀;
"is_x64": false, // 是否64位版本
"tag_ids":[1, 2]
}
Path: /package-remotes/:remoteid
Method: DELETE
接口描述:
路径参数
| 参数名称 | 示例 | 备注 |
| ------------ | ------------ | ------------ | ------------ | ------------ |
| remoteid | | |
Body
{
"user_id":123,
"package_id":456
}
Path: /packages/:packageid
Method: DELETE
接口描述:
204 删除成功
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/x-www-form-urlencoded | 是 | ||
| 路径参数 | ||||
| 参数名称 | 示例 | 备注 | ||
| ------------ | ------------ | ------------ | ------------ | ------------ |
| packageid |
Path: /packages-upgrade/:packageid
Method: PUT
接口描述:
成功返回200状态码,其他状态码都是错误的
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/x-www-form-urlencoded | 是 | ||
| Authorization | 是 | Bearer xx | ||
| 路径参数 | ||||
| 参数名称 | 示例 | 备注 | ||
| ------------ | ------------ | ------------ | ------------ | ------------ |
| packageid |
{
"package_id": 650,
"user_id": 12564122,
"deploy_key": "3c5fdb17b3b4756f08f2e82eb4a6d0c7",
"name": "RemoteTestVer",
"status": 2,
"version": "3.2.0.35489",
"config": {
"run_as_service": true,
"auto_run": true,
"is_lock": true,
"login_password": "123456",
"login_password_encry": "gFjC7qBWrv0="
},
"suffix": "NUMBER",
"upgrade_version": "3.1.0.30975",
"create_time": 1624939910
}
Path: /packages/grant-remote
Method: POST
接口描述:
| code | error | 错误码 | |
|---|---|---|---|
| 150691846 | deploy/package_not_grant | 未授权定制包给当前帐号 | |
150626306 | remote/not_exists | 主机不存在 | |
| 150691841 | deploy/package_not_exists | 定制包不存在 | |
| 150691847 | deploy/package_not_bind_remote | 当前主机未绑定此定制包 |
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/json | 是 | ||
| Authorization | 是 | token | ||
| Body |
{
"package_key": "xxx",
"remote_id": 1,
"mac": "xxxxx"
}
Path: /packages
Method: GET
接口描述:
当upgrade_version > version 的时候判断部署包可以升级
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Authorization | 是 | Bearer xx | ||
| Query |
| 参数名称 | 是否必须 | 示例 | 备注 |
|---|---|---|---|
| userid | 否 | 1 | |
| keyword | 否 | 模糊搜索名称 |
[
{
"package_id": 19,
"user_id": 6,
"deploy_key": "b105d2c201cd1591e6eb278b8884e612",
"name": "测试批量部署3",
"prefix": "xxx",
"status": 0,
"version": "",
"config": {
"run_as_service": true,
"run_traceless": false,
"auto_run": true,
"is_lock": true,
"lock_password": "123456",
"login_password": "123456",
"update_mode": 0,
"auth_refresh_autocode": false,
"silent_install": false,
"disable_control": true,
"disable_clipboard": true,
"disable_file": true,
"disable_print": true,
"disable_camera": true,
"disable_cmd": true,
"disable_chat" : true // 禁止桌面控制时使用聊天功能
},
"limit": 0,
"type": 0,
"tagid": [],
"suffix": "HOSTNAME",
"is_x64": false,
"share_users": [],
"url": "https://www.oray.com/",
"upgrade_version": "3.1.0.30975",
"create_time": 1605163452,
"update_time": 1582082569,
"remote_num": 1,
"less_version_remote_num": 11, // 待升级设备数
}
]
Path: /package-remotes/:packageid/upgrade
Method: PUT
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/json | 是 | ||
| 路径参数 | ||||
| 参数名称 | 示例 | 备注 | ||
| ------------ | ------------ | ------------ | ------------ | ------------ |
| packageid | 123 | ID | ||
| Body |
{
"remote_ids": [
1, // 对应设备主机ID
2,
]
}
{
"remote_ids": [
1, // 对应设备主机ID
2,
]
}
Path: /packages-auth
Method: POST
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/json | 是 | ||
| Authorization | Beare Token | 是 | ||
| Body |
{
"module": 1 //1:设置访问密码
}
Path: /packages-auth
Method: GET
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Authorization | Bearer Token | 是 | token | |
| Query |
| 参数名称 | 是否必须 | 示例 | 备注 |
|---|---|---|---|
| module | 是 | 1 | 1:设置访问密码 |
{
"is_auth": true
}
Path: /packages/:packageid
Method: GET
接口描述:
路径参数
| 参数名称 | 示例 | 备注 |
| ------------ | ------------ | ------------ | ------------ | ------------ |
| packageid | | |
Query
| 参数名称 | 是否必须 | 示例 | 备注 |
|---|---|---|---|
| upgrade_version | 是 | 1.1.0 | 升级版本号 |
{
"package_id": 1,
"user_id": 23635549,
"deploy_key": "c2552d85e61f5f91b142f6e68d9c74ce", // key
"name": "RemoteControl", // 名称
"prefix": "", // 生成主机前缀
"status": 0, // 安装包创建状态; 0 => 初始状态; 1 => 已生成安装包;2 => 安装包已删除
"version": "2.0.1.2624", // 版本
"config": {
"run_as_service": true, // 静默运行
"run_traceless": false, // 无痕运行
"auto_run": true, // 开机启动
"refresh_authcode": false,
"is_lock": true, // 锁定客户端
"lock_password":"", // 锁定密码
"login_password": "", // 访问密码
"update_mode": 0, // 有新版本时静默安装 1 OR 0
"auth_refresh_autocode": false, // 每次远控后刷新验证码
"silent_install": false, // 支持命令行静默安装
"disable_control": true, // 禁止被远程桌面
"disable_clipboard": true, // 禁止被远程复制文字/文件
"disable_file": true, // 禁止被远程传输文件
"disable_print": true, // 禁止远程打印本机文件
"disable_camera": true, // 禁止被远程查看摄像头
"disable_cmd": true // 禁止被远程CMD/SSH
},
"limit": 0, // 生成主机数
"type": 1, // 类型0 普通定制安装包,1 企业定制包
"tagid": [
],
"suffix": "HOSTNAME", // 主机后缀,根据mac,ip,hostname(主机名),number(编号),nosuffix(没有后缀)进行排序
"is_x64": false,
"share_users": [
],
"path":"https://www.oray.com/",
"upgrade_version": "3.1.0.30975",
"create_time": 1582082569,
"update_time": 1582082569,
"remote_num": 1,
"less_version_remote_num": 11, // 待升级设备数
}
Path: /packages-limit
Method: GET
接口描述:
{
"package": true, // 不支持批量部署的话,此值不返回
"max_num": 1000000000
}
Path: /packages-access/:deploykey
Method: GET
接口描述:
authkey: sunlogin.package.access
路径参数
| 参数名称 | 示例 | 备注 |
| ------------ | ------------ | ------------ | ------------ | ------------ |
| deploykey | 0b3107d37ad9901ad10c79370e5399ba | 安装包的key值 |
Query
| 参数名称 | 是否必须 | 示例 | 备注 |
|---|---|---|---|
| t | 是 | 1653285674 | 时间戳 |
| authcode | 是 | 验证签名 | md5(timestamp+deploykey+authkey) |
{
"access_password": "e10adc3949ba59abbe56e057f20f883e"
}
Path: /packages/access-password/:packageid
Method: GET
接口描述:
路径参数
| 参数名称 | 示例 | 备注 |
| ------------ | ------------ | ------------ | ------------ | ------------ |
| packageid | 123 | id |
Query
| 参数名称 | 是否必须 | 示例 | 备注 |
|---|---|---|---|
| type | 否 | 0 | 验证类型 0:手机邮箱,1:帐号密码 |
{
"login_password": "", // 明文
"login_password_encry": "" // 密文
}
Path: /packages-access/:packageid
Method: POST
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/json | 是 | ||
| 路径参数 | ||||
| 参数名称 | 示例 | 备注 | ||
| ------------ | ------------ | ------------ | ------------ | ------------ |
| packageid | 207 | 定制包ID | ||
| Body |
{
"access_password": "123456", // 密码
"confirm_password": "123456" // 确认密码
}
Path: /package-remotes/:packageid
Method: GET
接口描述:
remotes:主机列表
total:记录总数
路径参数
| 参数名称 | 示例 | 备注 |
| ------------ | ------------ | ------------ | ------------ | ------------ |
| packageid | | |
Query
| 参数名称 | 是否必须 | 示例 | 备注 |
|---|---|---|---|
| keyword | 否 | NQ | 主机名称 |
| version_status | 否 | 0 | 版本状态 0 -全部 1-待升级 2-新版本 |
| upgrade_version | 否 | 1.1.0 | 升级版本号 和 version_status 配合使用 |
{
"remotes": [
{
"remote_id": 651469179,
"mac": "E4:54:E8:E3:74:7C",
"license_code": "37b3-bb6f-a7a3-bfc0",
"owner_id": 12564122,
"create_time": 1624524040,
"statuscode": 2715,
"info": {
"remote_id": 651469179,
"name": "E4:54:E8:E3:74:7C",
"pc_name": "DESKTOP-NQOM2U5",
"cpu": "Intel(R) Core(TM) i3-9100 CPU @ 3.60GHz",
"memory": "16220MB",
"os_name": "Microsoft Windows 10",
"base_board": "Dell Inc. 0GPD72",
"disk_drive": "Acer GT500M M.2 2280 512G",
"video_controller": "Intel(R) UHD Graphics 630",
"network_adapter": "Npcap Loopback Adapter",
"versioncode": "35489",
"version": "3.2.0.35489",
"description": "rrt",
"tag_ids": "90,117",
"configmodifiedtime": 1625636146
}
}
],
"package_remotes": [
{
"remote_id": 651469179,
"package_id": 111,
"active": false,
"is_upgrade": true, // 是否点击过升级客户端
}
],
"total": 1
}
Path: /customizes
Method: POST
接口描述:
---------------------client的值---------------------------
| client | 定义 |
|---|---|
| SLCC_WINDOWS | 定制Windows主控 |
| SLRC_WINDOWS_ENTERPRISE | 定制Windows被控客户端企业版 |
| SLRC_ANDROID | 定制Android被控 |
| SLCC_ANDROID | 定制Android主控 |
| SLRC_LINUX | 定制Linux被控 |
| account_type | 定义 |
|---|---|
| 0 | 当前帐号 |
| 1 | 所有独立服务器管理下帐号 // 私有化不需要理会这个值 |
| 2 | 指定帐号 |
| 3 | 子角色和自己角色的帐号登录 |
package 是定制客户端才需要的(里面的定义和批量部署是一致的),windows主控不需要
// 默认值
app_name = 远程控制 // 规则:最多输入16个字、软件名称为中文、英文或数字组合、不允许包含有"向日葵"字样。
eng_name = Remote // 规则:英文名称为英文或数字组合、不允许包含有"sunlogin"字样
package_name = Remote // 规则: 安装包名称为英文或数字组合,不允许包含有"sunlogin"字样
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/json | 是 | ||
| Body |
{
"app_name": "测试客户端定制88", // 软件名称 英文
"eng_name": "xxxx", // 软件名称 英文
"bg_color": "#666666", // 颜色
"client": "SLRC_WINDOWS_ENTERPRISE", // 定义的值 SLCC_WINDOWS => Windows控制端;SLRC_WINDOWS_ENTERPRISE => Windows客户端
"share_model": ["xx", "bb"], // 共享模块
"share_users": [1, 2], // 共享帐户
"share_other_users": [{"account":"account123","user_id":1}], // 共享账户(其他账户)
"share_type": 2, // // 1 => 所有的帐号。2 => 输入指定的帐号
"package_name": "xx", // 主控安装包名
"account_type": 2, // 0、2 2代表主机共享帐号
"user_list": [1, 2], // 允许登录帐号,请传userid
"url": "www.oray.com", // 网站地址
"is_x64": false,
"os_name":"centos", //Linux用,系统
"platform":"x86", //linux用
"image": {
"logo": "", // logo //安卓只有这个
"desk_icon": "", // 桌面图标
"online_icon": "", // 在线状态图标
"offline_icon": "", // 离线状态
"onlock_icon": "", // 在线锁定状态
"offlock_icon": "", // 离线锁定状态
"control_icon": "" // 被远控状态
},
"options": { // 里面大多数主控用到,被控的看清楚用哪几个
"is_screen": false, // 会议投屏(windows客户端的会议投屏);手机投屏(linux客户端的手机投屏);
"hide_fastcode": false, // 隐藏识别码
"hide_authcode": false, // 隐藏验证码
"ctrl_control": true, // 桌面控制
"ctrl_view": true, // 桌面观看
"ctrl_camera": true, // 摄像头
"ctrl_file": false, // 远程文件/复制粘贴文字
"ctrl_cmd": false, // CMD命令行
"ctrl_ssh": false, // SSH命令行
"ctrl_manage": false, // 远程管理
"ctrl_restart": false, // 远程重启
"ctrl_turnoff": false, // 远程关机
"add_remote": false, // 添加主机
"wakeup_manage": false, // 开机棒管理(主控)
"wakeup": false, // 搭配开机棒(被控)
"buy_service": false, // 服务购买/续费
"fastcode": false, // 识别码访问
"device_info": false, // 设备详情
"client_config": false, // 客户端设置
"rm_log": false, // 主机日志
"domain_access": false, // 域名访问
"screen_wall": false, // 屏幕墙
"tag_manage": false, // 标签管理
"file_transfer": false, // 文件分发
"send_message": false, // 消息群发
"monitor": false,// 云监控
"is_embed": false, // 将主机状态信息嵌入到你自己的软件界面 被控用到
"uu_pro":false, //UUPro辅助
"accessibility_service":false, //辅助服务
"local_network_scan":false, //局域网扫描
"add_smart_device":false, //添加智能硬件
"mobile_projection":false, //手机投屏 (安卓主控用)
"is_coexist":false, //此安装包和标准版安装包共存
"remote_control_save_video": false, //远程控制时录像并保存在云日志
},
"package": {
"name": "Remote",
"prefix": "xxx",
"config": {
"run_as_service": true,
"run_traceless": false, //无痕运行
"auto_run": true, //自启动
"is_lock": true, //锁定客户端
"lock_password": "123456", //锁定密码
"login_password": "123456", //访问密码
"update_mode": 0,
"auth_refresh_autocode": false, //刷新验证码
"silent_install": false, //静默安装
"disable_control": true, //禁止控制
"disable_clipboard": true, //禁止复制
"disable_file": true, //禁止被远程传输文件
"disable_print": true, //禁止被远程打印本机的文件
"disable_camera": true, //禁止被远程查看摄像头
"disable_cmd": true, //禁止被远程CMD/SSH
"remote_check_mobile": false, //被远程控制时对控制端进行手机号验证
"remote_control_save_video": true, //远程控制时录像并保存在云日志
"accept_request_need_pwd":false, //识别码远控需本机同意--安卓客户端定制
"is_image_quality":false, //是否启用图片质量设置--安卓客户端定制
"image_quality":1, //0、速度优先 1、平衡优先 2、质量优先 图片质量设置--安卓客户端定制
"is_device_screen":false, //是否启用屏幕设置--安卓客户端定制
"device_screen_width":1920, //屏幕宽度--安卓客户端定制
"device_screen_height":1080, //屏幕高度--安卓客户端定制
"change_orientation":0, //屏幕角度只能支持:0 90 180 270--安卓客户端定制
"is_refresh_access_password":false, //验证码刷新机制--安卓客户端定制
"refresh_access_password":1, //0从不刷新、1每日刷新 、2每次远控后刷新--安卓客户端定制
"disable_chat" : true, // 禁止桌面控制时使用聊天功能
"run_as_admin" : true, // 使用管理员权限运行向日葵
"access_password": "sdsdsds", // 更新无密的新访问密码
"daemon_process": true, // 守护进程
},
"suffix": "HOSTNAME", //后缀
"tag_ids":[1, 2]
}
}
{
"customize_id": 637,
"user_id": 12564122,
"app_name": "测试安卓主控",
"eng_name": "test",
"bg_color": "666666",
"client": "SLCC_ANDROID",
"options": {
"ctrl_control": true,
"ctrl_camera": true,
"uu_pro": true,
"remote_assist": true
},
"package_id": 844,
"package_name": "RemoteControla",
"version": "10.9.1",
"package": {
"package_id": 844,
"user_id": 12564122,
"deploy_key": "05d955642634a27e0c424f65637d2eee",
"name": "Remote",
"version": "3.1.0.30975",
"type": 1
},
"user_list": [
1123,
1553,
5663
]
}
Path: /customizes/:customizeid
Method: DELETE
接口描述:
204 删除成功
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/x-www-form-urlencoded | 是 | ||
| 路径参数 | ||||
| 参数名称 | 示例 | 备注 | ||
| ------------ | ------------ | ------------ | ------------ | ------------ |
| customizeid | 1 |
Path: /customizes-upgrade/:customizeid
Method: PUT
接口描述:
成功返回200状态码,其他状态码都是错误的
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/x-www-form-urlencoded | 是 | ||
| Authorization | 是 | Bearer xx | ||
| 路径参数 | ||||
| 参数名称 | 示例 | 备注 | ||
| ------------ | ------------ | ------------ | ------------ | ------------ |
| customizeid |
{
"customize_id": 599,
"user_id": 12564122,
"app_name": "测试客户端定制88",
"eng_name": "test",
"bg_color": "666666",
"client": "SLRC_ANDROID",
"options": {
"ctrl_control": true,
"ctrl_camera": true,
"uu_pro": true
},
"package_id": 813,
"package_name": "RemoteControl",
"version": "4.9",
"create_time": 1621895092,
"upgrade_version": "5.0.0.29520",
"package": {
"package_id": 813,
"user_id": 12564122,
"deploy_key": "df170ad587984a30b2b65e86a978d9ff",
"name": "Remote",
"prefix": "aaa",
"version": "3.1.0.30975",
"config": {
"auto_run": true,
"login_password": "123456",
"login_password_encry": "gFjC7qBWrv0=",
"accept_request_need_pwd": true,
"is_image_quality": true,
"is_device_screen": true
},
"type": 1,
"tag_ids": [
1,
2
],
"suffix": "HOSTNAME",
"upgrade_version": "3.1.0.30975",
"create_time": 1621895092
}
}
Path: /customizes
Method: GET
接口描述:
| package_name | Header中这个参数里面包含了分页用的参数 row 0-2/106 106是总数 |
|---|
Query
| 参数名称 | 是否必须 | 示例 | 备注 |
|---|---|---|---|
| limit | 否 | 1 | 分页参数 |
| offset | 否 | 0 | 分页参数 |
| client | 否 | SLRC_ANDROID | 客户端类型 |
| app_name | 否 | a | 包名称支持模糊查询 |
[
{
"customize_id": 13925,
"user_id": 12564122,
"app_name": "远程被控",
"eng_name": "Remotecontrolled",
"bg_color": "#FF6638",
"client": "SLRC_ANDROID",
"path": "http://std-fe.sl.oraybeta.com/upload/rawosfs?type=sl-android&name=80921b4e11525f7c56195f37fbf5e842&key=123456",
"options": {
"ctrl_control": true,
"ctrl_view": true,
"ctrl_camera": true,
"ctrl_file": true,
"ctrl_cmd": true,
"ctrl_ssh": true,
"ctrl_restart": true,
"ctrl_turnoff": true,
"add_remote": true,
"buy_service": true,
"fastcode": true,
"local_network_scan": true,
"add_smart_device": true,
"mobile_projection": true
},
"package_id": 649,
"status": 1,
"package_name": "Remotecontrolled",
"version": "5.3",
"create_time": 1624937500,
"update_time": 1582082569,
"upgrade_version": "5.1",
"package": {
"package_id": 649,
"user_id": 12564122,
"deploy_key": "3e968488058dde1dc5883d66d7b9e86c",
"name": "Remotecontrolled",
"version": "3.2.0.35489",
"config": {
"device_screen_width": 1080,
"device_screen_height": 2160
},
"type": 1,
"suffix": "IP",
"upgrade_version": "3.1.0.30975",
"create_time": 1624937500,
"remote_num": 11, // 部署设备总数
"less_version_remote_num": 11, // 待升级设备数
}
},
{
"customize_id": 13924,
"user_id": 12564122,
"app_name": "远程被控",
"eng_name": "Remotecontrolled",
"bg_color": "#FF6638",
"client": "SLRC_ANDROID",
"path": "http://std-fe.sl.oraybeta.com/upload/rawosfs?type=sl-android&name=887a957e915f4a148af23f9ec11ce7f1&key=123456",
"options": {
"ctrl_control": true,
"ctrl_camera": true,
"ctrl_file": true,
"fastcode": true,
"uu_pro": true,
"accessibility_service": true
},
"package_id": 648,
"status": 1,
"package_name": "Remotecontrolled",
"version": "5.3",
"create_time": 1624937483,
"upgrade_version": "5.1",
"package": {
"package_id": 648,
"user_id": 12564122,
"deploy_key": "91a9f0fd34212f4bb386468f99bfeab9",
"name": "Remotecontrolled",
"version": "3.2.0.35489",
"config": {
"device_screen_width": 1080,
"device_screen_height": 2160
},
"type": 1,
"suffix": "IP",
"upgrade_version": "3.1.0.30975",
"create_time": 1624937483
}
},
{
"customize_id": 13923,
"user_id": 12564122,
"app_name": "远程被控TT",
"eng_name": "RemotecoTT",
"bg_color": "#58B1AD",
"client": "SLRC_WINDOWS_ENTERPRISE",
"path": "http://std-fe.sl.oraybeta.com/upload/rawosfs?type=sl-win-slcc&name=4d14117bcd1059a59c6a9c35b1fdd703&key=123456",
"options": {
"is_screen": true,
"hide_fastcode": true,
"hide_authcode": true,
"buy_service": true,
"fastcode": true,
"domain_access": true,
"uu": true,
"wakeup": true
},
"package_id": 646,
"status": 1,
"package_name": "Remotecontrolled",
"version": "3.2.0.35489",
"create_time": 1624704893,
"upgrade_version": "3.2.0.35489",
"package": {
"package_id": 646,
"user_id": 12564122,
"deploy_key": "7210c273a6d2dde4853bea96e7630908",
"name": "Remotecontrolled",
"version": "3.2.0.35489",
"config": {
"auto_run": true,
"login_password": "123456",
"login_password_encry": "gFjC7qBWrv0="
},
"type": 1,
"suffix": "HOSTNAME",
"upgrade_version": "3.1.0.30975",
"create_time": 1624704893
},
"is_x64": true
},
{
"customize_id": 13920,
"user_id": 12564122,
"app_name": "远程被控麒麟",
"eng_name": "RemoteDevice",
"bg_color": "#3874BF",
"client": "SLRC_LINUX",
"path": "http://std-fe.sl.oraybeta.com/upload/rawosfs?type=sl-win-slcc&name=c5c0387f88136e927dfd5e963d45492a&key=123456",
"options": {
"is_screen": true,
"buy_service": true,
"fastcode": true,
"wakeup": true
},
"package_id": 641,
"status": 2,
"package_name": "RemoteDevice",
"version": "3.2.0.36663",
"create_time": 1624501205,
"upgrade_version": "3.2.0.36662",
"package": {
"package_id": 641,
"user_id": 12564122,
"deploy_key": "a35deccd118914a353459d7f5f807923",
"name": "RemoteDevice",
"version": "3.2.0.35489",
"config": {
"auto_run": true,
"login_password": "1",
"login_password_encry": "SEvLd2k7zyY="
},
"type": 1,
"suffix": "IP",
"upgrade_version": "3.1.0.30975",
"create_time": 1624501205,
"remote_num": 1
},
"is_x64": true,
"os_name": "kylin",
"platform": "arm"
},
{
"customize_id": 13919,
"user_id": 12564122,
"app_name": "远程被控",
"eng_name": "RemoteDevice",
"bg_color": "#FF6638",
"client": "SLRC_LINUX",
"path": "http://std-fe.sl.oraybeta.com/upload/rawosfs?type=sl-win-slcc&name=1068ac96fff102f1a6607ea828e70a30&key=123456",
"options": {
"is_screen": true,
"fastcode": true
},
"package_id": 640,
"status": 1,
"package_name": "RemoteDevice",
"version": "3.2.0.36663",
"create_time": 1624500377,
"upgrade_version": "3.2.0.36662",
"package": {
"package_id": 640,
"user_id": 12564122,
"deploy_key": "6c90927188f9bc4843c323e473d4dc34",
"name": "RemoteDevice",
"version": "3.2.0.35489",
"config": {
"auto_run": true,
"login_password": "111111111111",
"login_password_encry": "KqK6f+voS/nsv/LPw11mtg=="
},
"type": 1,
"suffix": "IP",
"upgrade_version": "3.1.0.30975",
"create_time": 1624500377
},
"is_x64": true,
"os_name": "ubuntu",
"platform": "amd64"
},
{
"customize_id": 13918,
"user_id": 12564122,
"app_name": "邓邓01功能设置",
"eng_name": "Remotecontrolled",
"bg_color": "#FF6638",
"client": "SLRC_ANDROID",
"path": "http://std-fe.sl.oraybeta.com/upload/rawosfs?type=sl-android&name=0c3cc675d98f575c9df518e9d4560120&key=123456",
"options": {
"ctrl_control": true,
"ctrl_camera": true,
"ctrl_file": true,
"fastcode": true,
"uu_pro": true,
"accessibility_service": true
},
"package_id": 638,
"status": 1,
"package_name": "Remotecontrolled",
"version": "5.4",
"create_time": 1624473749,
"upgrade_version": "5.1",
"package": {
"package_id": 638,
"user_id": 12564122,
"deploy_key": "80d1c69e2fc2e6cda17c79bd36177aa5",
"name": "Remotecontrolled",
"version": "3.2.0.35489",
"config": {
"device_screen_width": 1080,
"device_screen_height": 2160
},
"type": 1,
"suffix": "IP",
"upgrade_version": "3.1.0.30975",
"create_time": 1624473749
}
},
{
"customize_id": 13917,
"user_id": 12564122,
"app_name": "远程被控",
"eng_name": "Remotecontrolled",
"bg_color": "#58B1AD",
"client": "SLRC_WINDOWS_ENTERPRISE",
"path": "http://std-fe.sl.oraybeta.com/upload/rawosfs?type=sl-win-slcc&name=3905a8738537f7dc95bee2fe35b213f0&key=123456",
"options": {
"is_screen": true,
"hide_fastcode": true,
"hide_authcode": true,
"buy_service": true,
"fastcode": true,
"domain_access": true,
"uu": true,
"wakeup": true
},
"package_id": 636,
"status": 1,
"package_name": "Remotecontrolled",
"version": "3.2.0.35490",
"create_time": 1624432695,
"upgrade_version": "3.2.0.35489",
"package": {
"package_id": 636,
"user_id": 12564122,
"deploy_key": "b098681a359a725dbd17c02ac4a6ac84",
"name": "Remotecontrolled",
"version": "3.2.0.35489",
"config": {
"auto_run": true,
"login_password": "1",
"disable_control": true,
"disable_clipboard": true,
"disable_file": true,
"disable_print": true,
"disable_camera": true,
"disable_cmd": true,
"disable_harasscode": true,
"login_password_encry": "SEvLd2k7zyY=",
"remote_check_mobile": true
},
"type": 1,
"suffix": "MAC",
"upgrade_version": "3.1.0.30975",
"create_time": 1624432695,
"remote_num": 4
},
"is_x64": true
},
{
"customize_id": 13916,
"user_id": 12564122,
"app_name": "远程被控",
"eng_name": "RemoteDevice",
"bg_color": "#FF6638",
"client": "SLRC_LINUX",
"path": "http://std-fe.sl.oraybeta.com/upload/rawosfs?type=sl-win-slcc&name=8092feb1e505c1ca02f67618ed9710a4&key=123456",
"options": {
"buy_service": true,
"fastcode": true,
"mobile_projection": true,
"wakeup": true
},
"package_id": 635,
"status": 1,
"package_name": "RemoteDevice",
"version": "3.2.0.38604",
"create_time": 1624432612,
"upgrade_version": "3.2.0.36662",
"package": {
"package_id": 635,
"user_id": 12564122,
"deploy_key": "1c4b3396926b51a82615f44ced3c6520",
"name": "RemoteDevice",
"version": "3.2.0.35489",
"config": {
"auto_run": true,
"login_password": "1",
"login_password_encry": "SEvLd2k7zyY="
},
"type": 1,
"suffix": "HOSTNAME",
"upgrade_version": "3.1.0.30975",
"create_time": 1624432612,
"remote_num": 1
},
"is_x64": true,
"os_name": "kylin",
"platform": "arm"
},
{
"customize_id": 13915,
"user_id": 12564122,
"app_name": "远程被控",
"eng_name": "RemoteDevice",
"bg_color": "#FF6638",
"client": "SLRC_LINUX",
"path": "http://std-fe.sl.oraybeta.com/upload/rawosfs?type=sl-win-slcc&name=84688d7b33a3eb83cf8b6003da252d57&key=123456",
"options": {
"fastcode": true,
"is_embed": true
},
"package_id": 634,
"status": 1,
"package_name": "RemoteDevice",
"version": "3.2.0.38604",
"create_time": 1624432502,
"upgrade_version": "3.2.0.36662",
"package": {
"package_id": 634,
"user_id": 12564122,
"deploy_key": "4aebe213dc11993e5496a8d3f13af5d6",
"name": "RemoteDevice",
"version": "3.2.0.35489",
"config": {
"auto_run": true,
"login_password": "1",
"login_password_encry": "SEvLd2k7zyY="
},
"type": 1,
"suffix": "MAC",
"upgrade_version": "3.1.0.30975",
"create_time": 1624432502,
"remote_num": 1
},
"is_x64": true,
"os_name": "uos",
"platform": "arm"
}
]
Path: /customizes/:customizeid
Method: GET
接口描述:
创建完定制后,开始轮旋此接口,当获取到path 有下载路径的时候正常安装包已经打出来
路径参数
| 参数名称 | 示例 | 备注 |
| ------------ | ------------ | ------------ | ------------ | ------------ |
| customizeid | | |
Query
| 参数名称 | 是否必须 | 示例 | 备注 |
|---|---|---|---|
| upgrade_version | 是 | 1.1.0 | 升级版本号 |
{
"customize_id": 619,
"user_id": 12564122,
"app_name": "测试客户端定制88",
"eng_name": "test",
"bg_color": "666666",
"client": "SLRC_ANDROID",
"options": {
"ctrl_control": true,
"ctrl_camera": true,
"uu_pro": true
},
"package_id": 828,
"package_name": "RemoteControl",
"version": "5.0.0.29520",
"create_time": 1622071460,
"upgrade_version": "5.0.0.29520",
"package": {
"package_id": 828,
"user_id": 12564122,
"deploy_key": "a2001ea2b04232220a53171a8f38069a",
"name": "Remote",
"prefix": "aaa",
"version": "3.1.0.30975",
"config": {
"auto_run": true,
"login_password": "123456",
"login_password_encry": "gFjC7qBWrv0=",
"accept_request_need_pwd": true,
"is_image_quality": true,
"is_device_screen": true,
"disable_chat" : true // 禁止桌面控制时使用聊天功能
},
"type": 1,
"tag_ids": [
1,
2
],
"suffix": "HOSTNAME",
"upgrade_version": "3.1.0.30975",
"create_time": 1622071460,
"update_time": 1582082569,
"remote_num": 11, // 部署设备总数
"less_version_remote_num": 11, // 待升级设备数
}
}
Path: /customizes/upgrade-logs/:client
Method: GET
接口描述:
SLCC_WINDOWS 定制Windows主控
SLRC_WINDOWS_ENTERPRISE 定制Windows被控客户端企业版
SLRC_ANDROID 定制Andord被控
SLCC_ANDROID 定制Andorid主控
SLRC_LINUX" 定制linux被控
路径参数
| 参数名称 | 示例 | 备注 |
| ------------ | ------------ | ------------ | ------------ | ------------ |
| client | | |
{
"logs": [
"11111111",
"222222"
]
}
Path: /customizes-limit
Method: GET
接口描述:
{
"slcc_windows": true,
"slrc_windows_enterprise": true,
"slrc_android": true,
"slcc_android": true,
"slrc_linux": true,
"max_num": 10 // 最大可定制数量
}
Path: /customizes/access-password/:customizeid
Method: GET
接口描述:
需二次身份验证
路径参数
| 参数名称 | 示例 | 备注 |
| ------------ | ------------ | ------------ | ------------ | ------------ |
| customizeid | 123 | 定制包ID |
Query
| 参数名称 | 是否必须 | 示例 | 备注 |
|---|---|---|---|
| type | 否 | 0 | 验证类型 0:手机邮箱,1:帐号密码 |
{
"login_password": "", // 明文
"login_password_encry": "" // 密文
}
Path: /log-v2/controlled_1666856022018
Method: GET
接口描述:
Response Headers
Content-Range: row offset-limit/total
event的值对应事件:
newcamera 摄像头
desktop 桌面控制
file 远程文件
camera 远程摄像头
cmd 就是cmd
logon 上线
logout 下线
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Authorization | 是 | Bearer xxx | 授权信息 | |
| Query |
| 参数名称 | 是否必须 | 示例 | 备注 |
|---|---|---|---|
| starttime | 否 | 2020-12-01 | 筛选日志开始时间 |
| endtime | 否 | 2020-12-31 | 筛选日志结束时间 |
| offset | 是 | 页数 * limit | |
| limit | 是 | 50 | 每页数量 |
| cc_userid | 否 | 12500512 | 主控帐号id |
| rc_userid | 否 | 12500512 | 被控帐号id |
| rc_name | 否 | 被控主机名 | |
| event | 否 | 事件('desktop','file','camera','cmd','login','logout') |
[
{
"cc_userid": 12500512, // 控制端帐号id
"cc_account":"mr***07", // 控制端账号
"cc_version": "10.5.0", // 控制端版本号
"cc_os": "windows", // 控制端系统
"cc_osversion": "10.0", // 控制端系统版本
"cc_hostname": "hahaha", // 控制端系统帐号名
"cc_mac": "BC***72", // 控制端mac
"cc_ip": "192.168.0.0", // 控制端ip
"cc_mobile": "0", // 手机号
"cc_fastcode": "123456789", // 快码
"rc_remote": "123456789", // 快码/ 主机id
"rc_userid": 37, // 被控帐号id
"rc_account": "mr***07", // 被控账号
"rc_version": "11.0.0.0", // 被控版本号
"rc_ip": "192.168.0.0", // 被控ip
"rc_os": "windows", // 被控系统
"rc_pcname": "oray", // 被控系统帐号名
"rc_name": "oraytest011", // 被控主机名
"rc_mac": "BC***72", // 被控mac
"event": "remote", // 远控事件标识,对应值见备注
"start_time": 1608094073, // 远控开始时间戳
"end_time": 1608094073, // 远控结束时间戳
"start_time_str": "2020-12-16 10:00:00",// 远控开始时间字符串
"end_time_str": "2020-12-16 11:00:00", // 远控结束时间字符串
}
]
Path: /log-v2
Method: GET
接口描述:
Response Headers
Content-Range: row offset-limit/total
event的值对应事件:
desktop 桌面控制
file 远程文件
camera 远程摄像头
cmd 就是cmd
logon 上线
logout 下线
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Authorization | 是 | Bearer xxx | 授权信息 | |
| Query |
| 参数名称 | 是否必须 | 示例 | 备注 |
|---|---|---|---|
| starttime | 否 | 2020-12-01 | 筛选日志开始时间 |
| endtime | 否 | 2020-12-31 | 筛选日志结束时间 |
| offset | 是 | 页数 * limit | |
| limit | 是 | 50 | 每页数量 |
| cc_userid | 否 | 12500512 | 主控帐号id |
| rc_userid | 否 | 12500512 | 被控帐号id |
| rc_name | 否 | 被控主机名 | |
| event | 否 | 事件('desktop','file','camera','cmd','login','logout') |
[
{
"cc_userid": 12500512, // 控制端帐号id
"cc_account":"mr***07", // 控制端账号
"cc_version": "10.5.0", // 控制端版本号
"cc_os": "windows", // 控制端系统
"cc_osversion": "10.0", // 控制端系统版本
"cc_hostname": "hahaha", // 控制端系统帐号名
"cc_mac": "BC***72", // 控制端mac
"cc_ip": "192.168.0.0", // 控制端ip
"cc_mobile": "0", // 手机号
"cc_fastcode": "123456789", // 快码
"rc_remote": "123456789", // 快码/ 主机id
"rc_userid": 37, // 被控帐号id
"rc_account": "mr***07", // 被控账号
"rc_version": "11.0.0.0", // 被控版本号
"rc_ip": "192.168.0.0", // 被控ip
"rc_os": "windows", // 被控系统
"rc_pcname": "oray", // 被控系统帐号名
"rc_name": "oraytest011", // 被控主机名
"rc_mac": "BC***72", // 被控mac
"plugin": "remote", // 远控事件标识,对应值见备注
"event": "remote", // 远控事件标识,对应值见备注
"start_time": 1608094073, // 远控开始时间戳
"end_time": 1608094073, // 远控结束时间戳
"start_time_str": "2020-12-16 10:00:00",// 远控开始时间字符串
"end_time_str": "2020-12-16 11:00:00", // 远控结束时间字符串
}
]
Path: /service-log
Method: GET
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Authorization | 是 | Bearer xxx | 授权信息 | |
| Query |
| 参数名称 | 是否必须 | 示例 | 备注 |
|---|---|---|---|
| create_time | 否 | 2021-05-18 00:30:05,2021-05-19 00:30:05 | 筛选日志结束时间 |
| offset | 是 | 页数 * limit | |
| limit | 是 | 50 | 每页数量 |
| user_id | 否 | 12500512 | 用户id |
[
{
"user_id": 39065284, // oray帐号id & 企业子账号id
"account":"账***号", // oray帐号 & 企业子账号
"entid":1, // 企业ID
"memo": "硬件信息查询", // 对象
"input": "{\"os\":\"windows\",\"limit\":10,\"sort\":{\"id esc\":\"ASC\"},\"UserId\":39065284,\"client_ip\":\"127.0.0.1\"}", // // 详情
"operation": 1, // 操作类型
"operation_str": "查询", // 操作类型
"result": 1, // 结果
"result_str": "成功", // 结果
"ip": "127.0.0.1", // ip
"create_time": 1660031474, // 数据生成时间
"access_source": "web" // 来源
}
]
Path: /file-log
Method: GET
接口描述:
file_transfer_status
文件传输进度(1 取消,2 完成, 3未完成)
file_transfer_type
文件传输方向(1 主控->被控, 2 被控->主控)
start_time
文件开始传输时间
ent_time
文件结束传输时间
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/json | 是 | ||
| Authorization | 是 | Bearer eyJhbGciOiJIUzUxMiIsInIiOjIyODE2MjQ1MjIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2NjY2NjkzNjcsImlzYSI6MTY2NjY2NzU2NywiaXNzIjoieWFuZzIwMDIzIiwicm9sZSI6NCwidWlkIjo1MzYwNzEwOSwic2VyIjoiYXV0aC12Mi5vcmF5LmNvbSIsIm5zIjoidXNlciJ9.yMReeJOsqr3CN9DTxQYPvYn5jz4JRtxTnscvE4t9kNBW5185cLwwedCaqD97WvWTyhkKlVJCpqZVgoPLVAZspg | 授权信息 | |
| Query |
| 参数名称 | 是否必须 | 示例 | 备注 |
|---|---|---|---|
| starttime | 是 | 2020-12-01 | 筛选日志开始时间 |
| endtime | 是 | 2020-12-31 | 筛选日志结束时间 |
| offset | 是 | 20 | 页数 * limit |
| limit | 是 | 20 | 每页数量 |
| keyword | 是 | nihaoo | 关键字查询 |
| remote_id | 是 | 34356 | 主机id |
| Body |
{
"file": "文件名",
"file_md5": "文件名",
"file_transfer_status": 1,
"file_transfer_type": 1,
"cc_file_path": "主控端文件路径",
"cc_userid": 123456,
"cc_account": "主控端账号",
"cc_remote_id": 123123,
"cc_fastcode": "k24242",
"cc_version": "主控版本号",
"cc_os": "主控系统",
"cc_osversion": "主控操作系统版本",
"cc_pcname": "主控端设备名",
"cc_name": "主控端设备备注名(自定义主机名)",
"cc_mac": "主控mac",
"rc_file_path": "被控端文件路径",
"rc_userid": 123456,
"rc_account": "被控端账号",
"rc_remote_id": 123,
"rc_fastcode": "被控识别码",
"rc_version": "被控版本号",
"rc_os": "被控系统",
"rc_osversion": "被控系统版本",
"rc_pcname": "被控端设备名",
"rc_name": "被控端设备备注名(自定义主机名)",
"rc_mac": "被控mac",
"start_time": 1666580862,
"ent_time": 1666580962,
"entid": 1,
"entuserid": 1267,
"entuserid_account": "企业子帐号名",
"operate_id": 123456,
"operate_account": "操作者账号"
}
[
{
"file": "文件名",
"file_md5": "文件名",
"file_transfer_status": 1,
"file_transfer_type": 1,
"cc_file_path": "主控端文件路径",
"cc_userid": 123456,
"cc_account": "主控端账号",
"cc_remote_id": 123123,
"cc_fastcode": "k24242",
"cc_version": "主控版本号",
"cc_os": "主控系统",
"cc_osversion": "主控操作系统版本",
"cc_pcname": "主控端设备名",
"cc_name": "主控端设备备注名(自定义主机名)",
"cc_mac": "主控mac",
"rc_file_path": "被控端文件路径",
"rc_userid": 123456,
"rc_account": "被控端账号",
"rc_remote_id": 123,
"rc_fastcode": "被控识别码",
"rc_version": "被控版本号",
"rc_os": "被控系统",
"rc_osversion": "被控系统版本",
"rc_pcname": "被控端设备名",
"rc_name": "被控端设备备注名(自定义主机名)",
"rc_mac": "被控mac",
"start_time": 1666580862,
"ent_time": 1666580962,
}
]
Path: /logs/slrc
Method: GET
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Authorization | 是 | Bearer xxx | 授权信息 | |
| Query |
| 参数名称 | 是否必须 | 示例 | 备注 |
|---|---|---|---|
| create_time | 否 | 2021-05-18 00:30:05,2021-05-19 00:30:05 | 创建时间,以英文逗号分隔 |
| offset | 是 | 0 | 页数 * limit |
| limit | 是 | 10 | 每页数量 |
| remoteid | 否 | 535205804 | 主机ID或快码 |
| type | 是 | mac | 应用类型:Windows、mac、android、linux 、oraykvm |
| sort | 否 | createtime asc/createtime desc | 排序 默认 createtime desc |
[
{
"user_id": 32847804, // 用户ID
"remote_id": 535205804, // 主机ID或快码
"event": "remote_login", // 事件:remote_login上线,remote_logout下线
"controlinfo": "{}", // 主控端信息
"clientinfo": "{\"ip\":\"120.202.67.147\",\"pcname\":\"rockchip rk3288\",\"version\":\"3.12.22.31356\",\"name\":\"8寸终端\",\"os\":\"android\"}", // 被控端信息
"create_time": 1621269903, // 创建时间
"create_time_str": "2021-05-18 00:45:03", // 创建时间
"controlip":"192.168.0.102" // 主控IP
},
{
"user_id": 32847804,
"remote_id": 535205804,
"event": "remote_login",
"controlinfo": "{}",
"clientinfo": "{\"ip\":\"120.202.67.147\",\"pcname\":\"rockchip rk3288\",\"version\":\"3.12.22.31356\",\"name\":\"8寸终端\",\"os\":\"android\"}",
"create_time": 1621269903,
"create_time_str": "2021-05-18 00:45:03"
}
]
Path: /logs/client
Method: GET
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Authorization | 是 | Bearer xxx | 授权信息 | |
| Query |
| 参数名称 | 是否必须 | 示例 | 备注 |
|---|---|---|---|
| create_time | 否 | 2021-05-18 00:30:05,2021-05-19 00:30:05 | 创建时间,以英文逗号分隔 |
| offset | 是 | 0 | 页数 * limit |
| limit | 是 | 10 | 每页数量 |
| remoteid | 否 | 535205804 | 主机ID或快码 |
| type | 是 | mac | 应用类型:Windows、mac、android、linux 、oraykvm、ios |
| sort | 否 | createtime asc/createtime desc | 排序 默认 createtime desc |
[
{
"user_id": 324520, // 用户ID
"account": "ya***02", // 用户名称
"remote_id": 719640465, // 主机ID
"fastcode": "361823019", // 快码
"os": "Windows", // 系统
"ip": "113.206.1.7", // ip
"state": 1, // 1上线,0下线
"pcname": "SKY-20201125GUW",
"name": "SKY-20201125GUW",
"create_time": "2021-07-17 11:35:54" // 登录时间
},
{
"user_id": 324520,
"account": "ya***02", // 用户名称
"remote_id": 719640465,
"fastcode": "361823019",
"os": "Windows",
"pcname": "SKY-20201125GUW",
"name": "SKY-20201125GUW",
"state": 1,
"create_time": "2021-07-17 11:32:54"
}
]
Path: /logs/controlled
Method: GET
接口描述:
Response Headers
Content-Range: row offset-limit/total
event的值对应事件:
desktop 桌面控制
file 远程文件
camera 远程摄像头
cmd 就是cmd
logon 上线
logout 下线
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Authorization | 是 | Bearer xxx | 授权信息 | |
| Query |
| 参数名称 | 是否必须 | 示例 | 备注 |
|---|---|---|---|
| starttime | 否 | 2020-12-01 | 筛选日志开始时间 |
| endtime | 否 | 2020-12-31 | 筛选日志结束时间 |
| offset | 是 | 页数 * limit | |
| limit | 是 | 50 | 每页数量 |
| cc_userid | 否 | 12500512 | 主控帐号id |
| rc_userid | 否 | 12500512 | 被控帐号id |
| rc_name | 否 | 被控主机名 | |
| event | 否 | 事件('desktop','file','camera','cmd','login','logout') |
{
"logs": [
{
"cc_userid": 12500512, // 控制端帐号id
"cc_version": "10.5.0", // 控制端版本号
"cc_os": "windows", // 控制端系统
"cc_osversion": "10.0", // 控制端系统版本
"cc_hostname": "hahaha", // 控制端系统帐号名
"cc_mac": "00:00:00:00:00:00", // 控制端mac
"cc_ip": "192.168.0.0", // 控制端ip
"cc_mobile": "0", // 手机号
"cc_fastcode": "123456789", // 快码
"rc_remote": "123456789", // 快码/ 主机id
"rc_userid": 37, // 被控帐号id
"rc_version": "11.0.0.0", // 被控版本号
"rc_ip": "192.168.0.0", // 被控ip
"rc_os": "windows", // 被控系统
"rc_pcname": "oray", // 被控系统帐号名
"rc_name": "oraytest011", // 被控主机名
"rc_mac": "00:00:00:00:00:00", // 被控mac
"event": "remote", // 远控事件标识,对应值见备注
"starttime": 1608094073, // 远控开始时间戳
"endtime": 1608094073, // 远控结束时间戳
"starttimestr": "2020-12-16 10:00:00",// 远控开始时间字符串
"endtimestr": "2020-12-16 11:00:00", // 远控结束时间字符串
"video_url": "xxx", // 下载地址
"video_status": 2, //录像合并状态 0初始 1成功 2合并中 3失败
"video_count": 0, //录像碎片数,大于0标识有录像
}
]
}
Path: /logs
Method: GET
接口描述:
Response Headers
Content-Range: row offset-limit/total
event的值对应事件:
desktop 桌面控制
file 远程文件
camera 远程摄像头
cmd 就是cmd
logon 上线
logout 下线
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Authorization | 是 | Bearer xxx | 授权信息 | |
| Query |
| 参数名称 | 是否必须 | 示例 | 备注 |
|---|---|---|---|
| starttime | 否 | 2020-12-01 | 筛选日志开始时间 |
| endtime | 否 | 2020-12-31 | 筛选日志结束时间 |
| offset | 是 | 页数 * limit | |
| limit | 是 | 50 | 每页数量 |
| cc_userid | 否 | 12500512 | 主控帐号id |
| rc_userid | 否 | 12500512 | 被控帐号id |
| rc_name | 否 | 被控主机名 | |
| event | 否 | 事件('desktop','file','camera','cmd','login','logout') |
{
"logs": [
{
"cc_userid": 12500512, // 控制端帐号id
"cc_version": "10.5.0", // 控制端版本号
"cc_os": "windows", // 控制端系统
"cc_osversion": "10.0", // 控制端系统版本
"cc_hostname": "hahaha", // 控制端系统帐号名
"cc_mac": "00:00:00:00:00:00", // 控制端mac
"cc_ip": "192.168.0.0", // 控制端ip
"cc_mobile": "0", // 手机号
"cc_fastcode": "123456789", // 忽略
"rc_remote": "123456789", // 忽略
"rc_userid": 37, // 被控帐号id
"rc_version": "11.0.0.0", // 被控版本号
"rc_ip": "192.168.0.0", // 被控ip
"rc_os": "windows", // 被控系统
"rc_pcname": "oray", // 被控系统帐号名
"rc_name": "oraytest011", // 被控主机名
"rc_mac": "00:00:00:00:00:00", // 被控mac
"event": "remote", // 远控事件标识,对应值见备注
"starttime": 1608094073, // 远控开始时间戳
"edntime": 1608094073, // 远控结束时间戳
"starttimestr": "2020-12-16 10:00:00",// 远控开始时间字符串
"endtimestr": "2020-12-16 11:00:00", // 远控结束时间字符串
"video_url": "xxx", // 下载地址
"video_status": 2, //录像合并状态 0初始 1成功 2合并中 3失败
"video_count": 0, //录像碎片数,大于0标识有录像
"video_type":1, // 视频类型 1:主控 2:被控 3:主被控
}
]
}
Path: /file-log
Method: POST
接口描述:
file_transfer_status
文件传输进度(1 取消,2 完成, 3未完成)
file_transfer_type
文件传输方向(1 主控->被控, 2 被控->主控)
start_time
文件开始传输时间
ent_time
文件结束传输时间
// 和远控日志一样,主控可以拿到企业账号,
entid
企业ID
entuserid
企业子帐号ID
entuserid_account
企业子帐号名
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/json | 是 | ||
| Authorization | 是 | Bearer eyJhbGciOiJIUzUxMiIsInIiOjIyODE2MjQ1MjIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2NjY2NjkzNjcsImlzYSI6MTY2NjY2NzU2NywiaXNzIjoieWFuZzIwMDIzIiwicm9sZSI6NCwidWlkIjo1MzYwNzEwOSwic2VyIjoiYXV0aC12Mi5vcmF5LmNvbSIsIm5zIjoidXNlciJ9.yMReeJOsqr3CN9DTxQYPvYn5jz4JRtxTnscvE4t9kNBW5185cLwwedCaqD97WvWTyhkKlVJCpqZVgoPLVAZspg | 授权信息 | |
| Body |
{
"file": "文件名",
"file_md5": "文件名",
"file_transfer_status": 1,
"file_transfer_type": 1,
"cc_file_path": "主控端文件路径",
"cc_userid": 123456,
"cc_account": "主控端账号",
"cc_remote_id": 123123,
"cc_fastcode": "k24242",
"cc_version": "主控版本号",
"cc_os": "主控系统",
"cc_osversion": "主控操作系统版本",
"cc_pcname": "主控端设备名",
"cc_name": "主控端设备备注名(自定义主机名)",
"cc_mac": "主控mac",
"rc_file_path": "被控端文件路径",
"rc_userid": 123456,
"rc_account": "被控端账号",
"rc_remote_id": 123,
"rc_fastcode": "被控识别码",
"rc_version": "被控版本号",
"rc_os": "被控系统",
"rc_osversion": "被控系统版本",
"rc_pcname": "被控端设备名",
"rc_name": "被控端设备备注名(自定义主机名)",
"rc_mac": "被控mac",
"start_time": 1666580862,
"ent_time": 1666580962,
"entid": 1,
"entuserid": 1267,
"entuserid_account": "企业子帐号名",
"sid": "1606406448416"
}
Path: /remotes/:remoteid/shares
Method: DELETE
接口描述:
204
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/x-www-form-urlencoded | 是 | ||
| 路径参数 | ||||
| 参数名称 | 示例 | 备注 | ||
| ------------ | ------------ | ------------ | ------------ | ------------ |
| remoteid | ||||
| Query |
| 参数名称 | 是否必须 | 示例 | 备注 |
|---|---|---|---|
| userid | 是 | 1 |
Path: /remotes/:remoteid/shares
Method: GET
接口描述:
路径参数
| 参数名称 | 示例 | 备注 |
| ------------ | ------------ | ------------ | ------------ | ------------ |
| remoteid | | |
[
{
"user_id": 1,
"host_modules": [
"desktop",
"desktopview"
]
}
]
Path: /remoteshares
Method: POST
接口描述:
此接口兼容批量创建、批量删除共享主机功能。
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/json | 是 | ||
| Authorization | 是 | Bearer xxx | ||
| Body |
{
"method": "DELETE", // 值有 DELETE, POST (POST代表批量创建) DELETE请附传delete数组,POST请附传create数组
"expiredate": "2021-05-25 14:00:00", // 共享过期时间,无时间限制传空
"is_tag":true, // 是否共享标签
"delete": [
{
"remote_id": 261737855,
"user_id": 5
},
{
"remote_id": 261737855,
"user_id": 3
}
],
"create": [
{
"remote_id": 261737855,
"user_id":1,
"account": "zhangsan", // 共享主机给别人支持传account,在没有传user_id的情况会去读取account
"host_modules":[
"desktop",
"desktopview"
]
}
]
}
{
"111:333":{ // 111 => remoteid; 333 => userid; 如果新增提交的是account; 333 => 代表account
"error":"module/some_error",
"message":"error messasges"
}
}
Path: /remotes/:remoteid/shares
Method: POST
接口描述:
host_modules | ||
|---|---|---|
| desktop | 桌面控制 | |
| desktopview | 桌面观看 | |
| camera | 远程摄像头 | |
| file | 远程文件 | |
| cmd-ssh | CMD/SSH | |
| remote | 远控管理 | |
| all | 有all代表所有的功能 |
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/json | 是 | ||
| 路径参数 | ||||
| 参数名称 | 示例 | 备注 | ||
| ------------ | ------------ | ------------ | ------------ | ------------ |
| remoteid | ||||
| Body |
{
"account" : "test", // 支持account或者user_id。
"user_id":1,
"is_tag":true, // 是否共享标签
"host_modules":[
"desktop",
"desktopview"
]
}
201
Path: /remotes/:remoteid/extend
Method: POST
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/json | 是 | ||
| 路径参数 | ||||
| 参数名称 | 示例 | 备注 | ||
| ------------ | ------------ | ------------ | ------------ | ------------ |
| remoteid | 456 | 设备id | ||
| Body |
{
"remoteid": 456, //仅更新备注名 传-1
"userid": 11111, //被分享uid
"ownerid": 2222, //所属uid
"remark": "备注名", // 账号备注名
"expiredate": "2021-05-01 20:00:00" // 过期时间 修改不限制过期 传字符串"-1"
}
Path: /remoteshares/share/users
Method: GET
接口描述:
Query
| 参数名称 | 是否必须 | 示例 | 备注 |
|---|---|---|---|
| remote_ids | 是 | 123,456 |
{
// 主机ID
"123456789": [123, 456]
}
Path: /remoteshares/:userid
Method: GET
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Authorization | 是 | Bearer xxx | ||
| 路径参数 | ||||
| 参数名称 | 示例 | 备注 | ||
| ------------ | ------------ | ------------ | ------------ | ------------ |
| userid | 1 | |||
| Query |
| 参数名称 | 是否必须 | 示例 | 备注 |
|---|---|---|---|
| limit | 是 | 20 | |
| offset | 是 | 0 | |
| keyword | 是 | 关键字 |
[
{
"remote_id": 815635619,
"mac": "E4:54:E8:BF:09:DF",
"license_code": "b10d-1feb-5ae7-9997",
"owner_id": 41173496,
"create_time": 1639038404,
"statuscode": 2755,
"info": {
"remote_id": 815635619,
"name": "Pc-202107191529",
"pc_name": "Pc-202107191529",
"cpu": "Intel(R) Core(TM) i3-9100 CPU @ 3.60GHz",
"memory": "8028MB",
"os_name": "Microsoft Windows 10",
"base_board": "Dell Inc. 0YD74F",
"disk_drive": "SanDisk SSD PLUS 120 GB",
"video_controller": "Intel(R) UHD Graphics 630",
"network_adapter": "Realtek PCIe GbE Family Controller",
"versioncode": "42471",
"version": "3.2.1.42471",
"tag_ids": "192",
"configmodifiedtime": 1640326713,
"os": "Microsoft Windows 10"
},
"user": {
"user_id": 35581509,
"remote_id": 815635619,
"host_modules": [
"desktop",
"desktopview",
"camera",
"file",
"cmd-ssh"
]
}
}
]
Path: /remoteshares
Method: GET
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Authorization | 是 | Bearer xx |
{
"2": { // userid
"remote_users": [
{
"user_id": 2,
"account": "oraytest052",
"remote_id": 261737714, // remoteid
"host_modules": [
"desktop",
"desktopview"
]
}
],
"total": 1 // 总数
},
"3": {
"remote_users": [
{
"user_id": 3,
"account": "oraytest052",
"remote_id": 261737714,
"host_modules": [
"desktop",
"desktopview"
]
},
{
"user_id": 3,
"account": "oraytest052",
"remote_id": 261737715,
"host_modules": [
"desktop",
"desktopview"
]
}
],
"total": 2
}
}
Path: /system/smstemplates/:configtype
Method: POST
接口描述:
此处为批量保存短信模板ID
| type | 定义 | 备注 (仅仅备注作用) |
|---|---|---|
| auth | 验证码模板 | |
| mfa | 多因子认证 | mfa => MULTI FACTOR AUTH (缩写|全写) |
| monitoring | 监控预警 | |
| roto | 主机上下线 | roto => REMOTE ONLINE TO OFFLINE(缩写|全写) |
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/json | 是 | ||
| 路径参数 | ||||
| 参数名称 | 示例 | 备注 | ||
| ------------ | ------------ | ------------ | ------------ | ------------ |
| configtype | aliyun | 短信配置的类型 | ||
| Body |
[
{
"type": "auth",
"content": "测试验证码模板",
"template_code": "aliyun_123488"
}
]
[
{
"type":"auth", // 模板类型
"content":"测试验证码模板", // 模板内容
"template_code":"aliyun_123488" // 模板ID
}
]
Path: /system/sms
Method: POST
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/json | 是 | ||
| Body |
{
"type":"", // 短信配置网关类型;aliyun =》 阿里云短信服务
"access_key_id":"", // AccessKey ID
"access_key_secret":"", // AccessKey Secret
"sign_name":"" // 短信签名
}
Path: /system/mail
Method: POST
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/json | 是 | ||
| Body |
{
"host":"", // 邮件服务器
"port":"", // 邮件发送端口
"username":"", // 用户名
"password":"", // 验证密码
"email":"" // 发送人邮箱
}
<a id=开启短信/邮箱/周报配置【敏感操作】>
Path: /system/base
Method: POST
接口描述:
周报配置开启取决于邮箱是否配置/是否开启,针对返回错误信息:
code:system/mailconfig_not_configured
message:mail not configured
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/json | 是 | ||
| Body |
{
"type":"", // sms =》 短信,mail => 邮箱,weekly => 周报
"is_open":true // true or false 开启、关闭
}
<a id=获取是否开启短信/邮箱配置>
Path: /system/bases
Method: GET
接口描述:
[
{
// 短信发送
"type": "sms",
"is_open": true
},
{
// 邮箱发送
"type": "mail",
"is_open": true
},
{
// 周报发送
"type": "weekly",
"is_open": true
}
]
Path: /system/smstemplates
Method: GET
接口描述:
Query
| 参数名称 | 是否必须 | 示例 | 备注 |
|---|---|---|---|
| configtype | 是 | aliyun | 短信配置类型 |
[
{
"type": "auth",
"content": "测试验证码模板",
"template_code": "aliyun_123488"
}
]
Path: /system/sms/:type
Method: GET
接口描述:
路径参数
| 参数名称 | 示例 | 备注 |
| ------------ | ------------ | ------------ | ------------ | ------------ |
| type | | |
{
"type":"", // 短信配置网关类型;aliyun =》 阿里云短信服务
"access_key_id":"", // AccessKey ID
"access_key_secret":"", // AccessKey Secret
"sign_name":"" // 短信签名
}
Path: /system/mail/:type
Method: GET
接口描述:
路径参数
| 参数名称 | 示例 | 备注 |
| ------------ | ------------ | ------------ | ------------ | ------------ |
| type | smtp | 现在只有smtp |
{
"type":"smtp",
"host":"", // 邮件服务器
"port":"", // 邮件发送端口
"username":"", // 用户名
"password":"", // 验证密码
"email":"" // 发送人邮箱
}
Path: /verification/sendcode
Method: POST
接口描述:
成功返回 201 状态码
| type | 定义 | |
|---|---|---|
| auth | 验证码模板 | |
| mfa | 多因子认证 | |
| monitoring | 监控预警 | |
| roto | 主机上下线 |
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/json | 是 | ||
| Body |
{
"type":"", // 多因子验证、
"method":"", // mobile、 email
"target":"" // 请传电话号码或者邮箱地址
}
Path: /security/checkcode
Method: PUT
接口描述:
校验成功将返回token
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/json | 是 | ||
| Body |
{
"method":"", // mobile or email
"code":"", // 验证码 123456
"account":""
}
{
"access_token": "eyJhbGciOiJIUzUxMiIsInIiOjI5MjU1MDY0NjgsInR5cCI6IkpXVCJ9.eyJleHAiOjE2MDEzNzQ1NzUsImlzYSI6MTYwMTM3MDk3NSwiaXNzIjoiYWRtaW4iLCJyb2xlIjo0LCJ1aWQiOjYsIm5zIjoiYXdlcmF5In0.OaAUlzaa7lmEVLs_dfFeqZDemmE4VRt5VGppbUQ0SUWXwyp7NOgbyfCI6RLsLItK5chlkh42DW4aFEAmZAX_Gw",
"refresh_token": "X3L7X1+aiF8AAAAUUXpadGZUTEtnSjFBQVJ6cEpnV0Z1aFZuUGc3MEV0WWlLRkVFc1hHTzNRPT0=",
"refresh_ttl": 2592000
}
Path: /security/sendcode
Method: POST
接口描述:
成功返回 201 状态码
| type | 定义 | |
|---|---|---|
| auth | 验证码模板 | |
| mfa | 多因子认证 | |
| monitoring | 监控预警 | |
| roto | 主机上下线 |
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/json | 是 | ||
| Body |
{
"method":"", // mobile、 email
"account":"", // 帐号
"password": "" // 密码
}
Path: /verification/checkcode
Method: PUT
接口描述:
校验成功返回200状态码,其他均为错误
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/json | 是 | ||
| Body |
{
"type":"", // 类型
"method":"", // mobile or email
"target":"", // 手机号码 or 邮箱
"code":"" // 验证码 123456
}
Path: /security
Method: PUT
接口描述:
response statuscode: 201
body里面参数可以不传,则不会修改当前的值
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/json | 是 | ||
| Authorization | 是 | Bearer xxx | ||
| Body |
{
"isvalid": 1, // 是否开启因子验证
"type": 1, // 认证方式(按位与运算):1短信,2邮件,3短信&邮件
"mac_type": 1, // mac地址限制类型:1黑名单、2白名单
"ip_type": 0, // ip地址限制类型:1黑名单、2白名单
"schedule_type": 0, // 登录时间限制类型:1允许、2不允许
"session_ttl": 10 // 单次登录会话过期时间,单位min
}
Path: /security/ip/:id
Method: DELETE
接口描述:
response statuscode 204
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/x-www-form-urlencoded | 是 | ||
| 路径参数 | ||||
| 参数名称 | 示例 | 备注 | ||
| ------------ | ------------ | ------------ | ------------ | ------------ |
| id | ip列表对应的id |
Path: /security/mac/:id
Method: DELETE
接口描述:
response statuscode 204
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/x-www-form-urlencoded | 是 | ||
| 路径参数 | ||||
| 参数名称 | 示例 | 备注 | ||
| ------------ | ------------ | ------------ | ------------ | ------------ |
| id | 1 | mac地址列表返回的id |
Path: /security/users/:userid
Method: DELETE
接口描述:
response statuscode 204
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/x-www-form-urlencoded | 是 | ||
| 路径参数 | ||||
| 参数名称 | 示例 | 备注 | ||
| ------------ | ------------ | ------------ | ------------ | ------------ |
| userid |
Path: /security/schedule/:id
Method: DELETE
接口描述:
response statuscode 204
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/x-www-form-urlencoded | 是 | ||
| Authorization | 是 | Bearer xxx | ||
| 路径参数 | ||||
| 参数名称 | 示例 | 备注 | ||
| ------------ | ------------ | ------------ | ------------ | ------------ |
| id | 时间段列表返回的id |
Path: /security/user/ip/:id
Method: DELETE
接口描述:
response statuscode 204
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/x-www-form-urlencoded | 是 | ||
| Authorization | 是 | Bearer xxx | ||
| 路径参数 | ||||
| 参数名称 | 示例 | 备注 | ||
| ------------ | ------------ | ------------ | ------------ | ------------ |
| id | ip列表对应的id |
Path: /security/user/mac/:id
Method: DELETE
接口描述:
response statuscode 204
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/json | 是 | ||
| Authorization | 是 | Bearer xxx | ||
| 路径参数 | ||||
| 参数名称 | 示例 | 备注 | ||
| ------------ | ------------ | ------------ | ------------ | ------------ |
| id | mac列表对应的id |
Path: /security/ip
Method: POST
接口描述:
response statuscode 201
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/json | 是 | ||
| Authorization | 是 | Bearer xxx | ||
| Body |
{
"ip": "192.168.30.1", // ip
"desc": "A电脑" // 描述
}
Path: /security/mac
Method: POST
接口描述:
response statuscode 201
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/json | 是 | ||
| Authorization | 是 | Bearer xxx | ||
| Body |
{
"mac": "aa:aa:aa:aa:aa:aa", // mac
"desc": "A电脑" // 描述
}
Path: /security/users
Method: POST
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/json | 是 | ||
| Authorization | 是 | Bearer xxx | ||
| Body |
{
"userid": 1
}
Path: /security/schedule
Method: POST
接口描述:
response statuscode 201
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/x-www-form-urlencoded | 是 | ||
| Authorization | 是 | Bearer xxx |
{
"starttime": "10:00:00",
"endtime": "11:00:00"
}
Path: /security/user/:userid/mac
Method: POST
接口描述:
response statuscode 201
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/json | 是 | ||
| 路径参数 | ||||
| 参数名称 | 示例 | 备注 | ||
| ------------ | ------------ | ------------ | ------------ | ------------ |
| userid | 帐号id | |||
| Body |
{
"mac": "aa:aa:aa:aa:aa:aa", // mac
"desc": "A电脑" // 描述
}
Path: /security/user/:userid/ip
Method: POST
接口描述:
response statuscode 201
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/json | 是 | ||
| 路径参数 | ||||
| 参数名称 | 示例 | 备注 | ||
| ------------ | ------------ | ------------ | ------------ | ------------ |
| userid | 帐号id | |||
| Body |
{
"ip": "192.168.30.1", // ip
"desc": "A电脑" // 描述
}
Path: /security/check-login
Method: GET
接口描述:
多因子验证通过,状态码返回200。不通过则返回401,401时解析body的内容
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Authorization | 是 | Bearer xxx | ||
| Query |
| 参数名称 | 是否必须 | 示例 | 备注 |
|---|---|---|---|
| mac | 是 | 00:00:00:00:00:00 |
// response statuscode 为401时,body:
{
"error": "user/mfa_limit_mac", // 错误代码,见该文档的公共分类。user/mfa_limit_ 开头的
"message": "error messasges",
"data": {
"mobile": "13512341234", // 手机号
"email": "liyutao@oray.com", // 邮箱
"type": 1, // 认证方式(按位与运算):1短信,2邮件,3短信&邮件
}
}
Path: /security/ip
Method: GET
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Authorization | 是 | Bearer xxx |
[
{
"ip": "192.168.30.1",
"desc": "A电脑",
"id": 1
},
{
"ip": "192.168.30.2",
"desc": "B电脑",
"id": 2
}
]
Path: /security/mac
Method: GET
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Authorization | 是 | Bearer xxx |
[
{
"mac": "aa:aa:aa:aa:aa:aa",
"desc": "A电脑",
"id": 1
},
{
"mac": "bb:bb:bb:bb:bb:bb",
"desc": "B电脑",
"id": 2
}
]
Path: /security/users
Method: GET
接口描述:
{
"userids": [3,4,5] // userid 列表
}
Path: /security/schedule
Method: GET
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Authorization | 是 | Bearer xxx |
[
{
"starttime": "10:00:00",
"endtime": "11:00:00",
"id": 1
},
{
"starttime": "10:00:00",
"endtime": "11:00:00",
"id": 2
}
]
Path: /security
Method: GET
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Authorization | 是 | Bearer xxx |
{
"isvalid": 1, // 是否开启因子验证,1 是,2否
"type": 1, // 认证方式(按位与运算):1短信,2邮件,3短信&邮件
"mac_type": 1, // mac地址限制类型:1黑名单、2白名单
"mac_isvalid": 1, // 是否开mac限制:1开启,2关闭
"ip_type": 1, // ip地址限制类型:1黑名单、2白名单
"ip_isvalid": 1, // 是否开ip限制:1开启,2关闭
"schedule_type": 1, // 登录时间限制类型:1允许、2不允许
"schedule_isvalid": 1, // 是否开时间限制:1开启,2关闭
"session_ttl_type": 1, // 单次登录时间设置
"session_ttl": 15, // 单次登录会话过期时间,单位min
"remove_limit": 0 // 解除登录限制,1是,2否
}
Path: /security/user/:userid/ip
Method: GET
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Authorization | 是 | Bearer xxx | ||
| 路径参数 | ||||
| 参数名称 | 示例 | 备注 | ||
| ------------ | ------------ | ------------ | ------------ | ------------ |
| userid | 1 | 帐号id |
[
{
"ip": "192.168.30.1",
"desc": "A电脑",
"id": 1
},
{
"ip": "192.168.30.2",
"desc": "B电脑",
"id": 2
}
]
Path: /security/user/:userid/mac
Method: GET
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Authorization | 是 | Bearer xxx | ||
| 路径参数 | ||||
| 参数名称 | 示例 | 备注 | ||
| ------------ | ------------ | ------------ | ------------ | ------------ |
| userid | 1 | 帐号id |
[
{
"mac": "aa:aa:aa:aa:aa:aa",
"desc": "A电脑",
"id": 1
},
{
"mac": "bb:bb:bb:bb:bb:bb",
"desc": "B电脑",
"id": 2
}
]
Path: /security/pwd
Method: POST
接口描述:
成功返回200
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/x-www-form-urlencoded | 是 | ||
| Authorization | 是 | Bearer xx |
{
"type": "user", // 现在只有user 帐号保护策略
"upper":true, // 大写
"lower":true,// 小写
"special":true,// 数字
"number":false,// 特殊符号
"pwd_len":10,// 密码长度
"retry_count":10// 重试次数
}
Path: /security/pwd/:type
Method: GET
接口描述:
路径参数
| 参数名称 | 示例 | 备注 |
| ------------ | ------------ | ------------ | ------------ | ------------ |
| type | user | 现在只有user |
{
"type": "user", // 现在只有user 帐号保护策略
"upper":true, // 大写
"lower":true,// 小写
"special":true,// 数字
"number":false,// 特殊符号
"pwd_len":10,// 密码长度
"retry_count":10// 重试次数
}
Path: /feedback
Method: POST
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/json | 是 | ||
| Body |
{
"account": "test000",
"content": "测试内容 *((&&",
"userid": 123456,
"mobile": "15911111111",
"email": "5555555@qq.com",
"type": 1, //1表扬 2 投诉 3 建议
"version": "1.0.0"
}
{
"account": "test000",
"content": "测试内容 *((&&",
"mobile": "15911111111",
"email": "5555555@qq.com",
"type": 1,
"version": "1.0.0"
}
Path: /uploadts
Method: POST
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | 'multipart/form-data' | 是 | ||
| Authorization | 是 | Bearer xxx | ||
| Query |
| 参数名称 | 是否必须 | 示例 | 备注 |
|---|---|---|---|
| sid | 是 | 12345487735132 | 日志唯一ID |
| is_end | 是 | 0 | 0 非最后 1 最后一个 |
| sequence | 是 | 1 | ts视频当前顺序号 1 2 3 4 |
| Body |
file: (binary)
{
// 状态码,0上传成功
"code":0,
// 消息
"message":"上传成功",
"error": ""
}
Path: /video/:sid/push
Method: POST
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/x-www-form-urlencoded | 是 | ||
| Authorization | Bear xx | 是 | token | |
| 路径参数 | ||||
| 参数名称 | 示例 | 备注 | ||
| ------------ | ------------ | ------------ | ------------ | ------------ |
| sid | 11111 | 日志id |
{
sid: 1111111
}
Path: /clients
Method: POST
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/json | 是 | ||
| Content-Type | application/json | 是 | ||
| User-Agent | SLCC/1.0 (Windows) | 是 | SLCC/1.0 (Windows) | 客户端的UA,同一个clientid的类型和平台必须保持一致 |
| Body |
{
"unique_id": "" // 传mac地址
}
{
"client_id": "d92b5278-c67c-454e-8bb2-387f3de6d9b5", // 客户端ID,作为每个软件客户端的唯一标识,客户端本地持久化保存
"secret": "%%j.sGpoGszIv5wYNo8SZv$!dFzxNk.Q", // 密码,客户端本地持久化保存,后续验证操作需要提交
"client_type": "SLCC", // 服务器保存,从UA解析
"platform": "WINDOWS", // 同上
"user_agent": "SLCC/3.0.1 (Windows)", // ua
"create_time": 1618363731 // 服务器创建时间
}
Path: /tags/:tagid
Method: PUT
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/json | 是 | ||
| Authorization | 是 | Bearer xxx | ||
| 路径参数 | ||||
| 参数名称 | 示例 | 备注 | ||
| ------------ | ------------ | ------------ | ------------ | ------------ |
| tagid | ||||
| Body |
{
"tag_id": 10,
"user_id": 6,
"name": "广州办v3"
}
{
"tag_id": 10,
"user_id": 6,
"name": "广州办v3"
}
Path: /tags/:remoteid/share
Method: POST
接口描述:
201
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/json | 是 | ||
| Authorization | 是 | Bearer xxx | ||
| 路径参数 | ||||
| 参数名称 | 示例 | 备注 | ||
| ------------ | ------------ | ------------ | ------------ | ------------ |
| remoteid | 111 | 1111 | ||
| Body |
{
"remote_id": 123456,
"owner_id" : 111, //主机所属uid
"user_id" : 222, //接收共享uid
"is_tag":true
}
Path: /tags/:tagid
Method: DELETE
接口描述:
返回状态码 204
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/x-www-form-urlencoded | 是 | ||
| Authorization | 是 | Bearer xxx | ||
| 路径参数 | ||||
| 参数名称 | 示例 | 备注 | ||
| ------------ | ------------ | ------------ | ------------ | ------------ |
| tagid | 1 |
Path: /tags/:tagid/:remoteid
Method: DELETE
接口描述:
返回状态码 204
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/x-www-form-urlencoded | 是 | ||
| Authorization | 是 | Bearer xx | ||
| 路径参数 | ||||
| 参数名称 | 示例 | 备注 | ||
| ------------ | ------------ | ------------ | ------------ | ------------ |
| tagid | ||||
| remoteid |
Path: /tags/orders
Method: POST
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/json | 是 | ||
| Authorization | Bearer xxx | 是 | ||
| Body |
{
"tag_order_ids": [
{
"tag_id": 218,
"order_id": 2
},
{
"tag_id": 219,
"order_id": 3
},
{
"tag_id": 220,
"order_id": 4
}
]
}
{
"tag_order_ids": [
{
"tag_id": 218,
"order_id": 2
},
{
"tag_id": 219,
"order_id": 3
},
{
"tag_id": 220,
"order_id": 4
}
],
"user_id": 27697956
}
Path: /tags/:tagid/remotes
Method: PUT
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/json | 是 | ||
| Authorization | 是 | Bearer | ||
| 路径参数 | ||||
| 参数名称 | 示例 | 备注 | ||
| ------------ | ------------ | ------------ | ------------ | ------------ |
| tagid | ||||
| Query |
| 参数名称 | 是否必须 | 示例 | 备注 |
|---|---|---|---|
| remote_ids | 是 | 1, 2, 3 |
Path: /tags
Method: GET
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Authorization | Bearer xxxx | 是 | ||
| Query |
| 参数名称 | 是否必须 | 示例 | 备注 |
|---|---|---|---|
| withremote | 否 | 1 | 是否需要返回标签绑定的主机 |
| pid | 否 | 3 | 父节点ID,顶级节点填0。默认为0 |
| tag_type | 否 | 1 | tag_type: 1 默认类型;2 标识"全部主机" 这个专属tag。 ”全部主机“这个不支持withremote。不填不过滤。 |
[
{
"tag_id": 12, // 标签id
"user_id": 8, // 用户id
"name": "广州办v3",// 主机名称
"bg_color": "#d5d2c0", // 背景颜色
"remote_num": 0,// 主机数
"order_id": 0, // 排序
"remote_ids": [ // 标签绑定的主机
261737735
],
"parent_id":3, // 父节点ID
"path": "3", // 父节点列表。分隔符“-”。
"depth": 3, // 节点深度。根节点为1
"tag_type":1 // 节点类型:1 默认节点。 2 "全部主机"专用。
}
]
Path: /tags
Method: POST
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/json | 是 | ||
| Authorization | 是 | Bearer xxx | ||
| Body |
{
"name": "广州办v3",
"parent_id": 3, // 父节点ID
"order_id":0 // 排序ID
}
{
"tag_id": 12,
"user_id": 8,
"name": "广州办v3",
"parent_id": 3,
}
Path: /tags/:tagid/remote
Method: POST
接口描述:
201
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/json | 是 | ||
| Authorization | 是 | Bearer xxx | ||
| 路径参数 | ||||
| 参数名称 | 示例 | 备注 | ||
| ------------ | ------------ | ------------ | ------------ | ------------ |
| tagid | ||||
| Body |
{
"remote_id": 123456
}
Path: /tags/childtags
Method: GET
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Authorization | Bearer xxx | 是 | ||
| Query |
| 参数名称 | 是否必须 | 示例 | 备注 |
|---|---|---|---|
| tag_ids | 是 | 1,2,3 | 多个ID用英文逗号隔开。 |
| with_child | 否 | 1 | 携带tree结构的子节点数据(递归查询) |
| with_remote | 否 | 1 | 携带remote_ids数据 |
{
"child_tags": [
{
"tag_id": 2,
"user_id": 1,
"name": "广州_测试权限用v2",
"bg_color": "#ff6633",
"remote_ids": [
261737853,
651469684
],
"path": "0",
"depth": 1,
"tag_type": 1,
"children": [
{
"tag_id": 170,
"user_id": 1,
"name": "添加二级标签测试",
"bg_color": "#8FC9FF",
"remote_ids": [
651469684
],
"parent_id": 2,
"path": "2",
"depth": 2
},
{
"tag_id": 171,
"user_id": 1,
"name": "添加二级标签测试",
"bg_color": "#8FC9FF",
"parent_id": 2,
"path": "2",
"depth": 2,
"children": [
{
"tag_id": 172,
"user_id": 1,
"name": "添加3级标签测试",
"bg_color": "#FF8F8F",
"parent_id": 171,
"path": "2-171",
"depth": 3,
"children": [
{
"tag_id": 173,
"user_id": 1,
"name": "添加4级标签测试",
"bg_color": "#FF8F8F",
"parent_id": 172,
"path": "2-171-172",
"depth": 4
}
]
}
]
}
]
},
{
"tag_id": 3,
"user_id": 1,
"name": "陆璇",
"bg_color": "#3385d6",
"path": "0",
"depth": 1,
"tag_type": 1
}
]
}
Path: /tags/remotes
Method: GET
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Authorization | Bearer xxxx | 是 | ||
| Query |
| 参数名称 | 是否必须 | 示例 | 备注 |
|---|---|---|---|
| remote_id | 否 | 261737714,4932 | 主机ID,多个以英文逗号分割 |
{
"4932": [
{
"tag_id": 6,
"name": "lin-test"
}
],
"261737714": [
{
"tag_id": 44,
"name": "北京"
},
{
"tag_id": 46,
"name": "杭州"
},
{
"tag_id": 49,
"name": "郑州"
},
{
"tag_id": 50,
"name": "南京"
}
]
}
Path: /tags/traverse
Method: GET
接口描述:
header 回包参数
Content-Range: row offset-limit/total
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Authorization | Bearer xxx | 是 | ||
| Query |
| 参数名称 | 是否必须 | 示例 | 备注 |
|---|---|---|---|
| offset | 是 | 0 | 分页参数 offset |
| limit | 是 | 100 | 分页参数 limit长度 |
| withremote | 否 | 1 |
{
"tags":[
{
"tag_id": 12, // 标签id
"user_id": 8, // 用户id
"name": "广州办v3",// 主机名称
"bg_color": "#d5d2c0", // 背景颜色
"remote_num": 0,// 主机数
"order_id": 0, // 排序
"remote_ids": [ // 标签绑定的主机
261737735
],
"parent_id":3, // 父节点ID
"path": "0-3", // 父节点列表。分隔符“-”。
"depth": 3, // 节点深度。根节点为1
"tag_type":1 // 节点类型:1 默认节点。 2 "全部主机"专用。
}
],
"total": 1
}
Path: /seats/likes
Method: POST
接口描述:
code:
0 错误
200 成功
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/x-www-form-urlencoded | 是 | ||
| User-Agent | Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.93 Safari/537.36 | 是 | ||
| Authorization | Bearer eyJhbGciOiJIUzUxMiIsInIiOjE2NTYwMDMxMTksInR5cCI6IkpXVCJ9.eyJleHAiOjE2NzEwMDM0MDgsImlzYSI6MTY3MTAwMTYwOCwiaXNzIjoib3JheXRlc3QwMTIiLCJyb2xlIjo0LCJ1aWQiOjEyNTY0MTIyLCJzZXIiOiJhdXRoLXYyLm9yYXliZXRhLmNvbSIsIm5zIjoidXNlciJ9.JNKb3wCtRnv9e-rO9ZYtwLEG-n3ysDI-mhXZ83y_Nzz1sFp5zJnaC_IuYbDYu8ycB42mEpVUJgnVLsPWlbykyw | 是 | 登陆的token,不另外用坐席的token了 | |
| Body |
{
"fast_code" : "34343", // 识别码
"memo":"sds", // 备注
"seat_id":"123", // 坐席id
"os":"ios" // 快码对应的主机系统, windows\android\mac\linux\ios
}
Path: /seats
Method: GET
接口描述:
code:
0 错误
200 成功
返回信息中头部带分页总数等
Content-Range :row 0-10/1 offset-limit/total
Query
| 参数名称 | 是否必须 | 示例 | 备注 |
|---|---|---|---|
| offset | 否 | 偏移量 *limit 从0开始 | |
| limit | 否 | 限制数 |
{
"seats": [
{
//坐席ID
"seat_id": 52,
//坐席名
"name": "test3AZX",
//坐席唯一标识ID
"seat_identity": "supp419409",
//手机号
"mobile": 13697464444,
//星标客户数
"likes": 0,
//创建时间
"create_time": 1623159364,
//是否在线
"is_online": true
}
],
//总数
"total": 1,
//当前在线数
"online": 1,
//在线量
"total_online":10
}
Path: /seats/:seatid
Method: DELETE
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/x-www-form-urlencoded | 是 | ||
| 路径参数 | ||||
| 参数名称 | 示例 | 备注 | ||
| ------------ | ------------ | ------------ | ------------ | ------------ |
| seatid | 坐席ID |
Path: /seats/logout/:seatid
Method: PUT
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/x-www-form-urlencoded | 是 | ||
| 路径参数 | ||||
| 参数名称 | 示例 | 备注 | ||
| ------------ | ------------ | ------------ | ------------ | ------------ |
| seatid | 坐席ID |
Path: /seats
Method: POST
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/x-www-form-urlencoded | 是 | ||
| Authorization | 是 | |||
| Body |
| 参数名称 | 参数类型 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| name | text | 是 | 坐席名 | |
| mobile | text | 是 | 手机号 | |
| password | text | 是 | 密码 |
Path: /seats/:seatid
Method: PUT
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/x-www-form-urlencoded | 是 | ||
| 路径参数 | ||||
| 参数名称 | 示例 | 备注 | ||
| ------------ | ------------ | ------------ | ------------ | ------------ |
| seatid | 坐席ID | |||
| Body |
| 参数名称 | 参数类型 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| name | text | 否 | 坐席名 | |
| mobile | text | 否 | 手机号 | |
| password | text | 否 | 密码重置-md5加密 |
Path: /seats/service
Method: GET
接口描述:
statuscode: 200
返回为空则无服务
isdelete: true / expiredays2 < 0 则坐席服务无效或者过期
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Authorization | 是 | Bearer xxxxxx |
// 字段为null/0 不返回
{
//服务记录id
"serviceid": 17172361,
//帐户id
"userid": 12532915,
//产品id
"productid": 310108,
//产品类别id
"classid": 9,
//坐席个数
"amount": 30,
//是否验证
"isvalid": true,
//是否验证
"isdelete": true,
//假剩余天数
"expiredays": 561,
//真剩余天数 为负数则服务过期
"expiredays2": 561,
//过期时间
"expiredate": "2022-12-31 00:00:00",
// 坐席成员数
"seats": 0,
// 星标客户数
"likes":0,
//创建时间
"createtime": "2020-03-16 15:36:32"
}
Path: /seats/check-mobile
Method: GET
接口描述:
true 已绑定
false 未绑定
Query
| 参数名称 | 是否必须 | 示例 | 备注 |
|---|---|---|---|
| mobile | 是 | 13666666666 | 手机号 |
true
Path: /seats/logs
Method: GET
接口描述:
星标客户远控记录需默认传参: seatid(坐席唯一标识ID) & fastcode & event=note
Query
| 参数名称 | 是否必须 | 示例 | 备注 |
|---|---|---|---|
| seatid | 否 | supp123123 | 坐席标识ID |
| fastcode | 否 | 识别码 | |
| event | 否 | login | 事件 |
| kw_seat | 否 | supp5454 | 坐席ID/坐席名称 |
| remotetime | 否 | 2021-06-01~2021-06-05 | 远控时间段 |
| offset | 否 | 0 | 偏移量 *limit |
| limit | 否 | 10 | 限制数 默认10 |
| export | 否 | 1 | 导出全部 1,查询所有数据 |
{
"logs": [
{
//日志ID
"log_id": 24,
//帐户ID
"user_id": 12564122,
//坐席ID
"seat_identity": "supp471970",
//坐席名称
"seat_name": "456",
//识别码
"fastcode": "123131231",
//事件
"event": "view",
//开始时间
"start_time": 1618393693,
//结束时间
"end_time": 1622702781,
//备注
"memo": "test2",
//主控端信息
"slcc_info": {
//主控端IP
"slcc_ip": "116.235.162.148",
//主控端版本
"slcc_version": "5.1.0.32847",
//主控端系统
"slcc_osname": "Linux",
//主控端主机名称
"slcc_pcname": "主控1"
},
//被动控端信息
"slrc_info": {
//被控端IP
"slrc_ip": "192.168.0.1",
//被控端版本
"slrc_version": "5.3.1.6",
//被控端系统
"slrc_osname": "test",
//被控端主机名称
"slrc_pcname": "6666"
},
//被控端备注
"slrc_name": "被控2",
//日志创建时间
"create_time": 1618393693
}
],
//总数
"total": 1,
//事件下拉
"events": {
"login": "登录",
"logout": "登出",
"remote": "远程桌面",
"file": "远程文件",
"view": "预览"
}
}
Path: /seats/security
Method: GET
接口描述:
{
//id
"security_id": 33,
//是否开启mac过滤 字段不存在为不开启 1,白名单 2,黑名单
"is_mac": 2,
//是否开启手机验证 字段不存在为不开启 1,开启
"is_mobile": 1,
//登录方式 字段不存在为账号密码 1,账号密码 2,坐席ID
"login_type": 2,
//可创建坐席ID数 字段不存在为0
"id_amount": 5,
"macs": [
{
//id
"mac_id": 17,
//Mac地址
"mac": "165454-1231231-1231",
//描述
"memo": "test"
}
]
}
Path: /seats/macs
Method: GET
接口描述:
{
"macs": [
{
"mac_id": 25,
"mac": "A4:B6:6D:CC:DE:5D",
"memo": "111"
},
{
"mac_id": 3,
"mac": "231231dsdfddfsdfsf1"
},
{
"mac_id": 2,
"mac": "546454:dfer:54984651"
}
]
}
Path: /seats/macs/:macid
Method: DELETE
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/x-www-form-urlencoded | 是 | ||
| 路径参数 | ||||
| 参数名称 | 示例 | 备注 | ||
| ------------ | ------------ | ------------ | ------------ | ------------ |
| macid | Mac ID |
Path: /seats/macs
Method: POST
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/x-www-form-urlencoded | 是 | ||
| Body |
| 参数名称 | 参数类型 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| mac | text | 是 | mac地址 | |
| memo | text | 否 | 描述 |
Path: /seats/security
Method: PUT
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/x-www-form-urlencoded | 是 | ||
| Body |
| 参数名称 | 参数类型 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| is_mac | text | 否 | 是否开启Mac限制 0, 否 1,白名单 2,黑名单 | |
| is_mobile | text | 否 | 是否开启手机验证 0, 否 1,是 | |
| login_type | text | 否 | 登录方式 1,帐号密码 2,坐席ID |
Path: /seats/likes
Method: GET
接口描述:
从坐席列表点击"星标客户数"进入星标客户页面 需默认传参 seatid
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Authorization | 是 | Bearer | ||
| Query |
| 参数名称 | 是否必须 | 示例 | 备注 |
|---|---|---|---|
| seatid | 否 | supp1231223 | 坐席标识ID |
| kw_seat | 否 | 坐席ID/坐席名称 | |
| kw_like | 否 | 识别码/备注名 | |
| lasttime | 否 | 2021-06-01~2021-06-05 | 最后远控时间 |
| offset | 否 | 0 | 偏移量 |
| limit | 否 | 10 | 限制数 默认10 |
| sort | 否 | lasttime | lasttime:正序 -lasttime:倒序 |
| export | 否 | 1 | 导出全部 1,查询所有数据 |
{
"likes": [
{
//星标客户id
"like_id": 40,
//帐户id
"user_id": 12564122,
//坐席标识
"seat_id": "supp471970",
//快码
"fast_code": "54564654654",
//备注
"memo": "1111",
//坐席名称
"seat_name": "test015",
//最后远控时间
"last_time": 12135596800
}
],
//总数
"total": 3
}
Path: /seats/likes/:likeid
Method: DELETE
接口描述:
statusCode: 204 删除成功
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/x-www-form-urlencoded | 是 | ||
| 路径参数 | ||||
| 参数名称 | 示例 | 备注 | ||
| ------------ | ------------ | ------------ | ------------ | ------------ |
| likeid |
Path: /seats/status
Method: GET
接口描述:
code:
0 错误
200 成功
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/x-www-form-urlencoded | 是 | ||
| User-Agent | Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.93 Safari/537.36 | 是 | ||
| Authorization | Bearer eyJhbGciOiJIUzUxMiIsInIiOjE2NTYwMDMxMTksInR5cCI6IkpXVCJ9.eyJleHAiOjE2NzEwMDM0MDgsImlzYSI6MTY3MTAwMTYwOCwiaXNzIjoib3JheXRlc3QwMTIiLCJyb2xlIjo0LCJ1aWQiOjEyNTY0MTIyLCJzZXIiOiJhdXRoLXYyLm9yYXliZXRhLmNvbSIsIm5zIjoidXNlciJ9.JNKb3wCtRnv9e-rO9ZYtwLEG-n3ysDI-mhXZ83y_Nzz1sFp5zJnaC_IuYbDYu8ycB42mEpVUJgnVLsPWlbykyw | 是 | 登陆的token,不另外用坐席的token了 | |
| Query |
| 参数名称 | 是否必须 | 示例 | 备注 |
|---|---|---|---|
| clientid | 是 | 4ba37eb5-af6a-4eec-aae6-0de73a7e2434 | 客服端id |
| lang | 是 | 'zh_CN', 'en', 'zh_TW' |
Path: /seats/status_1672305334293
Method: GET
接口描述:
code:
0 错误
200 成功
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/x-www-form-urlencoded | 是 | ||
| User-Agent | Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.93 Safari/537.36 | 是 | ||
| Authorization | Bearer eyJhbGciOiJIUzUxMiIsInIiOjE2NTYwMDMxMTksInR5cCI6IkpXVCJ9.eyJleHAiOjE2NzEwMDM0MDgsImlzYSI6MTY3MTAwMTYwOCwiaXNzIjoib3JheXRlc3QwMTIiLCJyb2xlIjo0LCJ1aWQiOjEyNTY0MTIyLCJzZXIiOiJhdXRoLXYyLm9yYXliZXRhLmNvbSIsIm5zIjoidXNlciJ9.JNKb3wCtRnv9e-rO9ZYtwLEG-n3ysDI-mhXZ83y_Nzz1sFp5zJnaC_IuYbDYu8ycB42mEpVUJgnVLsPWlbykyw | 是 | 登陆的token,不另外用坐席的token了 | |
| Query |
| 参数名称 | 是否必须 | 示例 | 备注 |
|---|---|---|---|
| clientid | 是 | 4ba37eb5-af6a-4eec-aae6-0de73a7e2434 | 客服端id |
| lang | 是 | 'zh_CN', 'en', 'zh_TW' |
Path: /resources/tag-nums
Method: GET
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Authorization | Bearer eyJhbGciOiJIUzUxMiIsInIiOjI4Nzk5OTE1NTIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2MjEzOTc2MDcsImlzYSI6MTYyMTM5NTgwNywiaXNzIjoib3JheXRlc3QwMTIiLCJyb2xlIjo0LCJ1aWQiOjEyNTY0MTIyLCJzZXIiOiJhdXRoLXdlYi5vcmF5Lm5ldCIsIm5zIjoidXNlciJ9.UwJQ67s80M10QEl-MJ_tojvd8S9L8GrmjvYQuvV1DaeYkSqpHbBGzSvRtytwP9dOScuiub2xxWvp8KD2mOHM8w | 是 | ||
| Query |
| 参数名称 | 是否必须 | 示例 | 备注 |
|---|---|---|---|
| tag_ids | 是 | 6,99 | 标签ID |
| type | 否 | 1 | 0或者不添加为硬件信息,1为硬件变更记录 |
{
"6": 2,
"99": 1
}
Path: /resources/has/historys
Method: GET
接口描述:
返回信息中头部带分页总数等
Content-Range :row 0-10/1
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Authorization | Bearer eyJhbGciOiJIUzUxMiIsInIiOjI4Nzk5OTE1NTIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2MjEzOTc2MDcsImlzYSI6MTYyMTM5NTgwNywiaXNzIjoib3JheXRlc3QwMTIiLCJyb2xlIjo0LCJ1aWQiOjEyNTY0MTIyLCJzZXIiOiJhdXRoLXdlYi5vcmF5Lm5ldCIsIm5zIjoidXNlciJ9.UwJQ67s80M10QEl-MJ_tojvd8S9L8GrmjvYQuvV1DaeYkSqpHbBGzSvRtytwP9dOScuiub2xxWvp8KD2mOHM8w | 是 | ||
| Query |
| 参数名称 | 是否必须 | 示例 | 备注 |
|---|---|---|---|
| resource_ids | 否 | 1,2 | 主机ID |
[
{
"resource_history_id": 1,
"resource_id": 2
},
{
"resource_history_id": 58,
"resource_id": 1
}
]
Path: /resources
Method: GET
接口描述:
返回信息中头部带分页总数等
Content-Range :row 0-10/1
字段对应名:
resource_id=>资产ID
user_id=>用户ID
remote_id=>主机ID
name=>设备名称
description=>主机备注名称
mac=>MAC
ip=>IP
os=>系统
cpu=>系统处理器
mainboard=>主板
memory_size=>内存大小
keyboard=>键盘
videocard=>显卡
networkcard=>网卡
monitor=>显示器
maindisk=>主硬盘
state=>主机状态
acount => 账号
搜索字段
1、os
os=>[
windows =>Windows,
android => Android,
linux => Linux,
macOS => macOS,
]
不传或者为空,为所有
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Authorization | Bearer eyJhbGciOiJIUzUxMiIsInIiOjI4Nzk5OTE1NTIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2MjEzOTc2MDcsImlzYSI6MTYyMTM5NTgwNywiaXNzIjoib3JheXRlc3QwMTIiLCJyb2xlIjo0LCJ1aWQiOjEyNTY0MTIyLCJzZXIiOiJhdXRoLXdlYi5vcmF5Lm5ldCIsIm5zIjoidXNlciJ9.UwJQ67s80M10QEl-MJ_tojvd8S9L8GrmjvYQuvV1DaeYkSqpHbBGzSvRtytwP9dOScuiub2xxWvp8KD2mOHM8w | 是 | ||
| Query |
| 参数名称 | 是否必须 | 示例 | 备注 |
|---|---|---|---|
| os | 否 | windows | 系统 |
| keyword | 否 | 12 | 关键字 |
| remote_ids | 否 | 261736529,1 | 主机ID |
| sort | 否 | -id | 排序 |
| limit | 是 | 10 | |
| offset | 是 | 0 |
[
{
"resource_id": 1,
"user_id": 12,
"remote_id": 261736529,
"name": "54",
"description": "主机备注名称",
"mac": "fgj",
"ip": "172.17.0.1",
"os": "windows",
"mainboard": "dell",
"memory_size": "102400MB",
"keyboard": "vrpo",
"cpu": "Intel(R) Core(TM) i3-4170 CPU @ 3.70GHz",
"videocard": "asd",
"networkcard": "fdg",
"monitor": "23",
"maindisk": "zhuyinpan",
"state": 1,
"relate_num": 1 // 关联的资产硬件数量
}
]
Path: /resources/historys
Method: GET
接口描述:
返回信息中头部带分页总数等
Content-Range :row 0-10/1
一、搜索
1、type
硬件类型:
'cpu' => "CPU",
'os' => OS,
'mainboard' => 主板,
'memory_size' => 内存,
'keyboard' => 键盘,
'videocard' => 显卡,
'networkcard' => 网卡,
'monitor' => 显示屏,
'maindisk' => 主硬盘
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Authorization | Bearer eyJhbGciOiJIUzUxMiIsInIiOjI4Nzk5OTE1NTIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2MjEzOTc2MDcsImlzYSI6MTYyMTM5NTgwNywiaXNzIjoib3JheXRlc3QwMTIiLCJyb2xlIjo0LCJ1aWQiOjEyNTY0MTIyLCJzZXIiOiJhdXRoLXdlYi5vcmF5Lm5ldCIsIm5zIjoidXNlciJ9.UwJQ67s80M10QEl-MJ_tojvd8S9L8GrmjvYQuvV1DaeYkSqpHbBGzSvRtytwP9dOScuiub2xxWvp8KD2mOHM8w | 是 | ||
| Query |
| 参数名称 | 是否必须 | 示例 | 备注 |
|---|---|---|---|
| type | 否 | cpu | 硬件类型 不传或者为空,为所有 |
| resource_id | 否 | 1 | 资产ID |
| keyword | 否 | 12 | 关键字 |
| remote_ids | 否 | 261736529,1 | 主机ID |
| times | 否 | 2021-03-26 19:26:12,2021-06-26 19:26:12 | |
| sort | 否 | -id | 排序 |
| limit | 是 | 10 | |
| offset | 是 | 0 |
[
{
"resource_history_id": 58, // IT资产变更记录ID
"type": "sd", // 硬件类型
"before_config": "sd", // 原配置
"current_config": "d", // 当前配置
"create_time": 1622028372, // 变更时间
"user_id": 12, // 用户ID
"remote_id": 261736529, // 主机ID
"name": "54", // 设备名称
"mac": "fgj", // mac
"ip": "172.17.0.1", // IP
"description":"主机备注名",
"account":"账号",
"state": 1,
"create_time_str": "2021-06-16 17:05:07", // 变更时间
}
]
Path: /resources/historys/:resourceid
Method: PUT
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/x-www-form-urlencoded | 是 | ||
| Authorization | Bearer eyJhbGciOiJIUzUxMiIsInIiOjI4Nzk5OTE1NTIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2MjEzOTc2MDcsImlzYSI6MTYyMTM5NTgwNywiaXNzIjoib3JheXRlc3QwMTIiLCJyb2xlIjo0LCJ1aWQiOjEyNTY0MTIyLCJzZXIiOiJhdXRoLXdlYi5vcmF5Lm5ldCIsIm5zIjoidXNlciJ9.UwJQ67s80M10QEl-MJ_tojvd8S9L8GrmjvYQuvV1DaeYkSqpHbBGzSvRtytwP9dOScuiub2xxWvp8KD2mOHM8w | 是 | ||
| 路径参数 | ||||
| 参数名称 | 示例 | 备注 | ||
| ------------ | ------------ | ------------ | ------------ | ------------ |
| resourceid | 1 |
Path: /user-config/:userid
Method: GET
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Authorization | Bearer eyJhbGciOiJIUzUxMiIsInIiOjI4Nzk5OTE1NTIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2MjEzOTc2MDcsImlzYSI6MTYyMTM5NTgwNywiaXNzIjoib3JheXRlc3QwMTIiLCJyb2xlIjo0LCJ1aWQiOjEyNTY0MTIyLCJzZXIiOiJhdXRoLXdlYi5vcmF5Lm5ldCIsIm5zIjoidXNlciJ9.UwJQ67s80M10QEl-MJ_tojvd8S9L8GrmjvYQuvV1DaeYkSqpHbBGzSvRtytwP9dOScuiub2xxWvp8KD2mOHM8w | 是 | ||
| 路径参数 | ||||
| 参数名称 | 示例 | 备注 | ||
| ------------ | ------------ | ------------ | ------------ | ------------ |
| userid | 1 | 用户id |
{
"limit":10, // 每个页面列表显示的数量
"field-show":{// 列表展示
"resources":{ // IT资产信息列表(根据域名路径)
"resource_id":"资产ID",
"user_id":"用户ID",
"remote_id":"主机ID",
"name":"设备名称",
"mac":"MAC",
"ip":"IP",
"os":"系统",
"mainboard":"主板",
"memory_size":"内存大小",
"keyboard":"键盘",
"videocard":"显卡",
"networkcard":"网卡",
"monitor":"显示器",
"maindisk":"主硬盘",
"state":"主机状态",
"tags":"分组",
"account":"账号"
}
}
}
Path: /action/logs
Method: GET
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Authorization | Bearer eyJhbGciOiJIUzUxMiIsInIiOjI4Nzk5OTE1NTIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2MjEzOTc2MDcsImlzYSI6MTYyMTM5NTgwNywiaXNzIjoib3JheXRlc3QwMTIiLCJyb2xlIjo0LCJ1aWQiOjEyNTY0MTIyLCJzZXIiOiJhdXRoLXdlYi5vcmF5Lm5ldCIsIm5zIjoidXNlciJ9.UwJQ67s80M10QEl-MJ_tojvd8S9L8GrmjvYQuvV1DaeYkSqpHbBGzSvRtytwP9dOScuiub2xxWvp8KD2mOHM8w | 是 | ||
| Query |
| 参数名称 | 是否必须 | 示例 | 备注 |
|---|---|---|---|
| sort | 否 | -createtime | |
| limit | 是 | 10 | |
| offset | 是 | 0 | |
| times | 否 | 2021-03-26 19:26:12,2021-06-26 19:26:12 | |
| alarm_type | 是 | 1 | 告警类型, 1:未设置系统密码,2:设备待机 设备在线时,无鼠标键盘指令输入 |
[
{
"action_log_id": 1,
"remote_id": 651469148,
"user_id": 39065284,
"account": "mrfrank07",
"action_config_id": 1, // 行为策略id
"name": "\r\n针对产品部", // 策略名称
"info": "未设置系统帐号密码", // 告警详情
"create_time": 1636610282
}
]
Path: /action/configs
Method: GET
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Authorization | Bearer eyJhbGciOiJIUzUxMiIsInIiOjI4Nzk5OTE1NTIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2MjEzOTc2MDcsImlzYSI6MTYyMTM5NTgwNywiaXNzIjoib3JheXRlc3QwMTIiLCJyb2xlIjo0LCJ1aWQiOjEyNTY0MTIyLCJzZXIiOiJhdXRoLXdlYi5vcmF5Lm5ldCIsIm5zIjoidXNlciJ9.UwJQ67s80M10QEl-MJ_tojvd8S9L8GrmjvYQuvV1DaeYkSqpHbBGzSvRtytwP9dOScuiub2xxWvp8KD2mOHM8w | 是 | ||
| Query |
| 参数名称 | 是否必须 | 示例 | 备注 |
|---|---|---|---|
| sort | 否 | -updatetime | |
| limit | 是 | 10 | |
| offset | 是 | 0 | |
| times | 否 | 2021-03-26 19:26:12,2021-06-26 19:26:12 |
[
{
"action_config_id": 1, // 行为策略id
"user_id": 39065284, // 用户id
"account": "mrfrank07", // 用户账号
"name": "针对产品部", // 策略名称
"remark": "未设置系统帐号密码", // 备注
"group": "1", // 策略应用分组
"alarm_frequency": 1200, // 告警频率
"no_password": 2, // 未设置系统帐号密码,1是,2否
"no_operate": 2, // 设备待机 设备在线时,无鼠标键盘指令输入,1是,2否
"standby_time": 60, // 告警频率(s)
"update_time": 1636619267, // 最后更新时间
"create_time": 1636619106, // 创建时间
"notice_config_id": 1, // 通知设置id
"action_log_num": 12, // 告警记录数目
},
{
"action_config_id": 1,
"user_id": 39065284,
"account": "mrfrank07",
"name": "针对产品部",
"remark": "未设置系统帐号密码",
"group": "1",
"alarm_frequency": 1200,
"no_password": 2,
"no_operate": 2,
"standby_time": 60,
"update_time": 1636619267,
"create_time": 1636619106,
"notice_config_id": 1,
"action_log_num": 1
}
]
Path: /action/configs/:id
Method: DELETE
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/json | 是 | ||
| Authorization | Bearer eyJhbGciOiJIUzUxMiIsInIiOjI4Nzk5OTE1NTIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2MjEzOTc2MDcsImlzYSI6MTYyMTM5NTgwNywiaXNzIjoib3JheXRlc3QwMTIiLCJyb2xlIjo0LCJ1aWQiOjEyNTY0MTIyLCJzZXIiOiJhdXRoLXdlYi5vcmF5Lm5ldCIsIm5zIjoidXNlciJ9.UwJQ67s80M10QEl-MJ_tojvd8S9L8GrmjvYQuvV1DaeYkSqpHbBGzSvRtytwP9dOScuiub2xxWvp8KD2mOHM8w | 是 | ||
| 路径参数 | ||||
| 参数名称 | 示例 | 备注 | ||
| ------------ | ------------ | ------------ | ------------ | ------------ |
| id | 1 | |||
| Query |
| 参数名称 | 是否必须 | 示例 | 备注 |
|---|---|---|---|
| sort | 否 | -updatetime | |
| limit | 是 | 10 | |
| offset | 是 | 0 | |
| times | 否 | 2021-03-26 19:26:12,2021-06-26 19:26:12 |
{
"action_config_id": 3,
"owner_id": 39065284,
"user_id": 39065284
}
Path: /action/configs/:id
Method: PUT
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/json | 是 | ||
| Authorization | Bearer eyJhbGciOiJIUzUxMiIsInIiOjI4Nzk5OTE1NTIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2MjEzOTc2MDcsImlzYSI6MTYyMTM5NTgwNywiaXNzIjoib3JheXRlc3QwMTIiLCJyb2xlIjo0LCJ1aWQiOjEyNTY0MTIyLCJzZXIiOiJhdXRoLXdlYi5vcmF5Lm5ldCIsIm5zIjoidXNlciJ9.UwJQ67s80M10QEl-MJ_tojvd8S9L8GrmjvYQuvV1DaeYkSqpHbBGzSvRtytwP9dOScuiub2xxWvp8KD2mOHM8w | 是 | ||
| 路径参数 | ||||
| 参数名称 | 示例 | 备注 | ||
| ------------ | ------------ | ------------ | ------------ | ------------ |
| id | 1 | |||
| Query |
| 参数名称 | 是否必须 | 示例 | 备注 |
|---|---|---|---|
| sort | 否 | -updatetime | |
| limit | 是 | 10 | |
| offset | 是 | 0 | |
| times | 否 | 2021-03-26 19:26:12,2021-06-26 19:26:12 | |
| Body |
{
"name": "针对产品部",
"remark": "未设置系统帐号密码",
"apply_type": 2,
"group": "1",
"alarm_frequency": 1200,
"no_password": 2,
"no_operate": 2,
"standby_time": 60,
"notice_config_id": 2
}
{
"user_id": 39065284,
"account": "mrfrank07",
"name": "针对产品部",
"remark": "未设置系统帐号密码",
"apply_type": 2,
"group": "1",
"alarm_frequency": 1200,
"no_password": 2,
"no_operate": 2,
"standby_time": 60,
"notice_config_id": 2, // 通知配置id
"is_sms": true, // 是否开启短信通知
"is_email": true, // 是否开启邮箱通知
"is_platform": true, // 是否开启管理平台通知
"is_slcc": true, // 是否开启企业控制端通知
"is_app": false, // 是否开启移动端通知
"contact_ids": [ // 联系人ID集合
1,
2
]
}
Path: /action/configs
Method: POST
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/json | 是 | ||
| Authorization | Bearer eyJhbGciOiJIUzUxMiIsInIiOjI4Nzk5OTE1NTIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2MjEzOTc2MDcsImlzYSI6MTYyMTM5NTgwNywiaXNzIjoib3JheXRlc3QwMTIiLCJyb2xlIjo0LCJ1aWQiOjEyNTY0MTIyLCJzZXIiOiJhdXRoLXdlYi5vcmF5Lm5ldCIsIm5zIjoidXNlciJ9.UwJQ67s80M10QEl-MJ_tojvd8S9L8GrmjvYQuvV1DaeYkSqpHbBGzSvRtytwP9dOScuiub2xxWvp8KD2mOHM8w | 是 | ||
| Query |
| 参数名称 | 是否必须 | 示例 | 备注 |
|---|---|---|---|
| sort | 否 | -updatetime | |
| limit | 是 | 10 | |
| offset | 是 | 0 | |
| times | 否 | 2021-03-26 19:26:12,2021-06-26 19:26:12 | |
| Body |
{
"name": "针对产品部",
"remark": "未设置系统帐号密码",
"apply_type": 2,
"group": "1",
"alarm_frequency": 1200,
"no_password": 2,
"no_operate": 2,
"standby_time": 60,
"is_sms": true, // 是否开启短信通知
"is_email": true, // 是否开启邮箱通知
"is_platform": true, // 是否开启管理平台通知
"is_slcc": true, // 是否开启企业控制端通知
"is_app": false, // 是否开启移动端通知
"contact_ids": [ // 联系人ID集合
1,
2
]
}
{
"user_id": 39065284,
"account": "mrfrank07",
"name": "针对产品部",
"remark": "未设置系统帐号密码",
"apply_type": 2,
"group": "1",
"alarm_frequency": 1200,
"no_password": 2,
"no_operate": 2,
"standby_time": 60,
"notice_config_id": 2
}
Path: /resources/checks
Method: POST
接口描述:
返回信息中头部带分页总数等
Content-Range :row 0-10/1
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/x-www-form-urlencoded | 是 | ||
| Authorization | Bearer eyJhbGciOiJIUzUxMiIsInIiOjI4Nzk5OTE1NTIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2MjEzOTc2MDcsImlzYSI6MTYyMTM5NTgwNywiaXNzIjoib3JheXRlc3QwMTIiLCJyb2xlIjo0LCJ1aWQiOjEyNTY0MTIyLCJzZXIiOiJhdXRoLXdlYi5vcmF5Lm5ldCIsIm5zIjoidXNlciJ9.UwJQ67s80M10QEl-MJ_tojvd8S9L8GrmjvYQuvV1DaeYkSqpHbBGzSvRtytwP9dOScuiub2xxWvp8KD2mOHM8w | 是 |
{
"resource_check_id": 14,
"user_id": 12564122,
"account": "oraytest012"
}
Path: /resources/checks/rhlogs
Method: GET
接口描述:
返回信息中头部带分页总数等
Content-Range :row 0-10/1
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Authorization | Bearer eyJhbGciOiJIUzUxMiIsInIiOjI4Nzk5OTE1NTIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2MjEzOTc2MDcsImlzYSI6MTYyMTM5NTgwNywiaXNzIjoib3JheXRlc3QwMTIiLCJyb2xlIjo0LCJ1aWQiOjEyNTY0MTIyLCJzZXIiOiJhdXRoLXdlYi5vcmF5Lm5ldCIsIm5zIjoidXNlciJ9.UwJQ67s80M10QEl-MJ_tojvd8S9L8GrmjvYQuvV1DaeYkSqpHbBGzSvRtytwP9dOScuiub2xxWvp8KD2mOHM8w | 是 | ||
| Query |
| 参数名称 | 是否必须 | 示例 | 备注 |
|---|---|---|---|
| keyword | 否 | oraytest012 | 关键字 |
| sort | 否 | createtime | 排序 |
| limit | 是 | 10 | |
| offset | 是 | 0 | |
| remote_id | 否 | 12 | 关联设备 |
| check_id | 是 | 30 | 盘点id |
| code | 否 | 322 | 资产码 |
[
{
"id": 1, // 硬件资产id
"check_id":24, // 盘点id
"user_id": 12564122, // 用户id
"account": "oraytest012", // 账号id
"op_id": 12564122, // 盘点人id
"op_account": "oraytest012", // 盘点人账号
"remote_id": 12, // 主机id
"code": "123456", // 资产码
"type": "cpu", // 资产类型
"model": "Intel(R) Core(TM) i5-10210U CPU @ 1.60GHz", // 资产型号
"status": 1, // 资产状态
"create_time": 1632895518, // 盘点时间
"state": 1, // 主机状态
"relate_num": 1, // 关联过的数量
}
]
Path: /resources/checks/remotes
Method: GET
接口描述:
返回信息中头部带分页总数等
Content-Range :row 0-10/1
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Authorization | Bearer eyJhbGciOiJIUzUxMiIsInIiOjI4Nzk5OTE1NTIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2MjEzOTc2MDcsImlzYSI6MTYyMTM5NTgwNywiaXNzIjoib3JheXRlc3QwMTIiLCJyb2xlIjo0LCJ1aWQiOjEyNTY0MTIyLCJzZXIiOiJhdXRoLXdlYi5vcmF5Lm5ldCIsIm5zIjoidXNlciJ9.UwJQ67s80M10QEl-MJ_tojvd8S9L8GrmjvYQuvV1DaeYkSqpHbBGzSvRtytwP9dOScuiub2xxWvp8KD2mOHM8w | 是 | ||
| Query |
| 参数名称 | 是否必须 | 示例 | 备注 |
|---|---|---|---|
| keyword | 否 | oraytest012 | 关键字 |
| sort | 否 | -createtime | 排序 |
| limit | 是 | 10 | |
| offset | 是 | 0 | |
| remote_id | 是 | 12 | 关联设备 |
| check_id | 是 | 30 | 盘点id |
[
{
"id": 1, // 硬件资产id
"check_id":24, // 盘点id
"user_id": 12564122, // 用户id
"account": "oraytest012", // 账号id
"remote_id": 12, // 主机id
"create_time": 1632895518, // 盘点时间
"state": 1, // 主机状态
"relate_num": 1, // 关联过的数量
"op_id": 12564122, // 盘点人id
"op_account": "oraytest012", // 盘点人账号
"mac": "b0:83:fe:7b:ca:33", // mac
"ip": "192.168.30.119", // ip
"create_time": 1634796508, // 生成时间
"update_time": 1637723284, // 更新时间
},
{
"id": 5,
"check_id": 3,
"user_id": 12564122,
"account": "oraytest012",
"op_id": 12564122,
"op_account": "oraytest012",
"remote_id": 651469165,
"mac": "b0:83:fe:7b:ca:33",
"ip": "192.168.30.119",
"create_time": 1634796508,
"update_time": 1637723284,
"owner_id": 29109312
}
]
Path: /resources/checks/hardwares
Method: GET
接口描述:
返回信息中头部带分页总数等
Content-Range :row 0-10/1
字段 type:
cpu=>CPU
mainboard=>主板
videocard=>显卡
networkcard=>网卡
monitor=>显示器
maindisk=>硬盘
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Authorization | Bearer eyJhbGciOiJIUzUxMiIsInIiOjI4Nzk5OTE1NTIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2MjEzOTc2MDcsImlzYSI6MTYyMTM5NTgwNywiaXNzIjoib3JheXRlc3QwMTIiLCJyb2xlIjo0LCJ1aWQiOjEyNTY0MTIyLCJzZXIiOiJhdXRoLXdlYi5vcmF5Lm5ldCIsIm5zIjoidXNlciJ9.UwJQ67s80M10QEl-MJ_tojvd8S9L8GrmjvYQuvV1DaeYkSqpHbBGzSvRtytwP9dOScuiub2xxWvp8KD2mOHM8w | 是 | ||
| Query |
| 参数名称 | 是否必须 | 示例 | 备注 |
|---|---|---|---|
| keyword | 否 | oraytest012 | 关键字 |
| status | 否 | 0 | 资产状态:1使用中,2未绑定,3闲置,4报废,5丢弃 |
| sort | 否 | -updatetime | 排序 |
| limit | 是 | 10 | |
| offset | 是 | 0 | |
| type | 是 | cpu | 类型 |
| remote_id | 是 | 12 | 关联设备 |
| check_id | 是 | 24 | 盘点id |
[
{
"id": 1, // 硬件资产id
"check_id":24, // 盘点id
"user_id": 12564122, // 用户id
"account": "oraytest012", // 账号id
"remote_id": 12, // 主机id
"code": "123456", // 资产码
"type": "cpu", // 硬件类型
"model": "Intel(R) Core(TM) i5-10210U CPU @ 1.60GHz", // 资产型号
"status": 1, // 资产状态,1使用中,2未绑定,3闲置,4报废,5丢弃
"create_time": 1632895518, // 盘点时间
"state": 1, // 主机状态
"relate_num": 1, // 关联过的数量
"op_id": 12564122, // 盘点人id
"op_account": "oraytest012" // 盘点人账号
}
]
Path: /resources//resources/checks/relate-remote
Method: GET
接口描述:
返回信息中头部带分页总数等
Content-Range :row 0-10/1
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Authorization | Bearer eyJhbGciOiJIUzUxMiIsInIiOjI4Nzk5OTE1NTIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2MjEzOTc2MDcsImlzYSI6MTYyMTM5NTgwNywiaXNzIjoib3JheXRlc3QwMTIiLCJyb2xlIjo0LCJ1aWQiOjEyNTY0MTIyLCJzZXIiOiJhdXRoLXdlYi5vcmF5Lm5ldCIsIm5zIjoidXNlciJ9.UwJQ67s80M10QEl-MJ_tojvd8S9L8GrmjvYQuvV1DaeYkSqpHbBGzSvRtytwP9dOScuiub2xxWvp8KD2mOHM8w | 是 | ||
| Query |
| 参数名称 | 是否必须 | 示例 | 备注 |
|---|---|---|---|
| check_id | 是 | 7 | 盘点id |
| type | 否 | 1 | 不传或为0为硬件主机关联列表,为1为主机信息列表 |
[
{
"remote_id": 651469148,
"remote_name": "主机名",
"code": "12345,123456,1234a"
}
]
Path: /resources/check
Method: GET
接口描述:
返回信息中头部带分页总数等
Content-Range :row 0-10/1
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Authorization | Bearer eyJhbGciOiJIUzUxMiIsInIiOjI4Nzk5OTE1NTIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2MjEzOTc2MDcsImlzYSI6MTYyMTM5NTgwNywiaXNzIjoib3JheXRlc3QwMTIiLCJyb2xlIjo0LCJ1aWQiOjEyNTY0MTIyLCJzZXIiOiJhdXRoLXdlYi5vcmF5Lm5ldCIsIm5zIjoidXNlciJ9.UwJQ67s80M10QEl-MJ_tojvd8S9L8GrmjvYQuvV1DaeYkSqpHbBGzSvRtytwP9dOScuiub2xxWvp8KD2mOHM8w | 是 | ||
| Query |
| 参数名称 | 是否必须 | 示例 | 备注 |
|---|---|---|---|
| id | 否 | 26 | 盘点id,(为空是获取的是最新的) |
{
"resource_check_id": 26,
"user_id": 12564122,
"account": "oraytest012",
"num": 3,
"use": 1,
"scrap": 2,
"create_time": 1634547151
}
Path: /resources/checks/status
Method: PUT
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/x-www-form-urlencoded | 是 | ||
| Body |
| 参数名称 | 参数类型 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| id | text | 是 | 1,3,4 | 一键盘点硬件数据id |
| status | text | 是 | 1 | 资产状态:1使用中,2未绑定,3闲置,4报废,5丢弃 |
| remark | text | 是 | 备注 |
Path: /resources/hardwares/status
Method: GET
接口描述:
返回信息中头部带分页总数等
Content-Range :row 0-10/1
字段 type:
cpu=>CPU
mainboard=>主板
videocard=>显卡
networkcard=>网卡
monitor=>显示器
maindisk=>硬盘
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Authorization | Bearer eyJhbGciOiJIUzUxMiIsInIiOjI4Nzk5OTE1NTIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2MjEzOTc2MDcsImlzYSI6MTYyMTM5NTgwNywiaXNzIjoib3JheXRlc3QwMTIiLCJyb2xlIjo0LCJ1aWQiOjEyNTY0MTIyLCJzZXIiOiJhdXRoLXdlYi5vcmF5Lm5ldCIsIm5zIjoidXNlciJ9.UwJQ67s80M10QEl-MJ_tojvd8S9L8GrmjvYQuvV1DaeYkSqpHbBGzSvRtytwP9dOScuiub2xxWvp8KD2mOHM8w | 是 | ||
| Query |
| 参数名称 | 是否必须 | 示例 | 备注 |
|---|---|---|---|
| code | 否 | 123456 | 资产码 |
| sort | 否 | -createtime | 排序createtime倒序 |
| limit | 是 | 10 | |
| offset | 是 | 0 |
[
{
"id": 681, // 状态id
"user_id": 12564122, // 用户id
"account": "oraytest012", // 账号
"remote_id": 12, // 主机id
"code": "123456", // 资产码
"type": "cpu", // 资产类型
"model": "Intel(R) Core(TM) i5-10210U CPU @ 1.60GHz", // 型号
"now_status": 1, // 现在状态
"last_status": 1, // 原状态
"remark": "是的是的v", // 备注
"create_time": 1632902570 // 创建时间
}
]
Path: /contacts/:contactid
Method: PUT
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/json | 是 | ||
| 路径参数 | ||||
| 参数名称 | 示例 | 备注 | ||
| ------------ | ------------ | ------------ | ------------ | ------------ |
| contactid | ||||
| Body |
{
"name": "测试人 - 项羽",
"mobile": "13590013200"
}
{
"name": "测试人 - 项羽",
"mobile": "13590013200"
}
Path: /contacts/remote_contacts
Method: POST
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/json | 是 | ||
| Body |
{
"data": [
{
"id": "234",
"name": "张三",
"phone": "[\"1\",\"2\",\"3\",\"4\",\"5\"]",
"email": "[\"1@qq.com\",\"2@qq.com\"]"
},
{
"id": "236",
"name": "王五",
"phone": "[\"124657895\"]",
"email": "[\"123456789@163.com\"]"
}
],
"remote_id": 111,
"grant_status": 0, //0已授权,1未授权
"calllog_grant_status": 0 //0已授权,1未授权
}
Path: /contacts/remote_calllogs
Method: POST
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/json | 是 | ||
| Body |
{
"data": "[{\"id\":\"6\",\"callNumber\":\"02110016\",\"callStatus\":\"3\",\"callDate\":\"1656386807633\",\"location\":\"上海市\",\"callDuration\":45},{\"id\":\"5\",\"callNumber\":\"037157045011\",\"callStatus\":\"3\",\"callDate\":\"1638167506782\",\"location\":\"河南省郑州市\",\"callDuration\":50}]",
"remote_id": 111
}
Path: /contacts/:contactid
Method: DELETE
接口描述:
删除成功返回204
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/x-www-form-urlencoded | 是 | ||
| 路径参数 | ||||
| 参数名称 | 示例 | 备注 | ||
| ------------ | ------------ | ------------ | ------------ | ------------ |
| contactid |
Path: /contacts
Method: POST
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/json | 是 | ||
| Body |
{
"name": "测试人 - 项羽",
"mobile": "13590000001",
"email": "xdxx@oray.com"
}
{
"name": "测试人 - 项羽",
"mobile": "13590000001",
"email": "xdxx@oray.com"
}
Path: /contacts
Method: GET
接口描述:
Response Headers
Content-Range: row offset-limit/total
Query
| 参数名称 | 是否必须 | 示例 | 备注 |
|---|---|---|---|
| limit | 是 | ||
| offset | 是 | 偏移量 | |
| keyword | 否 | 关键词可模糊查询mobile或email | |
| sort | 否 | createtime |
[
{
"contact_id": 5,
"user_id": 12564122,
"name": "测试人 - 项羽",
"mobile": "测试人 - 项羽",
"email": "xdxx@oray.com",
"create_time": 1622053973
},
{
"contact_id": 3,
"user_id": 12564122,
"name": "测试人 - 项羽",
"mobile": "测试人 - 项羽",
"email": "xxx@oray.com",
"create_time": 1622053578
}
]
Path: /contacts/remote_contacts
Method: GET
接口描述:
Query
| 参数名称 | 是否必须 | 示例 | 备注 |
|---|---|---|---|
| remote_id | 是 | 设备id |
{
"logs": [
{
"log_id": 2,
"user_id": 12564122,
"callNumber": "037157045011",
"type": 1,
"callDuration": 50,
"callDate": "2021-11-29 14:31:46"
},
{
"log_id": 1,
"user_id": 12564122,
"callNumber": "02110016",
"type": 1,
"callDuration": 45,
"callDate": "2022-06-28 11:26:47"
}
]
}
Path: /contacts/remote_calllogs
Method: GET
接口描述:
Query
| 参数名称 | 是否必须 | 示例 | 备注 |
|---|---|---|---|
| remote_id | 是 | 设备id |
Path: /login-protect/contacts/:pcid
Method: DELETE
接口描述:
删除成功返回204
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/json | 是 | ||
| 路径参数 | ||||
| 参数名称 | 示例 | 备注 | ||
| ------------ | ------------ | ------------ | ------------ | ------------ |
| pcid | 获取登录保护告警人员联系方式的那个protect_contact_id | |||
| Body |
{
"contacts": [
{
"contact_id": 5
},
{
"contact_id": 1
}
]
}
Path: /authorize/code
Method: GET
接口描述:
封装auth-sl.oray.com/authorize/code,仅多增加 EX-ClientId
使用新域名 api-std.sunlogin.oray.com
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| X-ClientID | 是 | i2pVVngYXdW4UfzyozRS | i2pVVngYXdW4UfzyozRS | |
| EX-ClientId | 是 | clientid |
{
"code": "16f8d5f51e28d1962c460853b3832320",
"ttl": 180,
"wsaddr": "wss://auth-sl.oray.com/authorizecode?code=16f8d5f51e28d1962c460853b3832320"
}
<a id=新设备/多因子发送验证码【验证授权】>
Path: /login-terminals/sendcode
Method: POST
接口描述:
验证码发送成功将返回200
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/json | 是 | ||
| User-Agent | SLCC/5.3.0.38107 (Windows,x64) | 是 | ||
| EX-ClientId | xxxx | 是 | clientid | |
| Body |
{
"account": "oraytest012",
"method": "mobile", // 邮箱请传email
"type" : "factor", // 默认是新设备的,type == factor 就是多因子验证
"medium" : "voice", // 可留空,如果是mobile的时候,需要发送语音验证码,可以提交此参数, 需求是发送超过两次短信验证码后,自动转换成语音
"login_body" : "RSA加密的值"
}
{
"medium":"voice", // 当前发送的是语音还是短信
"sendnum":1, // 15分钟发送次数 mobile 和 email单独计数
"is_next_voice" : true, // 下次mobile的验证码是否是语音,true才返回此值
}
<a id=新设备/多因子校验验证码【验证授权】>
Path: /login-terminals/checkcode
Method: PUT
接口描述:
校验成功直接返回token
// 检验不成功会返回400,并有error数据
{
"error": "auth/cache_not_found",
"code": 0,
"message": "redis: nil"
}
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/json | 是 | ||
| EX-ClientId | 90e124a6-744b-43cd-a9d3-419909143a12 | 是 | 必须;客户端唯一标识UUID | |
| Body |
{
"account":"oraytest012",
"method":"mobile", // 短信的方式。邮件的请传email
"code":"787722", // 验证码
"terminal_name":"darren_pc", // 设备名称, 网页多因子验证的可缺省
"memo":"", // 设备备注,可缺省
"mac" : "00-15-5D-99-FE-83", // mac地址, 网页多因子验证的可缺省
"type" : "factor", // 默认是新设备,加上 type == factor 是多因子
"login_body" : "RSA加密的值"
}
{
"access_token": "eyJhbGciOiJIUzUxMiIsInIiOjg1MTI5NzA4OSwidHlwIjoiSldUIn0.eyJleHAiOjE2MjMzOTc5MTIsImlzYSI6MTYyMzM5MDcxMiwiaXNzIjoib3JheXRlc3QwMTIiLCJyb2xlIjo0LCJ1aWQiOjEyNTY0MTIyLCJzZXIiOiJhdXRoLXYyLm9yYXkubmV0IiwibnMiOiJ1c2VyIn0.uBRTUrH_aqG4sEZ3mMOtBRMl2Aldm60KL2D8HCivNFAz_ggxXl4QhB1htBHpVd_PaOHekjn0dIoo-Obivm7EGg",
"refresh_token": "YML5+GDqhvgAAAAUa3dxbGVpN2U5bzVTdkhHTE5vQ1dibjNjNzJRb1AwUm5iSVJObkxjbFZBPT0=",
"refresh_ttl": 2592000
}
Path: /users/register
Method: POST
接口描述:
注册接口参数详情请见:http://yapi.orayer.com:3000/project/51/interface/api/3713
域名: api-std.sunlogin.oray.com
向日葵的注册流程和公共平台一致,仅多增加 header.ex-clientid,走完向日葵自己的注册接口,端就不会触发新设备验证,
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/x-www-form-urlencoded | 是 | ||
| ex-clientid | 是 | 有需要就传 |
Path: /authorization
Method: POST
接口描述:
兼容POST /authorization情况。只需要报文增加terminal_name、memo、mac。
如果需要新设备验证,http.statuscode = 202。并将返回Response的数据。
如果不需要新设备验证,直接返回token数据
企业账号登录增加is_ent参数
增加is_web_remote参数,返回web_remote_token为非标准token,用于slrc.oray.com做验证
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/json | 是 | ||
| EX-ClientId | 90e124a6-744b-43cd-a9d3-419909143a12 | 是 | 必须;客户端唯一标识UUID | |
| User-Agent | SLCC/5.3.0.38107 (Windows,x64) | 是 | 必须 | |
| Body |
{
"loginname":"oraytest012", // 就是以前传的account, 现在改成传loginname
"ismd5":true, // 请传bool值
"password":"e10adc3949ba59abbe56e057f20f883e",
"terminal_name":"darren_pc", // 设备名称
"memo":"", // 设备备注,可缺省
"mac" : "00-15-5D-99-FE-83", // mac地址
"type" : "code", // code的话是手机验证码登录
"is_ent": 1, // 企业账号登录
"code" : "453673", // 验证码
"is_auth": true, // 是否已验证过
"login_body" : "RSA加密的值",
"is_web_remote": true, // 是否葵域名远控登录
}
{
"isnewclient": true, // 返回这个字段就是提示要新设备登录提醒
"mobile": "135****0003", // 没有mobile会返回空
"email": "t***@oray.com" // 没有email会返回空
}
Path: /login-terminals
Method: POST
接口描述:
200
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/json | 是 | ||
| EX-ClientId | 是 | |||
| Authorization | 是 | token | ||
| Body |
{
"type" : "qrcode", // 二维码方式,以后再扩展其他方式
"code" : "16f8d5f51e28d1962c460853b3832320", // qrcode的时候,必须是authorize/code 返回的code, 不然报错
"terminal_name":"darren_pc", // 设备名称
"mac" : "00-15-5D-99-FE-83" // mac地址
}
Path: /login-terminals
Method: GET
接口描述:
Response Headers
Content-Range: row offset-limit/total
| client | 名称 | |
|---|---|---|
| WINDOWS | Windows控制端 | |
| IOS | iOS控制端 | |
| ANDROID | android控制端 | |
| LINUX | Linux控制端 | |
| WINDOWS_X | Windows个人版 |
Query
| 参数名称 | 是否必须 | 示例 | 备注 |
|---|---|---|---|
| limit | 是 | 50 | |
| offset | 是 | 偏移量 | |
| keyword | 是 | 关键词模糊查询设备名称 | |
| client | 否 | 登录应用 | |
| sort | 是 | -last_login_time | -last_login_time就是倒序,last_login_time是正序 |
[
{
"client_id": "xxxbbb",
"user_id": 1,
"name": "test",
"memo": "memo",
"last_login_ip": "192.168.30.21",
"client": "useragent",
"last_login_time": 1622547991,
"create_time": 1622547969,
"is_valid" : true, // 是否有效。无效将会没有此字段(无效就是false,false会自动将此字段不返回),有效就是true。没有此字段“移除设备”变灰,不可点击。(移除设备实际是将此字段改为false,不会真正delete)
"state" : 1, // 在线状态 1 在线 0 不在线
"nickname": "" // 子帐号备注名
},
{
"client_id": "xxxx",
"user_id": 1,
"name": "test",
"memo": "memo",
"last_login_ip": "192.168.30.21",
"client": "useragent",
"last_login_time": 1622544520,
"create_time": 1622542785,
"nickname": "" // 子帐号备注名
},
{
"client_id": "0",
"user_id": 1,
"name": "test",
"memo": "memo",
"last_login_ip": "192.168.30.21",
"client": "useragent",
"last_login_time": 1622541636,
"create_time": 1622541504,
"nickname": "" // 子帐号备注名
}
]
Path: /login-terminals/:clientid
Method: DELETE
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/x-www-form-urlencoded | 是 | ||
| Authorization | Bearer xxx | 是 | ||
| 路径参数 | ||||
| 参数名称 | 示例 | 备注 | ||
| ------------ | ------------ | ------------ | ------------ | ------------ |
| clientid | ||||
| Query |
| 参数名称 | 是否必须 | 示例 | 备注 |
|---|---|---|---|
| user_id | 否 | 11 | 企业新体系 需带上企业帐号ID |
| is_delete | 否 | 1 | 企业新体系 是否物理删除记录 |
Path: /login-terminals/bind
Method: PUT
接口描述:
1、成功返回200
2、失败返回400
有可能出现的错误
lt/not_found_clientid 0x8fc6003 // 缺失唯一标识
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/json | 是 | ||
| EX-ClientId | 90e124a6-744b-43cd-a9d3-419909143a12 | 是 | clientid | |
| Authorization | Bearer xxx | 是 | token | |
| Body |
{
"pc_name": "主控的计算机名称",
"mac": "xxx-xxx-xxx-xx"
}
Path: /login-protect/save
Method: POST
接口描述:
contact_id 就是contacts那里的contact_id
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/json | 是 | ||
| Body |
{
"way":{
"manage_platform":true,
"slcc_enterprise":true,
"slcc_mobile":true,
"is_mobile":true,
"is_email":false
},
"contacts":[ // 所有要保存的contacts,在这里不管新增删除,每次提交多少就保存这些,原来是先删除库里的,再新增
{
"contact_id":5
},
{
"contact_id":1
}
]
}
{
"way":{
"manage_platform":true,
"slcc_enterprise":true,
"slcc_mobile":true,
"is_mobile":true,
"is_email":false
},
"contacts":[ // 所有要保存的contacts
{
"contact_id":5
},
{
"contact_id":1
}
]
}
Path: /login-terminals/:clientid
Method: GET
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Authorization | Bearer xxx | 是 | ||
| 路径参数 | ||||
| 参数名称 | 示例 | 备注 | ||
| ------------ | ------------ | ------------ | ------------ | ------------ |
| clientid |
{
"client_id": "xxxddd",
"user_id": 12564122,
"name": "龙的设备x",
"memo": "xxx",
"last_login_ip": "192.168.30.21",
"client": "WINDOWS",
"last_login_time": 1623308572,
"create_time": 1623308572,
"is_valid": true
}
Path: /login-protect/setting
Method: GET
接口描述:
{
"user_id": 12564122,
"is_open": true, // 是否开启
"create_time": 1621958149,
"update_time": -62135596800
}
Path: /login-protect/contacts
Method: GET
接口描述:
contact_id 就是contacts那里的contact_id
[
{
"protect_contact_id": 2,
"user_id": 12564122,
"contact_id": 1
},
{
"protect_contact_id": 3,
"user_id": 12564122,
"contact_id": 5
}
]
Path: /login-protect/way
Method: GET
接口描述:
{
"user_id": 12564122,
"manage_platform": true,
"slcc_enterprise": true,
"slcc_mobile": true,
"is_mobile": true,
"is_email": true
}
Path: /login-protect/setting
Method: POST
接口描述:
成功返回200
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/json | 是 | ||
| Body |
{
"is_open":true // 开启 true ; 关闭 false
}
Path: /login-protect/contacts
Method: POST
接口描述:
contact_id 就是contacts那里的contact_id
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/json | 是 | ||
| Body |
{
"contacts": [
{
"contact_id": 5
},
{
"contact_id": 1
}
]
}
{
"contacts": [
{
"user_id": 12564122,
"contact_id": 5
}
]
}
Path: /login-protect/way
Method: POST
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/json | 是 | ||
| Body |
{
"manage_platform": true,
"slcc_enterprise": true,
"slcc_mobile": true,
"is_mobile": true,
"is_email": false
}
{
"user_id": 12564122,
"manage_platform": true,
"slcc_enterprise": true,
"slcc_mobile": true,
"is_mobile": true
}
Path: /twice/sendcode
Method: POST
接口描述:
成功返回200
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/json | 是 | ||
| Authorization | Bearer xxx | 是 | ||
| Body |
{
"method":"mobile" // mobile or email
}
Path: /authentication/private
Method: GET
接口描述:
如果没有mobile或者email, 字段将不返回。
身份验证后将不加*返回
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Authorization | Bearer xxx | 是 | ||
| Query |
| 参数名称 | 是否必须 | 示例 | 备注 |
|---|---|---|---|
| type | 否 | type = 1 即为获取密码认证信息。不传或者传0就是验证码的的认证信息 |
{
"user_id": 12564122,
"mobile": "135***0003",
"email": "tes***.com",
"is_auth" : true // 是否已经身份验证,默认不返回或者是false,如果是密码认证过了的,is_auth返回true,但是mobile、email依然是处于加密状态(只有验证码验证后mobile和email才解密)
}
Path: /authentication/destroy
Method: DELETE
接口描述:
成功返回200
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/x-www-form-urlencoded | 是 | ||
| Authorization | Bearer xxx | 是 |
Path: /twice/checkpwd
Method: PUT
接口描述:
Body
{
"account":"oraytest012",
"password":"e10adc3949ba59abbe56e057f20f883e",
"ismd5":true
}
{
"code": 2,
"message": "[user/password_not_matched] Status 200 expected, 401 responsed, body: {\"error\":\"user/wrong_password\",\"message\":\"Wrong password\"}"
}
Path: /twice/checkcode
Method: PUT
接口描述:
验证成功200
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/json | 是 | ||
| Authorization | Bearer xxx | 是 | ||
| Body |
{
"method": "mobile",
"code": "645456"
}
Path: /broadcastings/remotes/:message_id
Method: GET
接口描述:
路径参数
| 参数名称 | 示例 | 备注 |
| ------------ | ------------ | ------------ | ------------ | ------------ |
| message_id | | 消息id |
Query
| 参数名称 | 是否必须 | 示例 | 备注 |
|---|---|---|---|
| offset | 否 | 偏移量 *limit 从0开始 | |
| limit | 否 | 限制数 |
{
// 字段为空/0 不返回字段
// 主机列表
"remotes": [
{
// 消息ID
"message_id": 69,
// 主机ID
"remote_id": 651468931,
// 主机名称
"remote_name": "asdfasdfasdf",
// 主机分组
"remote_groups": "99,qqqaa",
// 状态 0,未接收 1,已接受
"status": 1,
// 是否阅读 0,否 1,是
"is_read": 1,
// 阅读时间
"read_time": 16545454545,
// 接收时间
"complete_time": 1545454545
},
],
// 总数
"total": 1
}
Path: /broadcastings/remotes/:messageid
Method: GET
接口描述:
路径参数
| 参数名称 | 示例 | 备注 |
| ------------ | ------------ | ------------ | ------------ | ------------ |
| messageid | | |
Query
| 参数名称 | 是否必须 | 示例 | 备注 |
|---|---|---|---|
| remotes | 是 | 45512572,454846516 | 主机id 可批量 |
Path: /broadcastings
Method: GET
接口描述:
Query
| 参数名称 | 是否必须 | 示例 | 备注 |
|---|---|---|---|
| offset | 否 | 偏移量 offset*limit | |
| limit | 否 | 限制数 | |
| title | 否 | 标题 | |
| status | 否 | 状态 | |
| create_time | 否 | 2021-08-03~2021-08-03 | 创建时间 |
{
"broadcastings": [
{
// 消息id
"message_id": 69,
// 用户id
"user_id": 12501253,
// 格式
"format": 1,
// 标题
"title": "测试标题111",
// 内容
"content": "测试消息1222",
// 链接
"link": "https://www.oray.com",
// 有效时间
"expire_date": 1627996989,
// 设备数
"equipments": 3,
// 发送成功数
"completes": 3,
// 阅读数
"reads": 1,
// 状态 0.未发送 1.发送中 2.发送完成
"status": 0,
// 是否无效 0,否 1,是
"is_invalid": 1,
// 创建时间
"create_time": 1627910589
},
],
// 总数
"total": 1,
// 状态下拉选择
"status": {
"1": "待发送",
"2": "发送完成",
"3": "发送失败",
"4": "已失效"
}
}
Path: /broadcasting/:messageid
Method: DELETE
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/x-www-form-urlencoded | 是 | ||
| 路径参数 | ||||
| 参数名称 | 示例 | 备注 | ||
| ------------ | ------------ | ------------ | ------------ | ------------ |
| messageid |
Path: /broadcasting
Method: POST
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/x-www-form-urlencoded | 是 | ||
| Body |
| 参数名称 | 参数类型 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| title | text | 是 | 标题 | |
| content | text | 是 | 消息内容 | |
| tags | text | 否 | 113,114 | 标签id 与主机id 必须提交一个 |
| remotes | text | 否 | 651469001,651468935 | 主机id 与标签id 必须提交一个 |
| link | text | 否 | http://123.com | 链接地址 |
| send_start | text | 否 | 2021-08-03 22:20 |
Path: /broadcastings/:messageid
Method: GET
接口描述:
路径参数
| 参数名称 | 示例 | 备注 |
| ------------ | ------------ | ------------ | ------------ | ------------ |
| messageid | | |
// 字段为空/0 不返回
{
// 消息id
"message_id": 69,
// 用户id
"user_id": 12501253,
// 格式
"format": 1,
// 标题
"title": "测试标题111",
// 内容
"content": "测试消息1222",
// 链接
"link": "https://www.oray.com",
// 有效时间
"expire_date": 1627996989,
// 设备数
"equipments": 3,
// 发送成功数
"completes": 3,
// 阅读数
"reads": 1,
// 状态 0.未发送 1.发送中 2.发送完成
"status": 0,
// 是否无效 0,否 1,是
"is_invalid": 1,
// 创建时间
"create_time": 1627910589
}
Path: /news/:recordid
Method: DELETE
接口描述:
undefined
路径参数
| 参数名称 | 示例 | 备注 |
| ------------ | ------------ | ------------ | ------------ | ------------ |
| recordid | | |
Path: /records/news/:recordid
Method: PUT
接口描述:
无数据返回接口成功
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/x-www-form-urlencoded | 是 | ||
| 路径参数 | ||||
| 参数名称 | 示例 | 备注 | ||
| ------------ | ------------ | ------------ | ------------ | ------------ |
| recordid | 如果要已读所有,recordid传 0 | |||
| Query |
| 参数名称 | 是否必须 | 示例 | 备注 |
|---|---|---|---|
| source | 否 | 1 => 所有已读, 不传只update单条 |
Path: /newstotal
Method: GET
接口描述:
{
"readed_counts": 1,
"all_counts": 1
}
Query
| 参数名称 | 是否必须 | 示例 | 备注 |
|---|---|---|---|
| keyword | 是 |
{
"unread_counts":1,//为零时不返回
"readed_counts": 1,
"all_counts": 1
}
Path: /records/news
Method: GET
接口描述:
Query
| 参数名称 | 是否必须 | 示例 | 备注 |
|---|---|---|---|
| limit | 是 | ||
| offset | 是 | ||
| keyword | 否 | 模糊搜索消息标题 |
[
{
"record_id": 3,
"user_id": 12564122,
"title": "异地登录提示",
"type" : 1, // 1 -> 异地登录提示; 2 -> 新设备登录提醒
"content": {
"date_time": "2021-09-07 18:56:59",
"ip": "1.189.13.41",
"place": "黑龙江哈尔滨",
"client": "Windows控制端"
},
"send_time": 1631012564,
"is_read": true,//如果是未读不返回该值
"update_time": 1631012564
}
]
Path: /records/smstype
Method: GET
接口描述:
[
{
"type": "sunlogin-auth",
"cn_name": "敏感操作",
"en_name": "预留英文名"
},
{
"type": "sl-newclient",
"cn_name": "新设备登录",
"en_name": "预留英文名"
}
]
Path: /records/sms
Method: GET
接口描述:
Query
| 参数名称 | 是否必须 | 示例 | 备注 |
|---|---|---|---|
| limit | 是 | ||
| sort | 是 | ||
| keyword | 否 | 只是模糊搜索mobile | |
| offset | 是 | ||
| type | 否 | 类型 |
[
{
"record_id": 3,
"user_id": 12564122,
"type": "sl-newclient",// 短信分类
"mobile": "13590000000",
"content": "这是测试的短信内容2:验证码: 123456", // 短信内容
"is_secret": true, // 是否私密短信
"send_time": 1627984361,//发送时间
"create_time": 1627983815,
"remote_id" : 1, // 预留主机ID
"remote_name" : "设备名称" // 预留设备名称
},
{
"record_id": 2,
"user_id": 12564122,
"type": "sl-newclient",
"mobile": "13590000000",
"content": "这是测试的短信内容2:验证码: 123456",
"send_time": 1627984361,
"create_time": 1627983779
},
{
"record_id": 1,
"user_id": 12564122,
"type": "sl-newclient",
"content": "这是测试的短信内容",
"send_time": 1627984361,
"create_time": 1627983324
}
]
Path: /login-logs
Method: GET
接口描述:
Response Headers
Content-Range: row offset-limit/total
| client (大写的) | 名称 | |
|---|---|---|
| windows | Windows控制端 | |
| ios | iOS控制端 | |
| android | android控制端 | |
| linux | Linux控制端 |
Query
| 参数名称 | 是否必须 | 示例 | 备注 |
|---|---|---|---|
| limit | 是 | 50 | |
| offset | 是 | 偏移量 | |
| keyword | 是 | 关键词模糊查询设备名称 | |
| type | 否 | 登录应用 | |
| sort | 是 | -login_time | -login_time就是倒序,login_time是正序 |
| login_time | 否 | 2021-05-18 00:30:05,2021-05-19 00:30:05 | 创建时间,以英文逗号分隔 |
| client_id | 否 | 单个登录设备查询日志的时候需要传 |
[
{
"user_id": 1,
"log_id":1,
"client_id": "f534a4bf-5873-4bb7-b217-da178c638c41",
"terminal_name": "DESKTOP-PP2110K(陆璇)", // 设备名称
"memo": "陆璇测", // 备注
"login_ip": "183.233.96.66", // 登录IP
"type": "windows", // 登录应用
"version": "10.2.3", // 版本
"mac": "00-15-5D-99-FE-83", // mac
"login_time": 1628674222, // 登录时间
"login_time_str": "2021-05-18 00:45:03", // 登录时间
"login_region": "广东深圳" // 登录地区 - 暂无用
}
]
Path: /login-alarm-logs
Method: GET
接口描述:
Response Headers
Content-Range: row offset-limit/total
| client (大写的) | 名称 | |
|---|---|---|
| WINDOWS | Windows控制端 | |
| IOS | iOS控制端 | |
| ANDROID | android控制端 | |
| LINUX | Linux控制端 |
Query
| 参数名称 | 是否必须 | 示例 | 备注 |
|---|---|---|---|
| limit | 是 | 50 | |
| offset | 是 | 偏移量 | |
| keyword | 是 | 关键词模糊查询设备名称 | |
| type | 否 | 登录应用 | |
| sort | 是 | -createtime | -createtime就是倒序,createtime是正序 |
| createtime | 否 | 2021-05-18 00:30:05,2021-05-19 00:30:05 | 告警时间,以英文逗号分隔 |
| client_id | 否 | 单个登录设备查询日志的时候需要传 |
[
{
"user_id": 1,
"log_id":1,
"client_id": "f534a4bf-5873-4bb7-b217-da178c638c41",
"terminal_name": "DESKTOP-PP2110K(陆璇)", // 设备名称
"memo": "陆璇测", // 备注
"login_ip": "183.233.96.66", // 登录IP
"last_login_ip": "183.233.96.66", // 上次登录IP
"type": "WINDOWS", // 登录应用
"reason": "告警原因",
"create_time": 1628674222, // 告警时间
"create_time_str": "2021-05-18 00:45:03", // 告警时间
}
]
<a id=主机带宽(天/小时)>
Path: /reports/bandwidth-summary
Method: GET
接口描述:
Query
| 参数名称 | 是否必须 | 示例 | 备注 |
|---|---|---|---|
| time | 是 | 2021-05-18,2021-05-25 | 时间范围,用逗号隔开 |
| type | 是 | 1 | 统计单位 1-day 2-hour 默认1 |
[
{
"date": "2021-10-13",
"hour": "04",
"Internet": 10 //kbits
},
{
"date": "2021-10-14",
"hour": "08",
"Internet": 20
},
{
"date": "2021-10-15",
"hour": "00",
"Internet": 15
}
]
Path: /reports/remote-summary
Method: GET
接口描述:
{
"remote_count":5000, // 主机总数
"online_count":3000 // 在线数
}
Path: /reports/remote-districts
Method: GET
接口描述:
1、如果只有一个省里面的数据,默认返回province和city的数据
2、如果有多省数据,默认只返回province数据
3、需要查询省里面市的数据,请传province参数
Query
| 参数名称 | 是否必须 | 示例 | 备注 |
|---|---|---|---|
| province | 否 | 广东 | 返回某省下面市的数据 |
{
"province":[ // 省
{
"province":"广东",
"remote_count":500
}
],
"city":[ // 市
{
"city":"广州",
"remote_count":500
},
{
"city":"佛山",
"remote_count":500
}
]
}
Path: /reports/remote-online
Method: GET
接口描述:
Query
| 参数名称 | 是否必须 | 示例 | 备注 |
|---|---|---|---|
| date | 是 | 2021-10-12 |
[
{
"date": "2021-10-11",
"online_count": 11,
"hour": "04"
}
]
Path: /reports/control-time-rank
Method: GET
接口描述:
[
{
"userid": 1,
"username": "user1",
"min": 3
},
{
"userid": 3,
"username": "user3",
"min": 2
},
{
"userid": 2,
"username": "user2",
"min": 1
}
]
Path: /reports/control-count-rank
Method: GET
接口描述:
[
{
"userid": 3,
"username": "user3",
"count": 2
},
{
"userid": 2,
"username": "user2",
"count": 2
},
{
"userid": 1,
"username": "user1",
"count": 1
}
]
<a id=远控次数(天/小时)>
Path: /reports/control-summary
Method: GET
接口描述:
Query
| 参数名称 | 是否必须 | 示例 | 备注 |
|---|---|---|---|
| time | 是 | 2021-05-18,2021-05-25 | 时间范围,用逗号隔开 |
| type | 是 | 1 | 统计单位 1-day 2-hour 默认1 |
[
{
"date": "2021-10-13",
"hour": "04",
"count": 10
},
{
"date": "2021-10-14",
"hour": "08",
"count": 20
},
{
"date": "2021-10-15",
"hour": "00",
"count": 15
}
]
Path: /weekly/receivers-save
Method: POST
接口描述:
Body
{
//帐户ID
"users":[123,456,789]
}
{
"user_id": 12564122,
"users": [
481,
482,
483
]
}
Path: /weekly/receiver
Method: GET
接口描述:
Query
| 参数名称 | 是否必须 | 示例 | 备注 |
|---|---|---|---|
| keyword | 否 | 123 | 帐号/备注名/邮箱 |
Path: /weekly/receiver
Method: POST
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/x-www-form-urlencoded | 是 | ||
| Body |
| 参数名称 | 参数类型 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| users | text | 是 | 123,456,789 | 帐号id(可多个, ','间隔) |
{
"receivers": [
{
"user_id": 483
},
{
"user_id": 482
},
{
"user_id": 481
}
],
"total": 3
}
Path: /weekly/receiver/:userid
Method: DELETE
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/x-www-form-urlencoded | 是 | ||
| 路径参数 | ||||
| 参数名称 | 示例 | 备注 | ||
| ------------ | ------------ | ------------ | ------------ | ------------ |
| userid | 帐户ID |
Path: /custom-list/page
Method: POST
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/json | 是 | ||
| Body |
{
"module_id": "remote", // 模块ID
"user_id": 12564122, // 用户ID
"page_size": 10, // 每页记录数
"list":["field9","field2"] // 自定义字段
}
{
"module_id": "remote",
"user_id": 12564122,
"page_size": 10,
"list": [
"field9",
"field2"
]
}
Path: /custom-list/page
Method: GET
接口描述:
Query
| 参数名称 | 是否必须 | 示例 | 备注 |
|---|---|---|---|
| module_id | 是 | remote | 模块ID 区分页面 如 主机remote |
{
"custom_id": 1,
"module_id": "remote", //模块ID
"user_id": 12564122, // 用户ID
"page_size": 10, // 每页记录数
"list": [ // 自定义字段
"field9",
"field2"
]
}
Path: /tuyaiot/users
Method: GET
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Authorization | 是 | Bearer xxxxx |
{
// oray 用户ID
"user_id": 34764122,
// oray 帐号名
"account": "tingjiang010",
// 涂鸦用户ID
"tuya_userid": "bay1637203038524rxot",
// 涂鸦用户名
"username": "ORAY-tingjiang010",
// 国家码 中国-86
"country_code": "86",
// 创建时间
"create_time": 1637203582
}
Path: /tuyaiot/users
Method: POST
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/x-www-form-urlencoded | 是 | ||
| Authorization | 是 | Bearer xxxx |
Path: /tuyaiot/devicesbind
Method: GET
接口描述:
{
"is_bind": true
}
Path: /tuyaiot/devices/:device_id
Method: GET
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Authorization | 是 | Bearer xxxxx | ||
| 路径参数 | ||||
| 参数名称 | 示例 | 备注 | ||
| ------------ | ------------ | ------------ | ------------ | ------------ |
| device_id |
{
// 设备ID
"device_id": "003313322cf432379c80",
// sn
"sn": "GNBD16NZY02C43",
// mac
"mac": "2cf432379c80",
// 设备唯一标识码
"uuid": "003313322cf432379c80",
// 产品品类
"category": "wnykq",
// 设备名称
"name": "智能远控遥控器KH1",
// 产品ID
"product_id": "aagyuMeViZwSXXsD",
// 产品名称
"product_name": "万能遥控器",
// 家庭ID
"owner_id": "44048442",
// IP
"ip": "101.224.168.150",
// 产品型号
"model": "UFO-R1/R2",
// 时区
"time_zone": "+08:00",
// 设备图标
"icon": "smart/icon/ay1537005524478pGtw5/c4e8add5f88b5ccf698c50c41b70d3c5.jpg",
// 激活时间
"active_time": 1637635369,
// 更新时间
"update_time": 1637664772,
// 初次配网时间
"network_time": 1631759600,
// 设备功能状态
"status": [
{
// 功能点 Code
"code": "123",
// 功能点的值
"value": "456",
// 功能点的类型
"type": "789"
}
]
}
Path: /tuyaiot/devices/factory-infos/:device_id
Method: GET
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Authorization | 是 | Bearer xxxx | ||
| 路径参数 | ||||
| 参数名称 | 示例 | 备注 | ||
| ------------ | ------------ | ------------ | ------------ | ------------ |
| device_id | 003xx33xx4323xxx0 | 涂鸦设备ID |
{
// 设备ID
"device_id": "003313322cf432379c80",
// sn
"sn": "GNBD16NZY02C43",
// 设备唯一标识
"uuid": "003313322cf432379c80",
// mac
"mac": "2cf432379c80",
// 写入时间
"create_time": 1637657036
}
Path: /enterprise/bind
Method: GET
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Authorization | Bear xx | 是 |
{
"bind": [
{
"enterprise": { // 企业信息
"ent_id": 1, // 企业id
"user_id": 12564122, // 企业父账号id
"name": "测试公司", // 企业名称
"nick_name": "oray", // 企业别称
"create_time": "0001-01-01",
"update_time": "0001-01-01"
},
"bind_ent_userid": 1, // 绑定的企业账号
"bind_userid": 12564122, // 绑定的贝锐账号
"is_owner": true // true 本账号的企业
}
]
}
Path: /enterprise/count/users
Method: GET
接口描述:
{
"user_count": 1, //当前子账号数
"limit_count": 1, // 账号限制数, 0或字段不返回:不能创建), -1:不限制, 大于零
}
Path: /enterprise/bind/:ent_id
Method: PUT
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/json | 是 | ||
| Authorization | Bear xx | 是 | ||
| 路径参数 | ||||
| 参数名称 | 示例 | 备注 | ||
| ------------ | ------------ | ------------ | ------------ | ------------ |
| ent_id | ||||
| Body |
{
"ent_id": 1,
"name": "测试公司",
"nick_name": "oray.com"
}
{
"ent_id": 1,
"oray_userid": 12564122, // 贝锐账号id
"name": "测试公司",
"nick_name": "oray.com", // 公司别称
"create_time": "0001-01-01",
"update_time": "2021-12-14",
"invoice_status": 1, //企业认证 0 未认证 1 已认证
}
Path: /enterprise/bind/:entid
Method: GET
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Authorization | Bear xx | 是 | ||
| 路径参数 | ||||
| 参数名称 | 示例 | 备注 | ||
| ------------ | ------------ | ------------ | ------------ | ------------ |
| entid | 1 | 企业id | ||
| Query |
| 参数名称 | 是否必须 | 示例 | 备注 |
|---|---|---|---|
| with_user_count | 否 | true | 统计企业用户数 |
{
"ent_id": 1,
"oray_userid": 12564122, // 贝锐账号id
"name": "测试公司",
"nick_name": "oray.com", // 公司别称
"create_time": "0001-01-01",
"update_time": "2021-12-14",
"user_count":1,//企业人员
"unbind_count":1, // 未加入人员
"invoice_status": 1 // 企业认证状态 1 已认证
}
Path: /enterprise/setpassword
Method: POST
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/json | 是 | ||
| Authorization | Beare xxxx | 是 | ||
| Body |
{
"password": "123456",
"confirm_password": "123456",
"ent_userid": 121212,
}
Path: /enterprise/sync-zjprovider/:zj_id
Method: PUT
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/x-www-form-urlencoded | 是 | ||
| Authorization | Bearer Token | 是 | ||
| 路径参数 | ||||
| 参数名称 | 示例 | 备注 | ||
| ------------ | ------------ | ------------ | ------------ | ------------ |
| zj_id | 1 |
Path: /enterprise/send-code
Method: POST
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/json | 是 | ||
| Body |
{
"type": "login", // 验证码类型:login-登录验证码 verify-邀请验证 bind-手机绑定
"mobile": "13533508367", // 手机号
"sms_type": "sunlogin-auth", // 校验类型
"method": "mobile", // 发送方式
"ent_id": 1 // 企业ID
}
Path: /enterprise/zj-login
Method: POST
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/json | 是 | ||
| User-Agent | 是 | |||
| ex-clientid | 是 | |||
| Body |
{
"code": "sdsdsds", // 第三方登录返回code
"type": 3, // 1 企微 2 钉钉 3 飞书
"appkey": "sdsdsd",
"entid": 11,
"mac": "db:er:sd:sd",// mac地址
"auth_type": "invitation",// 再邀请认证的时候传值
}
{
"access_token": "eyJhbGciOiJIUzUxMiIsInIiOjgyMTkyNTk3NywidHlwIjoiSldUIn0.eyJleHAiOjE2NjA3MDQ2NjksImlzYSI6MTY2MDcwMjg2OSwiaXNzIjoiaWlpQG9yYXkuY29tIiwicm9sZSI6NCwidWlkIjo0ODAsInNlciI6ImF1dGgtZW50LnNsLm9yYXliZXRhLmNvbSIsIm5zIjoiZW50IiwiZXh0Ijp7ImVudGlkIjoiMSIsImdyb3VwcyI6IjUzIiwicGV1aWQiOiIxIiwicG91aWQiOiIxMjU2NDEyMiJ9fQ.Ry8gmuGy8rd_9vP8LlbbGJdPJ0YTAvj04tqYe3Shy5fyxQWa9di2FGIgZOLRn9YxOn04Vc1B1hu-0rCb1IDx6Q",
"refresh_token": "YvxQlWMj3ZUAAAAUNzVxYVZFcU50UEZ3TlpSbzI0NG1lVHJxMVhZaXdQRGJmcXB1VHAzZjZBPT0=",
"refresh_ttl": 2592000
}
Path: /enterprise/check-join
Method: POST
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/json | 是 | ||
| Body |
{
"code": "232323", //验证码
"mobile": "13677787779", //手机号码
"ent_id": 12, //企业ID
"type": "sunlogin-auth",//短信类型
"ent_userid": 2323, // 用户ID
}
{
"access_token": "eyJhbGciOiJIUzUxMiIsInIiOjgyMTkyNTk3NywidHlwIjoiSldUIn0.eyJleHAiOjE2NjA3MDQ2NjksImlzYSI6MTY2MDcwMjg2OSwiaXNzIjoiaWlpQG9yYXkuY29tIiwicm9sZSI6NCwidWlkIjo0ODAsInNlciI6ImF1dGgtZW50LnNsLm9yYXliZXRhLmNvbSIsIm5zIjoiZW50IiwiZXh0Ijp7ImVudGlkIjoiMSIsImdyb3VwcyI6IjUzIiwicGV1aWQiOiIxIiwicG91aWQiOiIxMjU2NDEyMiJ9fQ.Ry8gmuGy8rd_9vP8LlbbGJdPJ0YTAvj04tqYe3Shy5fyxQWa9di2FGIgZOLRn9YxOn04Vc1B1hu-0rCb1IDx6Q",
"refresh_token": "YvxQlWMj3ZUAAAAUNzVxYVZFcU50UEZ3TlpSbzI0NG1lVHJxMVhZaXdQRGJmcXB1VHAzZjZBPT0=",
"refresh_ttl": 2592000
}
Path: /enterprise/save-zjprovider
Method: POST
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/json | 是 | ||
| Body |
{
"corpid": "ssssssss", // 企微:企业ID
"agentid": "23232323", // 企微:agentid 飞书:AppKey
"secret": "ssssssss", // 企微:secret 飞书:AppSecret
"entid": 12,
"type": 1, // 1 企微 2 钉钉 3 飞书
"encryptkey": "sdsdsdsd",
}
{
"callbackurl": "usdhisdsidsdssdsdsd"
}
Path: /enterprise/cancel-zjprovider/:zj_id
Method: DELETE
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/x-www-form-urlencoded | 是 | ||
| Authorization | Bearer Token | 是 | ||
| 路径参数 | ||||
| 参数名称 | 示例 | 备注 | ||
| ------------ | ------------ | ------------ | ------------ | ------------ |
| zj_id | 1 | 自建应用id |
Path: /enterprise/qrcode-ttl/:state
Method: GET
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Authorization | Bearer Token | 是 | ||
| 路径参数 | ||||
| 参数名称 | 示例 | 备注 | ||
| ------------ | ------------ | ------------ | ------------ | ------------ |
| state |
{
"ttl": 35327
}
Path: /enterprise/provider-qrcode
Method: GET
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Authorization | Bearer Token | 是 |
{
"qrcode": "https://wework.qpic.cn/wwpic/386072_4TzR7h_9Qayt89h_1667376698/0",
"state": "bindwechat111667376697",
"ttl": 12232332
}
Path: /enterprise/zjproviders
Method: GET
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Authorization | Bearer Token | 是 | ||
| Query |
| 参数名称 | 是否必须 | 示例 | 备注 |
|---|---|---|---|
| type | 否 | 1 | 1 企微 2 钉钉 3 飞书 |
[
{
"zj_id": 1,
"corp_id": "sdsds",
"ent_id": 11,
"agent_id": "sdsdsd",
"secret": "sdsdsdeded",
"type": 1,
"create_time": "2022-02-02"
}
]
Path: /enterprise/send-auth
Method: POST
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/json | 是 | ||
| Authorization | Beare Token | 是 | ||
| Body |
{
"type": "email", // mobile:手机短信 email:邮箱 link:获取链接
"ent_userid": 12121, // 发送企业账号ID
"email": "34343@wewew", //邮箱
}
{
"link": "https://console.sunlogin.oray.com/account-system/invite?verifykey=6512bd43d9caa6e02c990b0a82652dca"//只有在type=link的时候返回
}
Path: /enterprise/verify-invitation
Method: GET
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/json | 是 | ||
| Query |
| 参数名称 | 是否必须 | 示例 | 备注 |
|---|---|---|---|
| t | 是 | 时间参数 | |
| verifykey | 是 | 校验秘钥 | |
| authcode | 是 | 校验码 | |
| type | 是 | 类型 | email: 邮箱 link: 链接 |
| Body |
{
"authcode": "asdsdsdsds", // 校验密文跳转链接会携带
"t": 13435455656, // 时间戳 跳转链接会携带
"verifykey": "sdsdsksd", // 校验key 跳转链接会携带
}
{
"ent_id": 1, // 企业ID
"name": "贝锐", // 企业名称
"account": "ass@xxx.xx", // 账号
"mobile": "122xxxxx", //手机
"rsa_string": "I9Y1BKBikrY0cRWlhlJ0U0p3MCL4WKnEAvytMltSUox5CcC3GMTXQUkldqDM3G3TnfsPQQYET0c9Ar2VGyM8kvxbmoyYAIYVBbCJCqBQrwZdBt==", // 加密数据
}
<a id=企业服务=检查第三方应用信息>
Path: /enterprise/check-zjprovider
Method: GET
接口描述:
Query
| 参数名称 | 是否必须 | 示例 | 备注 |
|---|---|---|---|
| nickname | 是 | 企业别名 | gaga |
| ent_id | 是 | 企业ID | 11 |
{
"zj_id": 22,
"ent_id": 1,
"agent_id": "cli_a275bcedf1e5900e",
"type": 3,
"create_time": "2022-08-30 21:16:26"
}
Path: /enterprise/users/:account/passwords/:loginname
Method: PUT
接口描述:
204
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/json | 是 | ||
| Authorization | Bear xx | 是 | 企业+ token | |
| 路径参数 | ||||
| 参数名称 | 示例 | 备注 | ||
| ------------ | ------------ | ------------ | ------------ | ------------ |
| account | 角色 | |||
| loginname | 帐号 | |||
| Body |
{
"userid": 1,
"account": "admin_12",
"password": "123456",
"signingkey": "",
"confim_password": "123456", // 确认的密码
"old_password": "000000", // 修改自己的密码时候使用
"is_md5": "false" // 修改自己的密码时候使, 密码是原文的话就不传了
}
{
"ent_userid": 9, // 企业账号id
"ent_id": 1,
"account": "w00006",
"email": "8888@qq.com",
"mobile": "15915915911",
"bind_user": {
"user_id": 111,
"account": "xxxx"
},
"group_ids": [
2,
3
],
"user_pass": [
{
"ent_userid": 9,
"password": "gasd3y",
}
],
"department_ids": [
12,
13
]
}
Path: /enterprise/change
Method: POST
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/json | 是 | ||
| Authorization | Bear xx | 是 | 需要贝锐的token,不支持企业token | |
| Body |
{
"ent_id" : 1 // 需要切换的企业id
}
{
"access_token": "eyJhbGciOiJIUzUxMiIsInIiOjE2NzE0NjQyNTYsInR5cCI6IkpXVCJ9.eyJleHAiOjE2Mzg0MzQ4NjUsImlzYSI6MTYzODQzMzA2NSwiaXNzIjoiYWRtaW4iLCJyb2xlIjo0LCJ1aWQiOjEsInNlciI6InN0YWJsZS1jbGllbnQtYXBpLnNsLm9yYXliZXRhLmNvbSIsIm5zIjoidXNlciIsImV4dCI6eyJncm91cHMiOiIxIn19.f_sIn_2k51yq6PkUuLXJzesaVj_FfxmlvHqFQ8FVIrcUHWwNbugs7O-uQRImDxgAdO0Y8uLKzqB-tGuBTX2Udg",
"refresh_token": "YaiBKWHQDikAAAAUejJsR0ZCVThrYVRXVzlnYmhNY3l5dUpLV25ML3FhVnRuSFl6U1plK0dRPT0=",
"refresh_ttl": 2592000
}
Path: /enterprise/security
Method: GET
接口描述:
{
"end_id" : 1, // 企业ID
"isvalid": 1, // 是否开启因子验证,1 是,2否
"type": 1, // 认证方式(按位与运算):1短信,2邮件,3短信&邮件
"mac_type": 1, // mac地址限制类型:1黑名单、2白名单
"mac_isvalid": 1, // 是否开mac限制:1开启,2关闭
"ip_type": 1, // ip地址限制类型:1黑名单、2白名单
"ip_isvalid": 1, // 是否开ip限制:1开启,2关闭
"schedule_type": 1, // 登录时间限制类型:1允许、2不允许
"schedule_isvalid": 1, // 是否开时间限制:1开启,2关闭
"session_ttl_type": 1, // 单次登录时间设置
"session_ttl": 15, // 单次登录会话过期时间,单位min
}
Path: /enterprise/security
Method: PUT
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/json | 是 | ||
| Body |
{
"isvalid": 1, // 是否开启因子验证
"type": 1, // 认证方式(按位与运算):1短信,2邮件,3短信&邮件
"mac_type": 1, // mac地址限制类型:1黑名单、2白名单
"ip_type": 0, // ip地址限制类型:1黑名单、2白名单
"schedule_type": 0, // 登录时间限制类型:1允许、2不允许
"session_ttl": 10 // 单次登录会话过期时间,单位min
}
Path: /enterprise/users/:account
Method: PUT
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/json | 是 | ||
| Authorization | Bearer xxx | 是 | 企业+ token | |
| 路径参数 | ||||
| 参数名称 | 示例 | 备注 | ||
| ------------ | ------------ | ------------ | ------------ | ------------ |
| account | test0001 | 用户帐号名 | ||
| Body |
{
"account": "w00006", // 帐号名
"nick": "w00007", // 昵称
"email": "8000@qq.com", // 邮箱
"mobile": "15915915931", // 手机号
"expire_time": "-1", // 到期时间,未设置不传,若要重置为无限制,则输入-1
"is_enble": true, // 是否允许登录
"remote_limit": 0, // 可控主机数(-1 不限制,0 不能创建主机,大于0 可建主机)
"group_ids": [ // 角色权限分组
2,
3
],
"department_ids": [ // 部门
1,
3
],
"admin_department_ids":[ // 设置为部门管理者
1,
2
]
}
{
"user_id": 9, // 企业帐号ID
"ent_id": 1, // 企业ID
"account": "w00006", // 帐号名
"nick": "w00007", // 昵称
"email": "8000@qq.com", // 邮箱
"mobile": "15915915931", // 手机号
"is_enble": true, // 是否有效
"is_department_admin": true, // 是否为部门管理者
"group_ids": [ // 角色权限分组
1,
3
]
}
Path: /enterprise/users
Method: GET
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/json | 是 | ||
| Authorization | Bearer xx | 是 | 企业+ token | |
| Query |
| 参数名称 | 是否必须 | 示例 | 备注 |
|---|---|---|---|
| keyword | 否 | 888@oray.com | 查询关键字 |
| offset | 是 | 0 | 页码 |
| limit | 是 | 每页数量 | |
| sort | 否 | nickname,-createtime | 排序, nickname =》 asc; -name => desc (可用字段, account nickname createtime) |
| department_ids | 否 | 1,2,3 | 部门id |
| exp | 否 | 1 | 过期类型 0 全部或不传 1 长期 2 有效期至 3 已失效 |
| filter_isenble | 否 | 0 | 是否启用:0 全部 1 未启用 2 已启用 |
| filter_isverified | 否 | 0 | 是否加入:0 全部 1 未启用 2 已启用 |
| Body |
{
"account": "w00006", // 子账号
"nickName": "w00006", // 账号备注名
"email": "8888@qq.com",
"mobile": "15915915911",
"isEnble": true, // 允许登录,true允许
"bind_user": { // 绑定贝锐账号
"user_id":111,
"account": "xxxx"
},
"department_ids": [ // 关联部门id
12,
13
],
"user_pass": [ // 账号密码
{
"loginname": "w00006"
}
],
"group_ids": [ // 角色权限
2,
3
]
}
{
"total": 1, // 统计数
"users": [{
"user_id": 6, // 企业账号id
"account": "w00006", // 企业子账号
"nick": "w00006", // 账号备注名
"email": "8888@qq.com", // 邮箱
"mobile": "15915915911", // 手机号
"expire_time": "2021-12-17 17:32:51", // 过期时间
"is_enble": true, // 允许登录,true允许
"is_verified": true, // 是否加入企业
"is_provide": 1, // 1 企微 2 钉钉 3 飞书
"bind_user": { // 绑定贝锐账号
"user_id": 111, // Oray服务代码
"account": "xxxx" // Oray帐号名
},
"department_ids": [ // 关联部门id
12,
13
],
"passes": [ // 账号密码
{
"loginname": "w00006"
}
],
"group_ids": [ // 角色权限分组
2,
3
],
"remote_limit": -1 // 可控主机数(-1 不限制,0 不能创建主机,大于0 可建主机)
}]
}
Path: /enterprise/users/:account
Method: DELETE
接口描述:
成功返回 statusCode : 204
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/x-www-form-urlencoded | 是 | ||
| Authorization | Bearer xxx | 是 | ||
| 路径参数 | ||||
| 参数名称 | 示例 | 备注 | ||
| ------------ | ------------ | ------------ | ------------ | ------------ |
| account | 需要删除的用户 |
Path: /enterprise/upload/users
Method: POST
接口描述:
上传excel文件处理用户数据
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | multipart/form-data | 是 | ||
| Authorization | Bear xx | 是 | 企业+ token | |
| Body |
| 参数名称 | 参数类型 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| file | file | 是 | 文件 |
[
{
"user":{
"account": "w00006", // 子账号
"nick": "w00006", // 账号备注名
"email": "8888@qq.com",
"mobile": "15915915911",
"is_enble": true, // 允许登录,true允许
"expire_time": "-1", // 过期时间,-1表示无期
"bind_user": { // 绑定贝锐账号
"user_id":111,
"account": "xxxx"
},
"department_ids": [ // 关联部门id
12,
13
],
"passes": [ // 账号密码
{
"ent_userid": 9,
"password": "gasd3y",
}
],
"group_ids": [ // 角色权限
2,
3
]
},
"error": "user/account_already_exists"// 错误码
}
]
Path: /enterprise/batch-create/users
Method: POST
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/json | 是 | ||
| Authorization | Bearer xx | 是 | 企业+ token | |
| Body |
[{
"account": "w00006", // 帐号
"nick": "w00006", // 昵称
"email": "8888@qq.com", // 邮箱
"mobile": "15915915911", // 手机号
"is_enble": true, // 允许登录,true允许
"expire_time": "-1", // 过期时间,-1表示无期
"bind_user": { // 绑定贝锐账号
"user_id":111, // Oray服务代码
"account": "xxxx" // Oray帐号名
},
"department_ids": [ // 关联部门id
12,
13
],
"admin_department_ids": [ // 设置为部门管理者
1,
2
],
"passes": [ // 账号密码
{
"loginname": "w00006"
}
],
"group_ids": [ // 角色权限分组
2,
3
]
}]
[{"user":{
"user_id": 9, // 企业帐号ID
"ent_id": 1, // 企业ID
"account": "w00006", // 帐号名
"email": "8888@qq.com", // 邮箱
"mobile": "15915915911", // 手机号
"bind_user": { // 绑定Oray信息
"user_id": 111, // Oray服务代码
"account": "xxxx" // Oray帐号
},
"group_ids": [ // 角色权限分组
2,
3
],
"admin_department_ids": [ // 部门管理者
1,
2
],
"passes": [ // 密码
{
"user_id": 9,
"password": "gasd3y",
}
],
"department_ids": [ // 部门
12,
13
]
},
"error": "user/account_already_exists"// 错误码,创建失败才返回
}]
Path: /enterprise/batch/users
Method: POST
接口描述:
前端解析excel组装json数据传输
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/json | 是 | ||
| Authorization | Bearer xxx | 是 | 企业+ token | |
| Body |
[
{
"account": "www226", // 帐号名
"email": "", // 邮箱
"mobile": "", // 手机号
"departments": "ddd", // 部门
"groups": "管理员" // 角色权限分组
},
{
"account": "www227", // 帐号名
"email": "", // 邮箱
"mobile": "", // 手机号
"departments": "ddd", // 部门
"groups": "管理员" // 角色权限分组
}
]
[
{
"user":{
"account": "w00006", // 子账号
"nick": "w00006", // 账号备注名
"email": "8888@qq.com",
"mobile": "15915915911",
"is_enble": true, // 允许登录,true允许
"expire_time": "-1", // 过期时间,-1表示无期
"bind_user": { // 绑定贝锐账号信息
"user_id":111, // Oray服务代码
"account": "xxxx" // Oray帐号
},
"department_ids": [ // 关联部门id
12,
13
],
"passes": [ // 账号密码
{
"ent_userid": 9,
"password": "gasd3y",
}
],
"group_ids": [ // 角色权限分组
2,
3
]
},
"error": "user/account_already_exists"// 错误码,创建失败才返回
}
]
Path: /enterprise/users
Method: POST
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/json | 是 | ||
| Authorization | Bearer xx | 是 | 企业+ token | |
| Body |
{
"account": "w00006", // 帐号
"nick": "w00006", // 昵称
"email": "8888@qq.com", // 邮箱
"mobile": "15915915911", // 手机号
"is_enble": true, // 允许登录,true允许
"expire_time": "-1", // 过期时间,-1表示无期
"bind_user": { // 绑定贝锐账号
"user_id":111, // Oray服务代码
"account": "xxxx" // Oray帐号名
},
"department_ids": [ // 关联部门id
12,
13
],
"admin_department_ids": [ // 设置为部门管理者
1,
2
],
"passes": [ // 账号密码
{
"loginname": "w00006"
}
],
"group_ids": [ // 角色权限分组
2,
3
]
}
{
"user_id": 9, // 企业帐号ID
"ent_id": 1, // 企业ID
"account": "w00006", // 帐号名
"email": "8888@qq.com", // 邮箱
"mobile": "15915915911", // 手机号
"bind_user": { // 绑定Oray信息
"user_id": 111, // Oray服务代码
"account": "xxxx" // Oray帐号
},
"group_ids": [ // 角色权限分组
2,
3
],
"admin_department_ids": [ // 部门管理者
1,
2
],
"passes": [ // 密码
{
"user_id": 9,
"password": "gasd3y",
}
],
"department_ids": [ // 部门
12,
13
]
}
Path: /enterprise/users/:account/unbind
Method: DELETE
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/x-www-form-urlencoded | 是 | ||
| Authorization | Bear xx | 是 | ||
| 路径参数 | ||||
| 参数名称 | 示例 | 备注 | ||
| ------------ | ------------ | ------------ | ------------ | ------------ |
| account | 需要解绑的企业用户 |
{
"user_id": 34,
"ent_id": 1,
"account": "www006",
"nick": "w000333",
"email": "1111@oary.com",
"mobile": "19878831369",
"is_enble": true,
"create_time": "2021-12-22 21:30:51",
"update_time": "2021-12-28 14:09:20",
"passes": [
{
"user_id": 34,
"ent_id": 1,
"account": "www006",
"password": "9h2cmb",
"password_md5": "d41d8cd98f00b204e9800998ecf8427e",
"signingkey": "xpAoetkWeAOagJDDsAvspGZoys381DA3"
}
]
}
Path: /enterprise/users/:account
Method: GET
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Authorization | Bearer xxx | 是 | token | |
| 路径参数 | ||||
| 参数名称 | 示例 | 备注 | ||
| ------------ | ------------ | ------------ | ------------ | ------------ |
| account | 用户帐号名 |
{
"user_id": 34, // 帐号ID
"ent_id": 1, // 企业ID
"account": "www006", // 帐号
"nick": "备注", // 昵称
"email": "1111@oary.com", // 邮箱
"mobile": "19878831369", // 手机号
"create_time": "2021-12-22 21:30:51", // 创建时间
"expire_time": "2021-12-22 20:26:16", // 过期时间
"update_time": "2021-12-23 10:30:28", // 更新时间
"bind_user": { // 绑定Oray信息
"user_id": 1004, // Oray服务代码
"account": "oaryaccount" // Oray帐号
},
"department_ids": [ // 部门
11,
14
],
"admin_department_ids": [ // 部门管理者
1,
2
],
"group_ids": [ // 角色权限分组
1,
2
],
// 角色权限分组
"groups": [
{
// 分组id
"group_id": 80,
// 是否为部门权限
"is_department": true
},
{
"group_id": 72,
"is_department": true
},
{
"group_id": 72
}
],
"remote_limit": -1 // 可控主机数(-1 不限制,0 不能创建主机,大于0 可建主机)
}
Path: /enterprise/groups
Method: GET
接口描述:
undefined
Path: /enterprise/groups
Method: POST
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/json | 是 | ||
| Body |
{
// 分组名称
"name": "普通管理员"
}
Path: /enterprise/groups/:groupid
Method: DELETE
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/x-www-form-urlencoded | 是 | ||
| 路径参数 | ||||
| 参数名称 | 示例 | 备注 | ||
| ------------ | ------------ | ------------ | ------------ | ------------ |
| groupid | 分组ID |
Path: /enterprise/role-groups/:groupid/acl
Method: PUT
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/json | 是 | ||
| 路径参数 | ||||
| 参数名称 | 示例 | 备注 | ||
| ------------ | ------------ | ------------ | ------------ | ------------ |
| groupid | 分组ID | |||
| Body |
{
"function": {
"test::deleteRecord": {
"target_id": "test::deleteRecord",
"allow": true
},
"test::doSomething": {
"target_id": "test::doSomething",
"allow": true
}
},
// 设备可见范围 1:全组织 2:部门及下级 3:部门 4:特定部门
"visible_range": 1,
// 设备可见部门ID集合
"department_ids":[1,2,3]
}
Path: /enterprise/role-groups/:groupid/acl
Method: GET
接口描述:
路径参数
| 参数名称 | 示例 | 备注 |
| ------------ | ------------ | ------------ | ------------ | ------------ |
| groupid | | 分组ID |
{
"function": {
"dashboard::dashboard": {
"target_id": "dashboard::dashboard",
"allow": true
}
}
}
Path: /enterprise/role-groups/:groupid/reset
Method: GET
接口描述:
路径参数
| 参数名称 | 示例 | 备注 |
| ------------ | ------------ | ------------ | ------------ | ------------ |
| groupid | 1 | 分组ID 针对企业内置默认角色 |
{
"function": {
"dashboard::dashboard": {
"target_id": "dashboard::dashboard",
"allow": true
}
}
}
Path: /enterprise/role-groups/:groupid/users
Method: GET
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Authorization | 是 | |||
| 路径参数 | ||||
| 参数名称 | 示例 | 备注 | ||
| ------------ | ------------ | ------------ | ------------ | ------------ |
| groupid | 72 | 分组id | ||
| Query |
| 参数名称 | 是否必须 | 示例 | 备注 |
|---|---|---|---|
| offset | 是 | 0 | |
| limit | 是 | 20 | |
| keyword | 否 | 测试 |
{
"users": [
{
// 分组id
"group_id": 72,
// 帐号id
"user_id": 5219,
// 帐号名
"account": "test9999",
// 昵称
"nickname": "测试"
}
],
"total": 1
}
Path: /enterprise/role-groups/:groupid/users/:userid
Method: POST
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/x-www-form-urlencoded | 是 | ||
| Authorization | 是 | |||
| 路径参数 | ||||
| 参数名称 | 示例 | 备注 | ||
| ------------ | ------------ | ------------ | ------------ | ------------ |
| groupid | 72 | 分组id | ||
| userid | 帐号id | |||
| Body |
{
// 部门ID
"department_id": 111
}
{
"group_id": 72,
"user_id": 952,
"ent_id": 15
}
Path: /enterprise/role-groups/:groupid/users
Method: POST
接口描述:
// 权限分组-帐号记录已存在
error : group/group_user_exists
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/json | 是 | ||
| Authorization | 是 | |||
| 路径参数 | ||||
| 参数名称 | 示例 | 备注 | ||
| ------------ | ------------ | ------------ | ------------ | ------------ |
| groupid | 72 | 分组id | ||
| Body |
{
// 帐号id
"user_id": 11111
}
{
"user_id": 72,
"department_id": 952,
"ent_id": 15
}
Path: /enterprise/role-groups/:groupid/user-total
Method: GET
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Authorization | 是 | |||
| 路径参数 | ||||
| 参数名称 | 示例 | 备注 | ||
| ------------ | ------------ | ------------ | ------------ | ------------ |
| groupid | 72 | 分组id |
{
// 权限成员总数
"amount": 11
}
Path: /enterprise/groups/sorts
Method: PUT
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/json | 是 | ||
| Body |
{
"sorts": [
{
// 分组ID
"group_id": 1,
// 排序
"sort": 1
},
{
// 分组ID
"group_id": 2,
// 排序
"sort": 2
}
]
}
Path: /enterprise/groups/:groupid
Method: PUT
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/json | 是 | ||
| 路径参数 | ||||
| 参数名称 | 示例 | 备注 | ||
| ------------ | ------------ | ------------ | ------------ | ------------ |
| groupid | 分组ID | |||
| Body |
{
// 分组名称
"name": "普通管理员",
// 排序
"sort" : 1
}
Path: /enterprise/role-groups/:groupid/departments
Method: GET
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Authorization | 是 | |||
| 路径参数 | ||||
| 参数名称 | 示例 | 备注 | ||
| ------------ | ------------ | ------------ | ------------ | ------------ |
| groupid | 72 | 分组id | ||
| Query |
| 参数名称 | 是否必须 | 示例 | 备注 |
|---|---|---|---|
| offset | 是 | 0 | |
| limit | 是 | 20 | |
| keyword | 否 | 测试 |
{
"departments": [
{
// 分组id
"group_id": 72,
// 部门id
"department_id": 956,
// 部门名称
"name": "测试"
}
],
"total": 1
}
Path: /enterprise/role-groups/:groupid/departments/:departmentid
Method: POST
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/x-www-form-urlencoded | 是 | ||
| Authorization | 是 | |||
| 路径参数 | ||||
| 参数名称 | 示例 | 备注 | ||
| ------------ | ------------ | ------------ | ------------ | ------------ |
| groupid | 72 | 分组id | ||
| departmentid | 952 | 部门id | ||
| Body |
{
// 部门ID
"department_id": 111
}
{
"group_id": 72,
"department_id": 952,
"ent_id": 15
}
Path: /enterprise/role-groups/:groupid/departments
Method: POST
接口描述:
// 权限分组-部门记录已存在
error : group/group_department_exists
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/json | 是 | ||
| Authorization | 是 | |||
| 路径参数 | ||||
| 参数名称 | 示例 | 备注 | ||
| ------------ | ------------ | ------------ | ------------ | ------------ |
| groupid | 72 | 分组id | ||
| Body |
{
// 部门ID
"department_id": 111
}
{
"group_id": 72,
"department_id": 952,
"ent_id": 15
}
Path: /entperise/modules
Method: GET
接口描述:
[
{
"module": {
// remotely:为端远程操作功能
"module_id": "test",
"name": "测试模块"
},
"functions": [
{
"function_id": "deleteRecord",
"name": "删除记录",
"module_id": "test",
"privacy": 2,
// 功能类型 list:列表 add:添加 edit:编辑 delete:删除
"type": "delete"
}
]
}
]
Path: /enterprise/functions
Method: GET
接口描述:
RemoteAssistance 远程协助
Recent 最近访问
AdvancedApp 高级应用
{
"functions": [
{
// 功能
"function": "CmdSsh",
// 是否显示
"allow": true
}
]
}
Path: /enterprise/department/:department_id
Method: POST
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/json | 是 | ||
| Authorization | Bear xx | 是 | ||
| 路径参数 | ||||
| 参数名称 | 示例 | 备注 | ||
| ------------ | ------------ | ------------ | ------------ | ------------ |
| department_id | 1 | 部门id | ||
| Body |
{
"from_id": "11", //仅上移下移时使用,目标的部门id
"name": "xxx", // 部门id
}
{
"department_id": 11, //部门id
"ent_id": 1, //企业id
"parent_id": 2, // 父节点id
"sort": 3,// 排序
"name": "bb测试部", // 企业名称
}
Path: /enterprise/department/sorts
Method: PUT
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/json | 是 | ||
| Authorization | Bear xx | 是 | ||
| Body |
{
"sorts": [
{
// 部门id
"department_id": 31,
// 排序
"sort": 5
}
]
}
{}
Path: /enterprise/department
Method: GET
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Authorization | Bear xx | 是 | ||
| Query |
| 参数名称 | 是否必须 | 示例 | 备注 |
|---|---|---|---|
| with_user_count | 否 | true | 当前部门账号数(未向上统计) |
| with_remote_count | 否 | true | 当前部门主机数(未向上统计) |
[
{
"department_id": 11, //部门id
"ent_id": 1, //企业id
"parent_id": 2, // 父部门id
"sort": 4, // 排序
"name": "bb测试部",
"is_provide": 1 // 1 企微 2 钉钉 3 飞书
},
{
"department_id": 3,
"ent_id": 1,
"parent_id": 1,
"sort": 3,
"name": "蒲公英测试部",
"path": "|1|1",
"is_provide": 1 // 1 企微 2 钉钉 3 飞书
}
]
Path: /enterprise/department/:department_id
Method: DELETE
接口描述:
成功返回 statusCode : 204
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/x-www-form-urlencoded | 是 | ||
| Authorization | Bear xx | 是 | ||
| 路径参数 | ||||
| 参数名称 | 示例 | 备注 | ||
| ------------ | ------------ | ------------ | ------------ | ------------ |
| department_id |
{}
Path: /enterprise/department
Method: POST
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/json | 是 | ||
| Authorization | Bear xx | 是 | ||
| Body |
{
"parent_id": 2, // 父部门id
"name": "bb测试部" //部门名称
}
{
"department_id": 11, //部门id
"ent_id": 1, //企业id
"parent_id": 2, // 父节点id
"sort": 3,// 排序
"name": "bb测试部", // 企业名称
}
Path: //
Method: GET
接口描述:
| error | code(16进制错误码) | message | 备注/说明 |
|---|---|---|---|
// 业务错误统一返回格式:
{
"error": "module/some_error",
"code" : 1111111111,
"message": "error messasges"
}
Path: /notice/remotes/:config_id
Method: GET
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Authorization | 是 | Bearer xxxxxx | ||
| 路径参数 | ||||
| 参数名称 | 示例 | 备注 | ||
| ------------ | ------------ | ------------ | ------------ | ------------ |
| config_id |
{
"remotes": [
{
// 配置ID
"config_id": 7,
// 主机ID
"remote_id": 34764122,
// 创建时间
"create_time": 1638514351
},
],
// 总数
"total": 10
}
Path: /notice/configs
Method: GET
接口描述:
配置类型
1:远控日志邮件通知
2:设备上下线通知
3:登录异常
4:服务器周报
5:行为异常
6:设备异常
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Authorization | 是 | Bearer xxx |
{
"configs": [
{
// 配置ID
"config_id": 7,
// 帐户ID
"user_id": 34764122,
// 类型
"type": 4,
// 通知终端-位运算
"terminal": 1,
// 选项
"option": {
// 频率 everytime:每次 cron:定时任务
"frequency": "cron",
// 区间 month:每月 week:每周 day:每天
"interval": "week",
// 时间
"time": "01:00",
// 设备上下线选项 login:上线 logout:下线 all:上下线
"equipment": "login"
},
"create_time": 1638514351
},
{
// 行为异常策略
"type" : 5,
"childs": [
{
"config_id": 37,
"user_id": 34764122,
"type": 5,
"option": {},
"create_time": 1639991444
}
]
}
]
}
Path: /notice/receivers/:config_id
Method: GET
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Authorization | 是 | Bearer xxx | ||
| 路径参数 | ||||
| 参数名称 | 示例 | 备注 | ||
| ------------ | ------------ | ------------ | ------------ | ------------ |
| config_id | 1 | 配置ID | ||
| Query |
| 参数名称 | 是否必须 | 示例 | 备注 |
|---|---|---|---|
| offset | 否 | 1 | 偏移量 |
| limit | 否 | 1 | 限制数 |
| keyword | 否 | 测试 | 关键词 名称/手机号/邮箱 |
| type | 否 | 1 | 类型 1:联系人 2:企业用户 为空/默认:全部 |
{
"receivers": [
{
// 配置ID
"config_id": 7,
// 联系人ID
"contact_id": 34764122,
// 类型 1:联系人 2:企业用户
"type": 1,
// 创建时间
"create_time": 1638514351
},
],
// 总数
"total": 10
}
Path: /notice/configs/:config_id
Method: PUT
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/json | 是 | ||
| Authorization | 是 | Bearer xxxxx | ||
| 路径参数 | ||||
| 参数名称 | 示例 | 备注 | ||
| ------------ | ------------ | ------------ | ------------ | ------------ |
| config_id | 123 | 配置ID | ||
| Body |
{
// 通知终端-位运算
"terminal": 1,
// 配置选项
"option":{
// 类型 everytime:每次 cron:定时
"frequency":"cron",
// 定时区间 month:每月 week:每周 day: 每日
"interval":"month",
// 定时时间
"time":"01:00",
// 设备通知选项 login:上线 logout:下线 all:上下线
"equipment":"on"
},
// 主机ID集合
"remote_ids": [1,3,4],
// 接收人ID集合
"receiver_ids": [
// id:联系人ID/企业用户ID type:用户类型 1,联系人 2,企业用户
{"id": 1,"type":1},
{"id": 2,"type":2},
]
}
Path: /notice/receivers-select
Method: GET
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Authorization | 是 | Bearer xxx | ||
| Query |
| 参数名称 | 是否必须 | 示例 | 备注 |
|---|---|---|---|
| type | 否 | 1 | 类型 1:消息接收人 2:企业用户 空/不传:全部 |
| keyword | 否 | 测试 | 企业帐号名/接收人名/邮箱/联系方式 |
| config_id | 否 | 1 | 配置ID |
| offset | 否 | 0 | 偏移量 |
| limit | 否 | 10 | 限制数 默认10 |
{
"receivers": [
{
// ID
"id": 33,
// 类型 1:消息接收人 2:企业用户
"type": 1,
// 名称/企业账号名
"name": "刘测试v2",
// 邮箱
"email": "luxuan@oray.com",
// 联系方式
"mobile": "13600000000",
// 是否为配置接收人
"is_receiver": true
}
]
}
Path: /terminals/bind
Method: PUT
接口描述:
1、成功返回200
2、失败返回400
有可能出现的错误
lt/not_found_clientid 0x8fc6003 // 缺失唯一标识
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/json | 是 | ||
| EX-ClientId | 90e124a6-744b-43cd-a9d3-419909143a12 | 是 | clientid | |
| Authorization | Bearer xxx | 是 | token | |
| Body |
{
"pc_name": "主控的计算机名称",
"mac": "xxx-xxx-xxx-xx"
}
Path: /terminals/unbind
Method: DELETE
接口描述:
1、成功返回200
2、失败返回400
有可能出现的错误
lt/not_found_clientid 0x8fc6003 // 缺失唯一标识
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/json | 是 | ||
| EX-ClientId | 90e124a6-744b-43cd-a9d3-419909143a12 | 是 | clientid | |
| Authorization | Bearer xxx | 是 | token |
Path: /terminals/info
Method: GET
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| EX-ClientId | 是 | clientid | ||
| Authorization | 是 | token |
{
"user_id": 12564122,
"client_id": "xxx",
"nick": "memo22255", // 昵称
"create_time": 1637053858
}
Path: /terminals/info
Method: PUT
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/json | 是 | ||
| Authorization | Bearer xxx | 是 | token | |
| ex-clientid | 是 | clientid | ||
| Body |
{
"nick" : "memo22255", // 昵称
"client_id" :"xxx" // 可以不传,不传使用头部参数ex-clientid
}
Path: /channellog
Method: POST
接口描述:
接口: https://sl-log.oray.net/channellog
| reason | 注释 | |
|---|---|---|
| websocket_fail | 长链接连接失败 | |
| channel_fail | 通道失败 会有 errors/StdErr 返回 | |
| channel_open_timeout | 通道开启超时 | |
| channel_keepalive_timeout | 通道保活超时 |
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/json | 是 | ||
| Body |
{
"userid":1,
"account":"ccc",
"ws" : "ws.sunlogin.oray.com",
"host" : "101.37.252.225",
"control_time":"2022-08-19 16:45:07", // 远控时间
"clientid":"a01ec3d4-d330-4878-814a-5915f869c022", // clientid
"error" : "channel/create_control_fail", // channel_fail 才写
"code": "", // channel_fail 才写
"reason" : "websocket_fail", // 原因填写看备注
"ua": "SLCC/5.5.3.49139 (Windows,appname=sunloginControlClient)" // 将端的ua上传,这个接口没办法处理头部的ua,请在body一起传
}
{
"code": 100,
"channel": "channel",
"message": "success"
}
Path: /channels/kill
Method: PUT
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/json | 是 | ||
| Authorization | Bearer xxx | 是 | 必须 | |
| ex-clientid | 是 | 发送端的ClientId, 需要用此clientid来判断哪方发出的中断 (这个是自己的主控) | ||
| Body |
{
"client_id": "9c898533-4ff0-4027-9a59-933fcd882c26" // 这个是需要关闭的主控
}
{
"kill_id": "408229952425558228"
}
Path: /channels/kills
Method: GET
接口描述:
只获取当前帐号每个主控被关闭的kill_id, 在发起关闭通道操作后,一分钟后此数据自动清除
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Authorization | 是 | Bearer xxx |
{
"kill_ids": {
"9c898533-4ff0-4027-9a59-933fcd882c26": "404769518867455840", // client_id : kill_id
"9c898533-4ff0-4027-9a59-933fcd882c27": "404769518867455840"
}
}
Path: /channels/kill/:kill_id
Method: GET
接口描述:
路径参数
| 参数名称 | 示例 | 备注 |
| ------------ | ------------ | ------------ | ------------ | ------------ |
| kill_id | | |
{
"kill_id": "404449968686891342",
"status" : "waiting"// 返回空或者不返回此字段就是正常的,waiting -> 等到, fail -> 失败
}
Path: /channels
Method: GET
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Authorization | 是 |
{
"channels": [
{
"client_id": "2b642b57-07aa-48b9-8a39-5a22fc9acde7",
"user_id": "16646489",
"connection": { // 连接信息,是从长链接解析出来的
"remote_ip" : "xx", // 主控的ip
"os" : "", // IOS/ANDROID/WINDOWS
},
"terminal_info": { // 设备信息
"user_id": "16646489",
"client_id": "2b642b57-07aa-48b9-8a39-5a22fc9acde7",
"create_time": "1646707395",
"pc_name": "DESKTOP-5FAF3PO", // 主机名
"mac": "E4:54:E8:DC:80:48", // MAC地址
"nick" :"xx" // 备注 昵称。没有不返回
},
"remote_controls": [ // 本端正在远控的列表,由于PC端是可以多进程远控,此为数组
{
"control_id": "403461577644179616",
"client_id": "2b642b57-07aa-48b9-8a39-5a22fc9acde7",
"fastcode": "299304486",
"plugin": "ct_desktop",
"create_time": "1650011440",
"key": "9368b6587b48c83db3aff1617091410c",
"user_id": "16646489",
"account": "liuchanghuang"
},
{
"control_id": "403461577811951776",
"client_id": "2b642b57-07aa-48b9-8a39-5a22fc9acde7",
"fastcode": "299304486",
"plugin": "ct_desktop",
"create_time": "1650011440",
"key": "9368b6587b48c83db3aff1617091410c",
"user_id": "16646489",
"account": "liuchanghuang"
},
{
"control_id": "403472351183765664",
"client_id": "2b642b57-07aa-48b9-8a39-5a22fc9acde7",
"fastcode": "704153246",
"plugin": "ct_desktop",
"create_time": "1650017861",
"key": "d8ed08ef09ce55b092084c505ec95262",
"user_id": "16646489",
"account": "liuchanghuang"
}
]
}
],
"channel_count": {
"quantity": 1, // 服务的通道数, -1 代表不限通道
"using" : 1 // 正在使用的通道数
}
}
Path: /channels/count
Method: GET
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Authorization | 是 |
{
"quantity": -1, // 通道服务数量 -1 代表不限,
"using": 0 // 当前已占用通道
}
Path: /smartplug/list
Method: GET
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Authorization | Bearer Token | 是 |
Path: /smartplug/bind-remote
Method: POST
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/json | 是 | ||
| Body |
{
"remote_id": 651469702,
"sn": "912345678813",
"index": 1
}
Path: /smartplug/info/:sn
Method: GET
接口描述:
路径参数
| 参数名称 | 示例 | 备注 |
| ------------ | ------------ | ------------ | ------------ | ------------ |
| sn | | |
Query
| 参数名称 | 是否必须 | 示例 | 备注 |
|---|---|---|---|
| sn | 是 | 891086604622 | 设备SN码 |
Path: /smartplug/unbind-remote
Method: POST
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/json | 是 | ||
| Body |
{
"remote_id": 651469702,
"sn": "912345678813",
"index": 1
}
Path: /smartplug/wifi
Method: POST
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/x-www-form-urlencoded | 是 |
Path: /smartplug/add-plug
Method: POST
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/json | 是 | ||
| Authorization | Beare Token | 是 | ||
| Body |
{
"sn": "912345678813",
"mac": "DC:5E:78:3E:36:D2",
"name": "向日葵智能插线板",
"description": "putongban"
}
<a id=开机棒/盒子更新>
Path: /wakeup
Method: PUT
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/x-www-form-urlencoded | 是 | ||
| Authorization | Bear X | 是 |
<a id=开机棒/盒子设备列表>
Path: /wakeup/devices
Method: PUT
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/x-www-form-urlencoded | 是 | ||
| Authorization | Bear X | 是 |
<a id=开机棒/盒子赠送【敏感操作】>
Path: /wakeup/transfer
Method: POST
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/x-www-form-urlencoded | 是 | ||
| Authorization | Bear X | 是 |
<a id=开机棒/盒子远程开机接口【敏感操作】>
Path: /wakeup/remote
Method: POST
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/x-www-form-urlencoded | 是 | ||
| Authorization | Bear X | 是 |
Path: /wakeup
Method: POST
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/x-www-form-urlencoded | 是 | ||
| Authorization | Bear X | 是 |
Path: /wakeup
Method: DELETE
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/x-www-form-urlencoded | 是 | ||
| Authorization | Bear X | 是 |
Path: /wakeup/box
Method: POST
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/x-www-form-urlencoded | 是 | ||
| Authorization | Bear X | 是 |
Path: /wakeup/box
Method: DELETE
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/x-www-form-urlencoded | 是 | ||
| Authorization | Bear X | 是 |
<a id=获取开机棒/盒子可授权过期等信息>
Path: /wakeup/remote
Method: GET
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/x-www-form-urlencoded | 是 | ||
| Authorization | Bear X | 是 |
<a id=获取开机棒/盒子登录服务器接口>
Path: /wakeup/service
Method: GET
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/x-www-form-urlencoded | 是 | ||
| Authorization | Bear X | 是 |
<a id=记录开机棒/盒子唤醒时间【敏感操作】>
Path: /wakeup/time
Method: POST
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/x-www-form-urlencoded | 是 | ||
| Authorization | Bear X | 是 |
Path: /wakeup/snbymac
Method: GET
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/x-www-form-urlencoded | 是 | ||
| Authorization | Bear X | 是 |
Path: /recents
Method: GET
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Authorization | Bearer xxx | 是 |
{
"metadata": {
"total": "2",// 总数 数据总数
},
"recents": [
{
"object_type": "remote", // remote, fastcode, device
"target": "651469781",
"last_active_time": "1645673359",
"remote": { // 当是主机的时候
"remote_id": "651469781",
"mac": "E4:54:E8:DC:80:48",
"license_code": "0f7b-a5ec-e423-7455",
"owner_id": "27697956",
"create_time": "1645625256",
"statuscode": 2707,
"info": {
"remote_id": "651469781",
"name": "DESKTOP-5FAF3PO",
"pc_name": "DESKTOP-5FAF3PO",
"cpu": "Intel(R) Core(TM) i3-9100 CPU @ 3.60GHz",
"memory": "16220MB",
"os_name": "Microsoft Windows 10",
"base_board": "Dell Inc. 0GPD72",
"disk_drive": "WDC WD10EZEX-75WN4A1",
"video_controller": "Intel(R) UHD Graphics 630",
"network_adapter": "Realtek PCIe GbE Family Controller",
"versioncode": "44986",
"version": "3.2.1.44986",
"configmodifiedtime": "1645673360"
},
"state": {
"state": 1,
"addr": "https://651469781-b78ds383fa8c0.rc.sl.oraybeta.com:40210/cgi-bin/login.cgi", // 主机地址
"version": "3.2.1.44986",
"osname": "{\"camera\":1,\"cmd\":1,\"desktop\":1,\"express\":1,\"fastcmd\":1,\"file\":1,\"mac\":\"E4:54:E8:DC:80:48\",\"os_version\":\"10.0.19043\",\"platform\":\"window\",\"sound\":1}",
"ip": "10.244.2.0",
"serverip": "192.168.63.56",
"login_time": "1645673359",
"fastcode": "535777224"
}
}
},
{
"object_type": "fastcode",
"target": "535777224",
"last_active_time": "1645691161",
"fastcode_state": { // 当是快码的时候
"state": "1", // 在线状态
"addr": "https://k535777224-b78ds383fa8c0.rc.sl.oraybeta.com:40210/cgi-bin/login.cgi", // 快码地址
"osname": "{\"camera\":1,\"cmd\":1,\"desktop\":1,\"express\":1,\"fastcmd\":1,\"file\":1,\"mac\":\"E4:54:E8:DC:80:48\",\"os_version\":\"10.0.19043\",\"platform\":\"window\",\"sound\":1}",
"ip": "10.244.2.0",
"login_time": "2022-02-24 11:29:19",
"server_ip": "192.168.63.56" // 服务器IP
}
}
]
}
<a id=ldap/ad 配置查看>
Path: /ldap/fullconfig
Method: GET
接口描述:
{
"ldap_config":{
"admin_svr_ip":"1.1.1.1",
"admin_svr_port":"1234",
"admin_svr_ssl":"0",//0关闭 ; 1开启
"base_dn":"cn=1,dn=b", // baseDN
"admin_dn":"cn=1,db=2",//管理员的DN
"admin_password":"password",
"ldap_type":"0"// 0 ad域;1 open ldap
},
"ldap_attributes":{
"attributes_account":"aaa",// 登录名称
"attributes_nickname":"bbbb",//显示昵称
"attributes_email":"aaa@qq.com",//邮箱
"attributes_mobile":"1222",// 手机号
"attributes_rol":"1",//默认角色ID
"attributes_department":"1"//默认组织架构ID
},
"ldap_sync_mode":{
"sync_mode":1 //同步模式 0 仅同步账号; 1同步账号及组织架构
}
}
<a id=ldap/ad 配置设置【敏感操作】>
Path: /ldap/fullconfig
Method: POST
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/json | 是 | ||
| Body |
{
"ldap_config":{
"admin_svr_ip":"1.1.1.1",
"admin_svr_port":"1234",
"admin_svr_ssl":"0",//0关闭 ; 1开启
"base_dn":"cn=1,dn=b", // baseDN
"admin_dn":"cn=1,db=2",//管理员的DN
"admin_password":"password",
"ldap_type":"0"// 0 ad域;1 open ldap
},
"ldap_attributes":{
"attributes_account":"aaa",// 登录名称
"attributes_nickname":"bbbb",//显示昵称
"attributes_email":"aaa@qq.com",//邮箱
"attributes_mobile":"1222",// 手机号
"attributes_rol":"1",//默认角色ID
"attributes_department":"1"//默认分组ID
},
"ldap_sync_mode":{
"sync_mode":1 //同步模式 0 仅同步账号; 1同步账号及组织架构
}
}
{
"ldap_config":{
"admin_svr_ip":"1.1.1.1",
"admin_svr_port":"1234",
"admin_svr_ssl":"0",//0关闭 ; 1开启
"base_dn":"cn=1,dn=b", // baseDN
"admin_dn":"cn=1,db=2",//管理员的DN
"admin_password":"password",
"ldap_type":"0"// 0 ad域;1 open ldap
},
"ldap_attributes":{
"attributes_account":"aaa",// 登录名称
"attributes_nickname":"bbbb",//显示昵称
"attributes_email":"aaa@qq.com",//邮箱
"attributes_mobile":"1222",// 手机号
"attributes_rol":"1",//默认角色ID
"attributes_department":"1"//默认分组ID
},
"ldap_sync_mode":{
"sync_mode":1 //同步模式 0 仅同步账号; 1同步账号及组织架构
}
}
Path: /ldap/test
Method: POST
接口描述:
用来测试 ldap/ad 的服务器配置是否可以连接成功
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/json | 是 | ||
| Body |
{
"admin_svr_ip":"1.1.1.1",
"admin_svr_port":"1234",
"admin_svr_ssl":"0",//0关闭 ; 1开启
"base_dn":"cn=1,dn=b", // baseDN
"admin_dn":"cn=1,db=2",//管理员的DN
"admin_password":"password",
"ldap_type":"0"// 0 ad域;1 open ldap
}
<a id=sso 配置更新【敏感操作】>
Path: /ldap/ssoconf
Method: POST
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/json | 是 | ||
| Body |
{
"type":"1", //1或者不存在代表 saml。 2代表oidc(未实现,本地没有,预留),3 cas协议 预留
"saml_conf": {
"metadata_url": "https://dev-62997018.okta.com/app/exkrnp9i7SZRTRRdY5d6/sso/saml/metadata",
"login_rol": 29, //默认注册角色
"login_type": 1, // 允许登录类型。0或不存在,允许所有用户登录,然后默认注册。1、仅允许已存在账号登录。
"attr_account":"aaa",
"attr_nick":"bbb",
"attr_email":"ccc",
"attr_mobile":"ddd",
"disable_valid_unitl":true, // 是否关闭 有效期字段 (华住这里必须为true,其他有些得false)
"root_url": "https://console-api.ka-sl2.oraybeta.com" // 写死就行,从环境变量中取 api后端的域名填进去
},
"oidc_conf":{} //预留的oidc的配置,可能不存在或空。 (当前没用)
}
<a id=sso 配置查看>
Path: /ldap/ssoconf
Method: GET
接口描述:
{
"type":"1", //1或者不存在代表 saml。 2代表oidc(未实现,本地没有,预留),3 cas协议 预留
"saml_conf": {
"metadata_url": "https://dev-62997018.okta.com/app/exkrnp9i7SZRTRRdY5d6/sso/saml/metadata",
"login_rol": 29, //默认注册角色
"login_type": 1, // 允许登录类型。0或不存在,允许所有用户登录,然后默认注册。1、仅允许已存在账号登录。
"attr_account":"aaa",
"attr_nick":"bbb",
"attr_email":"ccc",
"attr_mobile":"ddd",
"disable_valid_unitl":true, // 是否关闭 有效期字段 (华住这里必须为true,其他有些得false)
"root_url": "https://console-api.ka-sl2.oraybeta.com" // 写死就行,从环境变量中取 api后端的域名填进去
},
"oidc_conf":{} //预留的oidc的配置,可能不存在或空。 (当前没用)
}
//json返回策略和之前应该是一致的:1、字符串空,参数会消失。2、int=0,参数会消失。3、对象 为 null,参数会消失
Path: /ldap/status
Method: POST
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/json | 是 | ||
| Body |
{
"status": "1"
}
{
"status": "1"
}
Path: /ldap/status
Method: GET
接口描述:
{
"status": "2", // 0 关闭 、1 ldap/AD模式 、2 sso 模式
"login_url": "https://console-api.ka-sl2.oraybeta.com/sso/api/dologin", // 仅 status=2时存在
"logout_url": "https://console-api.ka-sl2.oraybeta.com/sso/api/dologout", // 仅 status=2时存在
"ldap_status": "0" //0 关闭 1开启ldap 2 sso 模式 // 兼容早期接口
}
Path: /ldap/ssourl
Method: GET
接口描述:
{
"login_url": "https://console-api.ka-sl2.oraybeta.com/sso/api/dologin",
"logout_url": "https://console-api.ka-sl2.oraybeta.com/sso/api/dologout",
"metadata_url": "https://console-api.ka-sl2.oraybeta.com/sso/saml/metadata"
}
Path: /console/client/features
Method: GET
接口描述:
统一管理客户端特性开关接口,优先级比业务开关要高(就是用户设置的开关),可用于整体屏蔽某些功能
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| User-Agent | 客户端User-Agent | 是 | 必须,按规范提交,服务端从此获取客户端信息 | |
| Authorization | 客户端的登录授权 | 是 | 可选,但是某些针对用户推送的特性会影响返回结果 |
{
// p2p 相关特性
"p2p": {
"udx": {
"enable": true
}
}
}
Path: /fastcode-records
Method: GET
接口描述:
Query
| 参数名称 | 是否必须 | 示例 | 备注 |
|---|---|---|---|
| offset | 否 | 0 | 偏移量 *limit 从0开始 |
| limit | 否 | 10 | 限制数 |
{
"records": [
{
// 记录ID
"record_id" : 1,
// 识别码
"fastcode": 123456789,
// 帐号ID
"user_id": 12564122,
// 备注
"memo": "贝锐办公",
// 最后远控时间
"last_use_time": 1657590027,
// 创建时间
"create_time": 1657000102
}
],
// 总数
"total": 10
}
Path: /fastcode-records/:fastcode
Method: DELETE
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/x-www-form-urlencoded | 是 | ||
| Authorization | 是 | Bearer xxx | ||
| 路径参数 | ||||
| 参数名称 | 示例 | 备注 | ||
| ------------ | ------------ | ------------ | ------------ | ------------ |
| fastcode | 识别码 |
Path: /fastcode-records
Method: POST
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/x-www-form-urlencoded | 是 | ||
| Authorization | 是 | Bearer xxx | ||
| Body |
| 参数名称 | 参数类型 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| fastcode | text | 是 | 123456789 | 识别码 |
| memo | text | 否 | 贝锐办公 | 备注 |
{
// 记录ID
"record_id" : 1,
// 识别码
"fastcode": 123456789,
// 帐号ID
"user_id": 12564122,
// 备注
"memo": "贝锐办公",
// 创建时间
"create_time": 1657000102
}
Path: /fastcode-records/:fastcode
Method: PUT
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/x-www-form-urlencoded | 是 | ||
| 路径参数 | ||||
| 参数名称 | 示例 | 备注 | ||
| ------------ | ------------ | ------------ | ------------ | ------------ |
| fastcode | 识别码 | |||
| Body |
| 参数名称 | 参数类型 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| memo | text | 否 | 测试备注名 | 备注 |
| remote_control | text | 否 | true | 是否远控 |
{
// 记录ID
"record_id" : 1,
// 识别码
"fastcode": 123456789,
// 帐号ID
"user_id": 12564122,
// 备注
"memo": "贝锐办公",
// 最后远控时间
"last_use_time": 1657590027,
// 创建时间
"create_time": 1657000102
}
Path: /awaken/status/:id
Method: PUT
接口描述:
status:
1 代表是默认状态
2 代表客户端访问过
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/x-www-form-urlencoded | 是 | ||
| 路径参数 | ||||
| 参数名称 | 示例 | 备注 | ||
| ------------ | ------------ | ------------ | ------------ | ------------ |
| id | 202207081606222970 |
{
"id": "202207081606222970",
"status": 2
}
Path: /awaken/id
Method: GET
接口描述:
status:
1 代表是默认状态
2 代表客户端访问过
callback:
跨域 jsonp返回
Query
| 参数名称 | 是否必须 | 示例 | 备注 |
|---|---|---|---|
| callback | 是 | callback |
callback({"id":"202207081606222970","status":1});
Path: /awaken/status/:id
Method: GET
接口描述:
status:
1 代表是默认状态
2 代表客户端访问过
路径参数
| 参数名称 | 示例 | 备注 |
| ------------ | ------------ | ------------ | ------------ | ------------ |
| id | 202207081606222970 | |
callback({"id":"202207081606222970","status":2});
Path: /func-keys
Method: GET
接口描述:
返回的数据没有对应的key标识不提供该功能
{
"system_security": 1, // 系统安全(含基础配置)
"role_permissions": 1, // 角色权限
"account_management": 1, // 帐号管理
"batch_deployment": 99999999, // 批量部署
"software_customize": 99999999, // 软件定制
"ad_sso_butt": 1, // AD/SSO对接(帐号认证)
"device_list": 1, // 设备列表
"security_audit": 1, // 安全审计
"control_big_screen": 1 // 管控大屏
}
Path: /pl/customizes-limit
Method: GET
接口描述:
/pl/customizes-limit 改成 /customizes-limit 和标准版一样
{
"slcc_windows": true, // Windows 控制端 false-不提供
"slrc_windows_enterprise": true, // Windows 客户端
"slrc_android": true, // Android 控制端
"slcc_android": true, // Android 客户端
"slrc_linux": true, // Linux 客户端
"max_num": 99999999 // 最大限制数量
}
Path: /securitysetting
Method: POST
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/json | 是 | ||
| Query |
| 参数名称 | 是否必须 | 示例 | 备注 |
|---|---|---|---|
| settings | 是 | ||
| Body |
{
"settings": [
{
"key": "watermark",//配置的key 看备注
"is_open": 0,//开关
"settings": {
"watermark_content": "a_b_c",//配置的附属配置 看备注
"watermark_transparency": 30//配置的附属配置 看备注
}
}
]
}
//备注
/**
key:
watermark 水印设置
settings:
watermark_content 水印内容
watermark_transparency 水印透明度
*/
{}//返回status 200
Path: /securitysetting/servicepassword
Method: POST
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/json | 是 | ||
| Body |
{
"service_password":{
"is_open": 1, // 开关
"settings":{
"password":"123456" // 密码 开关打开的情况下,这里密码为空的时候,系统会自动生成一个随机8位密码覆盖现有密码。
}
}
}
{
"password": "123456",
"is_open": 1
}
Path: /securitysetting
Method: GET
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Authorization | 是 | 鉴权信息(企业用户需要企业token,领航token的r需要是8) |
{
"settings": [
{
"user_id": 12564122,
"is_open": 1,
"key": "watermark",
"settings": {
"watermark_content": "a_b_c",
"watermark_transparency": 30
}
}
]
}
Path: /securitysetting/servicepassword
Method: GET
接口描述:
{
"password": "123456",
"is_open": 1
}
Path: /v2/wakeup/{sn}/devices
Method: PUT
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/json | 是 | ||
| Authorization | 是 | |||
| 路径参数 | ||||
| 参数名称 | 示例 | 备注 | ||
| ------------ | ------------ | ------------ | ------------ | ------------ |
| sn | 3832576a082487cf | |||
| Body |
{
"name": "xxx"
}
Path: /v2/wakeup/devices/{sn}/bindings/{target_type}/{target_id}
Method: PUT
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/json | 是 | ||
| 路径参数 | ||||
| 参数名称 | 示例 | 备注 | ||
| ------------ | ------------ | ------------ | ------------ | ------------ |
| sn | 337152833566 | sn码 | ||
| target_type | mac | 类型 | ||
| target_id | 4 | binding_id或remote_id | ||
| Body |
{
"mac": {
"name": "当快社用",
"mac": "30-5A-3A-E5-C1-C9"
}
}
{
"sn": "3832576a082487cf",
"deviceId": "1",
"targetType": "mac",
"mac": {
"bindingId": "0",
"mac": "30-5A-3A-E5-C1-C9",
"name": "当快社用",
"key": "",
"creatorId": "0"
},
"createTime": "1659004618",
"targetId": "2",
"creatorId": "0"
}
Path: /v2/wakeup/devices/bindings
Method: GET
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Authorization | 是 | |||
| Query |
| 参数名称 | 是否必须 | 示例 | 备注 |
|---|---|---|---|
| with_grant | 否 | true | 是否包含授权主机 |
{
"metadata": {
"total": "3",
"offset": "0",
"count": "3"
},
"wakeBindings": [
{
"sn": "3832576a082487cf",
"deviceId": "1",
"targetType": "remote",
"remote": {
"remoteId": "11111",
"name": "",
"isDefault": true,
"creatorId": "1",
"number": ""
},
"createTime": "1656569499",
"targetId": "11111",
"creatorId": "1",
"wakeupEnable": false // 是否可开机
},
{
"sn": "3832576a082487cf",
"deviceId": "1",
"targetType": "mac",
"mac": {
"bindingId": "2",
"mac": "30-5A-3A-E5-C1-C9",
"name": "测试",
"key": "3333-2300-4194-8774",
"creatorId": "1"
},
"createTime": "1659004618",
"targetId": "2",
"creatorId": "1",
"wakeupEnable": false // 是否可开机
},
{
"sn": "383216702073f762",
"deviceId": "2",
"targetType": "mac",
"mac": {
"bindingId": "3",
"mac": "30-5A-3A-E5-C2-C8",
"name": "测试1",
"key": "5856-5788-5049-5535-9822",
"creatorId": "1"
},
"createTime": "1659004640",
"targetId": "3",
"creatorId": "1",
"wakeupEnable": false // 是否可开机
}
]
}
Path: /v2/wakeup/devices/{sn}/bindings/{target_type}/{target_id}
Method: DELETE
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/x-www-form-urlencoded | 是 | ||
| 路径参数 | ||||
| 参数名称 | 示例 | 备注 | ||
| ------------ | ------------ | ------------ | ------------ | ------------ |
| sn | 337152833566 | sn码 | ||
| target_type | mac | 类型 mac remote | ||
| target_id | 1 | 类型对应的id mac-binding_id |
{
"sn": "383216702073f762",
"deviceId": "2",
"targetType": "mac",
"mac": {
"bindingId": "0",
"mac": "30-5A-3A-E5-C1-C8",
"name": "测试",
"key": "9908-8552-1894-8136-6663",
"creatorId": "0"
},
"createTime": "1659003809",
"targetId": "1",
"creatorId": "0"
}
Path: /v2/wakeup/devices
Method: GET
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Authorization | 是 |
{
"metadata": {
"total": "1",
"offset": "0",
"count": "1"
},
"devices": [
{
"deviceId": "8",
"sn": "3832576a082487cf", // 设备SN(业务上的SN)
"mac": "C2:FF:9D:B1:12:95", // 设备mac
"ownerId": "0", // 所有者ID
"name": "大哥", // 设备名称
"hardwareSn": "912345678745", // 硬件SN(对应主库硬件SN)
"type": "1", // 硬件类型 0 开机棒, 1 花生棒, 2 蒲公英或其他嵌入式设备,5 插座,6 开机盒子
"model": "", // 硬件型号
"serviceType": 0, // 服务类型 0 独享 1 局域网 2 局域网无忧
"serviceId": "0", // 关联的服务ID
"deviceLimit": 0, // 管理设备上限,0就是没有
"serviceExpireTime": "4102329600", // 关联服务的过期时间
"createTime": "1654507240", // 记录创建时间,就是绑定的时间
"isEnable": false, // 是否在线
"remoteCount": "1", // 绑定主机数
"logo": {
"logoX100": "https://cdn.orayimg.com/sunlogin/slapi/img//hardware/wakeup@100.png",
"logoX150": "https://cdn.orayimg.com/sunlogin/slapi/img//hardware/wakeup@150.png",
"logoX200": "https://cdn.orayimg.com/sunlogin/slapi/img//hardware/wakeup@200.png"
}
}
]
}
Path: /v2/wakeup/{sn}/devices
Method: GET
接口描述:
空值的字段不返回
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Authorization | 是 | |||
| 路径参数 | ||||
| 参数名称 | 示例 | 备注 | ||
| ------------ | ------------ | ------------ | ------------ | ------------ |
| sn | 912345678745 | sn码 |
{
"deviceId": "8",
"sn": "912345678745", // 设备SN(业务上的SN)
"mac": "", // 设备mac
"ownerId": "0", // 所有者ID
"name": "大哥", // 设备名称
"hardwareSn": "912345678745", // 硬件SN(对应主库硬件SN)
"type": "1", // 硬件类型 0 开机棒, 1 花生棒, 2 蒲公英或其他嵌入式设备,5 插座,6 开机盒子
"model": "", // 硬件型号
"serviceType": 0, // 服务类型 0 独享 1 局域网 2 局域网无忧
"serviceId": "0", // 关联的服务ID
"deviceLimit": 0, // 管理设备上限,0就是没有
"serviceExpireTime": "4102329600", // 关联服务的过期时间
"createTime": "1654507240", // 记录创建时间,就是绑定的时间
"isEnable": true, // 是否在线
"remoteCount": "1", // 绑定主机数
"logo": {
"logoX100": "https://cdn.orayimg.com/sunlogin/slapi/img//hardware/wakeup@100.png",
"logoX150": "https://cdn.orayimg.com/sunlogin/slapi/img//hardware/wakeup@150.png",
"logoX200": "https://cdn.orayimg.com/sunlogin/slapi/img//hardware/wakeup@200.png"
}
}
Path: /v2/wakeup/devices
Method: POST
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/json | 是 | ||
| Body |
{
"sn": "3832576a082487cf",
"mac": "C2:FF:9D:B1:12:95",
"type": 6, // 设备类型 0-开机棒 5-插座 6-开机盒子
"owner_id": 508, // 服务代码
"name": "测试22", // 名称
}
{
"deviceId": "19",
"sn": "383216702073f762",
"mac": "2E:48:18:4B:CF:38",
"ownerId": "508",
"name": "测试2222",
"hardwareSn": "912345678892",
"type": 6,
"model": "WakeupBox",
"serviceType": 0,
"serviceId": "0",
"deviceLimit": 0,
"serviceExpireTime": "0",
"createTime": "0",
"isEnable": false,
"remoteCount": "0"
}
<a id=绑定设备/主机【敏感操作】>
Path: /v2/wakeup/devices/{sn}/bindings
Method: POST
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Authorization | 是 | |||
| Content-Type | application/json | 是 | ||
| 路径参数 | ||||
| 参数名称 | 示例 | 备注 | ||
| ------------ | ------------ | ------------ | ------------ | ------------ |
| sn | 3832576a082487cf | sn码 | ||
| Body |
{
"mac": {
"name": "界由北以认复",
"mac": "30-5A-3A-E5-C7-C9"
}
//"remote": {
//
//},
// "remoteIds":[1,2],
// "defaultRemoteIds":[1]
}
{
"sn": "3832576a082487cf",
"deviceId": "1",
"targetType": "mac",
"mac": {
"bindingId": "0",
"mac": "30-5A-3A-E5-C7-C9",
"name": "界由北以认复",
"key": "311-5307-8934-3115-2549",
"creatorId": "1"
},
"createTime": "0",
"targetId": "1",
"creatorId": "1"
}
Path: /v2/wakeup/devices/server
Method: GET
接口描述:
Query
| 参数名称 | 是否必须 | 示例 | 备注 |
|---|---|---|---|
| sn | 是 | sn码 | |
| time | 是 | 时间戳 | |
| authcode | 是 | MD5(sn+time+"SUNLOGIN") |
{
"server": "www.oray.com",
"port": 123
}
Path: /v2/wakeup/devices/{sn}/bindings
Method: GET
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Authorization | 是 | |||
| 路径参数 | ||||
| 参数名称 | 示例 | 备注 | ||
| ------------ | ------------ | ------------ | ------------ | ------------ |
| sn |
{
"metadata": {
"total": "2",
"offset": "0",
"count": "2"
},
"wakeBindings": [
{
"sn": "3832576a082487cf",
"deviceId": "1",
"targetType": "remote", // 主机
"remote": {
"remoteId": "11111",
"name": "",
"isDefault": true,
"creatorId": "1",
"number": ""
},
"createTime": "1656569499",
"targetId": "11111",
"creatorId": "1",
"wakeupEnable": false // 是否可开机
},
{
"sn": "3832576a082487cf",
"deviceId": "1",
"targetType": "mac", // mac
"mac": {
"bindingId": "2",
"mac": "30-5A-3A-E5-C1-C9",
"name": "测试",
"key": "3333-2300-4194-8774",
"creatorId": "2"
},
"createTime": "1659004618",
"targetId": "2",
"creatorId": "2",
"wakeupEnable": false // 是否可开机
}
]
}
Path: /v2/wakeup
Method: POST
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/json | 是 | ||
| Body |
{
"remoteId":0, // 主机id 必传
"key": "2625-2078-2936-5232-5412", // mac对应key 必传
"wakeupPwd":"" // 密码 必传
}
{
"remoteId": 0,
"key": "",
"wakeupPwd": ""
}
Path: /privatelog
Method: GET
接口描述:
Query
| 参数名称 | 是否必须 | 示例 | 备注 |
|---|---|---|---|
| event | 否 | 1,2,3 | 事件类型 |
| code | 否 | 1,2 | 事件结果 |
| name | 否 | abc | 设备名称 |
| userid | 是 | 1 | 用户id |
| account | 否 | admin | 用户名 |
| starttime | 否 | 1659689640 | 开始时间 时间戳 |
| endtime | 否 | 1659689640 | 结束时间 时间戳 |
| offset | 是 | 0 | 分页参数 |
| limit | 是 | 100 | 分页参数 |
{
"event": 1, // 事件类型: 1、退出服务;2、卸载程序;3、退出登录
"code": 1, // 事件结果: 1、成功;2、失败
"userid": 1, // 用户id
"account": "admin", // 客户端账号
"remoteid": 16, // 客户端ID
"ip": "192.168.50.123", // 客户端ip,不传的话,会从客户端请求获取ip(k8s下不准)
"eventtime": "2021-12-21 1:2:3", // 事件对应的时间。
"createtime": "2021-12-21 1:2:3", // 日志写入时间。
"pcname": "DESKTOP-5DSGV4B", // 计算机名称
"name": "设备名" // 设备名
}
Path: /privatelog/upload
Method: POST
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/json | 是 | ||
| Authorization | bear token | 是 | Bearer eyJhbGciOiJIUzUxMiIsInIiOjIwMTE2NTg5MjAsInR5cCI6IkpXVCJ9.eyJleHAiOjE2NTk0OTk1MzksImlzYSI6MTY1OTQ5NzczOSwiaXNzIjoiYWRtaW4iLCJyb2xlIjo0LCJ1aWQiOjEsInNlciI6ImF1dGgtYXBpLnN1bmxvZ2luLmthLnNjanRxcy5jb20iLCJucyI6ImVudCIsImV4dCI6eyJlbnRpZCI6IjEiLCJncm91cHMiOiIxIiwicGV1aWQiOiIxIiwicG91aWQiOiIxIn19.86AEIWtLPV4VlIxX0qS4pFpn4SBcx00ziepKdG-yA2uu4Bly4S3-p-0S0Ld882WcC2tO5jdj0u3lDqrrTSXGmg | 对应当前用户的token |
| Body |
{
"seq": "kljsdklgjklasjg", // 随机数,用于上传失败重试去重。
"event": 1, // 事件类型: 1、退出服务;2、卸载程序;3、退出登录
"code": 1, // 事件结果: 1、成功;2、失败
"userid": 1, // 用户id
"account": "admin", // 客户端账号
"remoteid": 16, // 客户端ID
"ip": "192.168.50.123", // 客户端ip,不传的话,会从客户端请求获取ip(k8s下不准)
"eventtime": 1659689640, // 事件对应的时间戳。
"pcname": "DESKTOP-5DSGV4B", // 计算机名称
"name": "设备名", // 设备名
"license_auth":"8UbNHe3SKhIQMtPIOMXBy0QAlnU6YtOQ", // license的 auth 字段 用来替代 token认证
"license_code":"c989-9c5f-2d28-f09e" // license 的 code 字段 用来替代 token认证
}
// 上传成功反正下面的结果。如果不是,则失败了。
{
"Code":"success",
"Message": "success"
}
Path: /ent-wechat/qrcode
Method: GET
接口描述:
undefined
Path: /feishu/get-grant-url
Method: GET
接口描述:
Query
| 参数名称 | 是否必须 | 示例 | 备注 |
|---|---|---|---|
| state | 是 | url的方式,要urlencode处理 |
{
"redirect_url": "https://open.feishu.cn/open-apis/authen/v1/index?app_id=cli_a275bcedf1e5900e&redirect_uri=https://43383o9t53.zicp.fun/feishu/redirect&state=https://baidu.com"
}
Path: /feishu/sync-department
Method: GET
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Authorization | 是 | 企业token |
OK
Path: /monitorwall
Method: GET
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Authorization | Bearer eyJhbGciOiJIUzUxMiIsInIiOjEwMTY0OTE3NjIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2NjI0NjM0MTIsImlzYSI6MTY2MjQ2MTYxMiwiaXNzIjoib3JheXRlc3QwMTIiLCJyb2xlIjo0LCJ1aWQiOjEyNTY0MTIyLCJzZXIiOiJhdXRoLm9yYXliZXRhLmNvbSIsIm5zIjoidXNlciJ9.beApKHFxtJOaiP154VTxTyZCaBOVGXiWGoWxmJtPPY3Dl8c8f_WaYSIx6htsBAt0YF1B6fmdxJcIrWyPMIF1Ug | 是 |
{
"monitorwall": [
{
"monitorwallid": 11,
"userid": 12564122,
"name": "我的屏幕墙",
"createtime": "2022-03-15 03:08:18",
"remoteids": "651469881",
"full": "false",
"width": "248",
"height": "134",
"mainwidth": "828",
"mainheight": "543",
"x": "0",
"y": "0",
"timeInterval": "1",
"createtime_timestamp": 1647284898
},
{
"monitorwallid": 13,
"userid": 12564122,
"name": "我的屏幕墙1",
"createtime": "2022-03-15 04:56:39",
"remoteids": "651469846,651469882",
"full": "false",
"width": "148",
"height": "111",
"mainwidth": "10",
"mainheight": "22",
"x": "3",
"y": "4",
"timeInterval": "10",
"createtime_timestamp": 1647291399
}
],
"walllimit": 1000,
"remotelimit": 12,
"monitorlimit": 5
}
Path: /tag-rule/remote/:tag-rule-id
Method: GET
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/x-www-form-urlencoded | 是 | ||
| Authorization | Bearer eyJhbGciOiJIUzUxMiIsInIiOjI0MDczMjkxNTMsInR5cCI6IkpXVCJ9.eyJleHAiOjE2NjMxNDQ0MDksImlzYSI6MTY2MzE0MjYwOSwiaXNzIjoib3JheXRlc3QwMTIiLCJyb2xlIjo0LCJ1aWQiOjEyNTY0MTIyLCJzZXIiOiJhdXRoLXYyLm9yYXliZXRhLmNvbSIsIm5zIjoidXNlciJ9.6kuXR3XwjRVjyOxOPrwArPaJP-QV4UOB5M4sFJ_F318Bs66k1nhhtduiovOfDM7QAZIvRK1h2rFr3uNrAkGvVQ | 是 | Bearer eyJhbGciOiJIUzUxMiIsInIiOjI0MDczMjkxNTMsInR5cCI6IkpXVCJ9.eyJleHAiOjE2NjMxNDQ0MDksImlzYSI6MTY2MzE0MjYwOSwiaXNzIjoib3JheXRlc3QwMTIiLCJyb2xlIjo0LCJ1aWQiOjEyNTY0MTIyLCJzZXIiOiJhdXRoLXYyLm9yYXliZXRhLmNvbSIsIm5zIjoidXNlciJ9.6kuXR3XwjRVjyOxOPrwArPaJP-QV4UOB5M4sFJ_F318Bs66k1nhhtduiovOfDM7QAZIvRK1h2rFr3uNrAkGvVQ | |
| 路径参数 | ||||
| 参数名称 | 示例 | 备注 | ||
| ------------ | ------------ | ------------ | ------------ | ------------ |
| tag-rule-id | ||||
| Query |
| 参数名称 | 是否必须 | 示例 | 备注 |
|---|---|---|---|
| method | 是 | post | post添加 put 编辑 |
| Body |
{
"method": 1 // 1添加,2编辑
}
{
"tag_rule_id": 1, // 分组规则id
}
Path: /tag-rule/:tag-rule-id
Method: DELETE
接口描述:
code:
1、分组规则不存在
{
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/x-www-form-urlencoded | 是 | ||
| Authorization | Bearer eyJhbGciOiJIUzUxMiIsInIiOjI0MDczMjkxNTMsInR5cCI6IkpXVCJ9.eyJleHAiOjE2NjMxNDQ0MDksImlzYSI6MTY2MzE0MjYwOSwiaXNzIjoib3JheXRlc3QwMTIiLCJyb2xlIjo0LCJ1aWQiOjEyNTY0MTIyLCJzZXIiOiJhdXRoLXYyLm9yYXliZXRhLmNvbSIsIm5zIjoidXNlciJ9.6kuXR3XwjRVjyOxOPrwArPaJP-QV4UOB5M4sFJ_F318Bs66k1nhhtduiovOfDM7QAZIvRK1h2rFr3uNrAkGvVQ | 是 | Bearer eyJhbGciOiJIUzUxMiIsInIiOjI0MDczMjkxNTMsInR5cCI6IkpXVCJ9.eyJleHAiOjE2NjMxNDQ0MDksImlzYSI6MTY2MzE0MjYwOSwiaXNzIjoib3JheXRlc3QwMTIiLCJyb2xlIjo0LCJ1aWQiOjEyNTY0MTIyLCJzZXIiOiJhdXRoLXYyLm9yYXliZXRhLmNvbSIsIm5zIjoidXNlciJ9.6kuXR3XwjRVjyOxOPrwArPaJP-QV4UOB5M4sFJ_F318Bs66k1nhhtduiovOfDM7QAZIvRK1h2rFr3uNrAkGvVQ | |
| 路径参数 | ||||
| 参数名称 | 示例 | 备注 | ||
| ------------ | ------------ | ------------ | ------------ | ------------ |
| tag-rule-id |
{
"tag_rule_id": 2,
"user_id": 12564122
}
Path: /tag-rule/:tag-rule-id
Method: PUT
接口描述:
code:
1、分组规则不存在
{
"error": "tag-rule/param_missing",
"code": 0,
"message": "Param missing"
}
3、分组已经设置过规则
{
"error": "tag-rule/tag_rule_is_exist",
"code": 0,
"message": "Tag rule is exist"
}
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/x-www-form-urlencoded | 是 | ||
| Authorization | Bearer eyJhbGciOiJIUzUxMiIsInIiOjI0MDczMjkxNTMsInR5cCI6IkpXVCJ9.eyJleHAiOjE2NjMxNDQ0MDksImlzYSI6MTY2MzE0MjYwOSwiaXNzIjoib3JheXRlc3QwMTIiLCJyb2xlIjo0LCJ1aWQiOjEyNTY0MTIyLCJzZXIiOiJhdXRoLXYyLm9yYXliZXRhLmNvbSIsIm5zIjoidXNlciJ9.6kuXR3XwjRVjyOxOPrwArPaJP-QV4UOB5M4sFJ_F318Bs66k1nhhtduiovOfDM7QAZIvRK1h2rFr3uNrAkGvVQ | 是 | Bearer eyJhbGciOiJIUzUxMiIsInIiOjI0MDczMjkxNTMsInR5cCI6IkpXVCJ9.eyJleHAiOjE2NjMxNDQ0MDksImlzYSI6MTY2MzE0MjYwOSwiaXNzIjoib3JheXRlc3QwMTIiLCJyb2xlIjo0LCJ1aWQiOjEyNTY0MTIyLCJzZXIiOiJhdXRoLXYyLm9yYXliZXRhLmNvbSIsIm5zIjoidXNlciJ9.6kuXR3XwjRVjyOxOPrwArPaJP-QV4UOB5M4sFJ_F318Bs66k1nhhtduiovOfDM7QAZIvRK1h2rFr3uNrAkGvVQ | |
| 路径参数 | ||||
| 参数名称 | 示例 | 备注 | ||
| ------------ | ------------ | ------------ | ------------ | ------------ |
| tag-rule-id | ||||
| Body |
{
"status":2,
"tag_id":3,
"filter":[
{
"filter_id": 3,
"what": "device_name",
"type": 1,
"value": "你好的的",
"is_valid": 1
},
{
"filter_id": 4,
"what": "device_remark_name",
"type": 1,
"value": "device_remark_name",
"is_valid": 1
}
]
}
{
"status": 2,
"tag_id": 3,
"filter": [
{
"filter_id": 3,
"what": "device_name",
"type": 1,
"value": "你好的的",
"is_valid": 1
},
{
"filter_id": 4,
"what": "device_remark_name",
"type": 1,
"value": "device_remark_name",
"is_valid": 1
}
]
}
Path: /tag-rule
Method: GET
接口描述:
code:
0 错误
200 成功
返回信息中头部带分页总数等
Content-Range :row 0-10/1 offset-limit/total
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Authorization | Bearer eyJhbGciOiJIUzUxMiIsInIiOjI0MDczMjkxNTMsInR5cCI6IkpXVCJ9.eyJleHAiOjE2NjMxNDQ0MDksImlzYSI6MTY2MzE0MjYwOSwiaXNzIjoib3JheXRlc3QwMTIiLCJyb2xlIjo0LCJ1aWQiOjEyNTY0MTIyLCJzZXIiOiJhdXRoLXYyLm9yYXliZXRhLmNvbSIsIm5zIjoidXNlciJ9.6kuXR3XwjRVjyOxOPrwArPaJP-QV4UOB5M4sFJ_F318Bs66k1nhhtduiovOfDM7QAZIvRK1h2rFr3uNrAkGvVQ | 是 | ||
| Query |
| 参数名称 | 是否必须 | 示例 | 备注 |
|---|---|---|---|
| offset | 是 | 0 | |
| limit | 是 | 20 |
{
"tag_rule":[
{
"tag_rule_id": 1, // 分组规则id
"user_id": 12564122, // 服务id
"tag_id": 1, // 标签id
"status": 1, // 是否开启
"create_time": 1663128105,
"info": "设备名称包含 的受调查 设备备注名包含 地方v的,自动分配至 授权分组12"
},
{
"tag_rule_id": 2,
"user_id": 12564122,
"tag_id": 1,
"status": 2,
"create_time": 1663128105,
"info": "设备名称包含 的受调查 设备备注名包含 地方v的,自动分配至 授权分组11"
}
],
"total": 9
}
Path: /tag-rule/:tag-rule-id
Method: GET
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/x-www-form-urlencoded | 是 | ||
| Authorization | Bearer eyJhbGciOiJIUzUxMiIsInIiOjI0MDczMjkxNTMsInR5cCI6IkpXVCJ9.eyJleHAiOjE2NjMxNDQ0MDksImlzYSI6MTY2MzE0MjYwOSwiaXNzIjoib3JheXRlc3QwMTIiLCJyb2xlIjo0LCJ1aWQiOjEyNTY0MTIyLCJzZXIiOiJhdXRoLXYyLm9yYXliZXRhLmNvbSIsIm5zIjoidXNlciJ9.6kuXR3XwjRVjyOxOPrwArPaJP-QV4UOB5M4sFJ_F318Bs66k1nhhtduiovOfDM7QAZIvRK1h2rFr3uNrAkGvVQ | 是 | Bearer eyJhbGciOiJIUzUxMiIsInIiOjI0MDczMjkxNTMsInR5cCI6IkpXVCJ9.eyJleHAiOjE2NjMxNDQ0MDksImlzYSI6MTY2MzE0MjYwOSwiaXNzIjoib3JheXRlc3QwMTIiLCJyb2xlIjo0LCJ1aWQiOjEyNTY0MTIyLCJzZXIiOiJhdXRoLXYyLm9yYXliZXRhLmNvbSIsIm5zIjoidXNlciJ9.6kuXR3XwjRVjyOxOPrwArPaJP-QV4UOB5M4sFJ_F318Bs66k1nhhtduiovOfDM7QAZIvRK1h2rFr3uNrAkGvVQ | |
| 路径参数 | ||||
| 参数名称 | 示例 | 备注 | ||
| ------------ | ------------ | ------------ | ------------ | ------------ |
| tag-rule-id |
{
"tag_rule_id": 1, // 分组规则id
"user_id": 12564122, // 服务id
"tag_id": 1, // 标签id
"status": 1, // 是否开启
"filter": [ // 过滤内容
{
"filter_id": 1, // 过滤 id
"what": "device_name", // 条件:设备名称device_name,设备备注名device_remark__name
"type": 1, // 类型:1包含,2不包含
"value": "你好的的", // 过滤内容
"is_valid": 1 // 是否有效:1是,2否
},
{
"filter_id": 2,
"what": "device_remark_name",
"type": 1,
"value": "是v吧",
"is_valid": 1
}
],
"create_time": 1663128105
}
Path: /tag-rule
Method: POST
接口描述:
code:
1、分组已经设置过规则
{
"error": "tag-rule/param_missing",
"code": 0,
"message": "Param missing"
}
3、分组不存在
{
"error": "tag-rule/tag_no_exist",
"code": 0,
"message": "Tag no exist"
}
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/x-www-form-urlencoded | 是 | ||
| Authorization | Bearer eyJhbGciOiJIUzUxMiIsInIiOjI0MDczMjkxNTMsInR5cCI6IkpXVCJ9.eyJleHAiOjE2NjMxNDQ0MDksImlzYSI6MTY2MzE0MjYwOSwiaXNzIjoib3JheXRlc3QwMTIiLCJyb2xlIjo0LCJ1aWQiOjEyNTY0MTIyLCJzZXIiOiJhdXRoLXYyLm9yYXliZXRhLmNvbSIsIm5zIjoidXNlciJ9.6kuXR3XwjRVjyOxOPrwArPaJP-QV4UOB5M4sFJ_F318Bs66k1nhhtduiovOfDM7QAZIvRK1h2rFr3uNrAkGvVQ | 是 | Bearer eyJhbGciOiJIUzUxMiIsInIiOjI0MDczMjkxNTMsInR5cCI6IkpXVCJ9.eyJleHAiOjE2NjMxNDQ0MDksImlzYSI6MTY2MzE0MjYwOSwiaXNzIjoib3JheXRlc3QwMTIiLCJyb2xlIjo0LCJ1aWQiOjEyNTY0MTIyLCJzZXIiOiJhdXRoLXYyLm9yYXliZXRhLmNvbSIsIm5zIjoidXNlciJ9.6kuXR3XwjRVjyOxOPrwArPaJP-QV4UOB5M4sFJ_F318Bs66k1nhhtduiovOfDM7QAZIvRK1h2rFr3uNrAkGvVQ | |
| Body |
{
"status":2, // 是否开启,1是,2否
"tag_id":11, // 标签id
"filter":[ // 过滤内容
{
"what": "device_name", // 条件:设备名称device_name,设备备注名device_remark__name
"type": 1, // 类型:1包含,2不包含
"value": "你好的的", // 过滤内容
"is_valid": 1 // 是否有效:1是,2否
},
{
"what": "device_remark_name",
"type": 1,
"value": "device_remark_name",
"is_valid": 1
}
]
}
{
"tag_rule_id": 9, // 分组规则id
"user_id": 12564122, // 服务id
"status": 2, // 是否开启,1是,2否
"tag_id": 3, // 标签id
"filter": [ // 过滤内容
{
"filter_id": 3, // 过滤 id
"what": "device_name", // 条件:设备名称device_name,设备备注名device_remark__name
"type": 1, // 类型:1包含,2不包含
"value": "你好的的", // 过滤内容
"is_valid": 1 // 是否有效:1是,2否
},
{
"filter_id": 4,
"what": "device_remark_name",
"type": 1,
"value": "device_remark_name",
"is_valid": 1
}
]
}
Path: /securitys/users
Method: POST
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/json | 是 | ||
| Body |
{
"add": [
{
"ent_user_id": "1"
}
],
"del": [
{
"ent_user_id": "2"
}
]
}
{
"security_users": [
{
"ent_id": "11",
"ent_user_id": "1"
}
],
"total": "1"
}
<a id=保存登录限制 - ip限制【敏感操作】>
Path: /securitys/ips
Method: POST
接口描述:
{
"code": "",
"error": "security/ip_repet",
"message": "",
"metadata": {192.168.1.1: "security/ip_repet"}
}
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/json | 是 | ||
| Body |
{
"limit_type": "blacklist",
"add": [
{
"ip": "192.168.31.00",
"desc": "刘测试"
},
{
"ip": "192.168.31.96",
"desc": "刘测试v2"
}
],
"del": [
{
"ip_limit_id": "1"
},
{
"ip_limit_id": "2"
}
]
}
{
"total": "2"
}
<a id=保存登录限制 - mac限制【敏感操作】>
Path: /securitys/macs
Method: POST
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/json | 是 | ||
| Body |
{
"limit_type": "whitelist",
"add": [
{
"mac": "00:15:5D:70:28:dd",
"desc": "测试mac"
},
{
"mac": "00-00-00-00-28-48",
"desc": "测试mac2233"
}
],
"del": [
{
"mac_limit_id": "2"
},
{
"mac_limit_id": "3"
}
]
}
{
"macs": [
{
"mac_limit_id": "11",
"ent_id": "11",
"mac": "00-15-5D-70-28-48",
"desc": "测试mac",
"create_time": "1663922162"
},
{
"mac_limit_id": "12",
"ent_id": "11",
"mac": "00-00-00-00-28-48",
"desc": "测试mac2233",
"create_time": "1663922162"
}
],
"total": "2"
}
<a id=保存登录限制 - 时间段限制【敏感操作】>
Path: /securitys/schedules
Method: POST
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/json | 是 | ||
| Body |
{
"limit_type": "blacklist",
"add": [
{
"starttime": "16:29:17",
"endtime": "16:29:18"
},
{
"starttime": "16:29:20",
"endtime": "16:29:30"
}
],
"del": [
{
"schedule_limit_id": "1"
},
{
"schedule_limit_id": "2"
}
]
}
{
"schedules": [
{
"schedule_limit_id": "1",
"ent_id": "11",
"starttime": "16:29:17",
"endtime": "16:29:18",
"create_time": "1664164738"
},
{
"schedule_limit_id": "2",
"ent_id": "11",
"starttime": "16:29:20",
"endtime": "16:29:30",
"create_time": "1664164738"
}
],
"total": "2"
}
Path: /securitys/batch-ips
Method: POST
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/json | 是 | ||
| Body |
{
"limit_type": "blacklist",
"add": [
{
"ip": "192.168.31.00",
"desc": "刘测试"
},
{
"ip": "192.168.31.96",
"desc": "刘测试v2"
}
],
}
{
"err_ip_limits": [ // 错误的记录
{
"ip": "192.168.31.96",
"desc": "刘测试",
"error": ""
},
{
"ip": "192.168.31.96",
"desc": "刘测试v2",
"error": ""
}
],
"total": "2"
}
<a id=系统安全 - 错误码列表>
Path: /securitys/errors
Method: GET
接口描述:
| error | code | 错误 | 接口处 |
|---|---|---|---|
| security/ip_format_wrong | Ip地址格式不对 | ||
| security/schedule_format_wrong | 时间格式不对 | ||
| security/mac_format_wrong | Mac地址格式不对 | ||
| security/mac_repet | Mac地址重复 | ||
| security/ip_repet | Ip地址重复 | ||
| security/schedule_repet | 时间段重复 | ||
| security/mac_limit_login | 150757386 | mac限制登录 | /authorization |
| security/ip_limit_login | 150757387 | ip限制登录 | /authorization |
| security/schedule_limit_login | 150757388 | 时间段限制登录 | /authorization |
| security/new_device | 150757381 | 新设备限制登录 | /authorization |
| authent/user_not_found_contact | 150765577 | 需要新设备限制登录时,没有联系方式会报错 | /authorization |
| security/ips_max_limit | 保存ip超过限制条数,目前限制200条 | ||
| security/operation_timeout | 操作超时 | ||
| security/ip_desc_limit | ip描述长度超过20 |
Path: /securitys/users
Method: GET
接口描述:
Query
| 参数名称 | 是否必须 | 示例 | 备注 |
|---|---|---|---|
| limit | 是 | ||
| offset | 是 | ||
| keyword | 是 |
{
"security_users": [
{
"ent_id": "11",
"ent_user_id": "1",
"nick": "",
"account": "",
"email": "",
"mobile": "",
"group_ids": []
}
],
"total": "1"
}
<a id=获取登录限制 - ip限制>
Path: /securitys/ips
Method: GET
接口描述:
Query
| 参数名称 | 是否必须 | 示例 | 备注 |
|---|---|---|---|
| limit_type | 是 | ||
| limit | 是 | ||
| offset | 否 |
{
"ips": [
{
"ip_limit_id": "1",
"ent_id": "11",
"ip": "192.168.31.96",
"desc": "刘测试",
"create_time": "1664164485"
},
{
"ip_limit_id": "2",
"ent_id": "11",
"ip": "192.168.31.96",
"desc": "刘测试v2",
"create_time": "1664164485"
}
],
"total": "2"
}
<a id=获取登录限制 - mac限制>
Path: /securitys/macs
Method: GET
接口描述:
Query
| 参数名称 | 是否必须 | 示例 | 备注 |
|---|---|---|---|
| limit_type | 是 | ||
| limit | 是 | ||
| offset | 是 | ||
| mac | 否 | 支持模糊查询 |
{
"macs": [
{
"mac_limit_id": "11",
"ent_id": "11",
"mac": "00-15-5D-70-28-48",
"desc": "测试mac",
"create_time": "1663922162"
},
{
"mac_limit_id": "12",
"ent_id": "11",
"mac": "00-00-00-00-28-48",
"desc": "测试mac2233",
"create_time": "1663922162"
}
],
"total": "2"
}
<a id=获取登录限制 - 时间段限制>
Path: /securitys/schedules
Method: GET
接口描述:
Query
| 参数名称 | 是否必须 | 示例 | 备注 |
|---|---|---|---|
| limit_type | 是 |
{
"schedules": [
{
"schedule_limit_id": "1",
"ent_id": "11",
"starttime": "16:29:17",
"endtime": "16:29:18",
"create_time": "1664164738"
},
{
"schedule_limit_id": "2",
"ent_id": "11",
"starttime": "16:29:20",
"endtime": "16:29:30",
"create_time": "1664164738"
}
],
"total": "2"
}
<a id=获取系统安全 - 登录限制>
Path: /securitys/config
Method: GET
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Authorization | 是 | Bearer xxx |
{
"ent_id": "11",
"is_valid": false,
"security_type": 0,
"is_mac_limit": false,
"mac_type": "blacklist",
"is_ip_limit": false,
"ip_type": "none",
"is_schedule_limit": false,
"schedule_type": "none",
"update_time": "0",
"create_time": "0"
}
<a id=设置系统安全 - 登录限制>
Path: /securitys/config
Method: PUT
接口描述:
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/json | 是 | ||
| Authorization | 是 | Bearer xxx | ||
| Body |
{
"ent_id": "11",
"is_valid": false,
"security_type": 0,
"is_mac_limit": false,
"mac_type": "blacklist",
"is_ip_limit": false,
"ip_type": "none",
"is_schedule_limit": false,
"schedule_type": "none",
"update_time": "0",
"create_time": "0",
"is_web_remote_limit": false,
}
{
"ent_id": "11",
"is_valid": false,
"security_type": 0,
"is_mac_limit": false,
"mac_type": "blacklist",
"is_ip_limit": false,
"ip_type": "none",
"is_schedule_limit": false,
"schedule_type": "none",
"update_time": "0",
"create_time": "0",
"is_web_remote_limit": false,
}
Path: /buckets/qr
Method: POST
接口描述:
原来二维码的内容放在payload中,返回的id做为二维码内容供app扫码获取
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/json | 是 | ||
| Body |
{
"payload": "123123"
}
{
"id": "4297f44b13955235245b2497399d7a93",
"payload": "123123",
"expires": "25200"
}
Path: /buckets/qr/{id}
Method: GET
接口描述:
路径参数
| 参数名称 | 示例 | 备注 |
| ------------ | ------------ | ------------ | ------------ | ------------ |
| id | | |
Query
| 参数名称 | 是否必须 | 示例 | 备注 |
|---|---|---|---|
| id | 是 | 扫码的内容 |
{
"id": "4297f44b13955235245b2497399d7a93",
"payload": "123123",
"expires": "25200"
}
Path: /plug/mod_id_timer
Method: GET
接口描述:
undefined
Path: /plug/del_id_timer
Method: GET
接口描述:
undefined
Path: /plug/del_id_delayer
Method: GET
接口描述:
undefined
Path: /plug/del_id_recover_off
Method: GET
接口描述:
undefined
Path: /plug/add_id_recover_of
Method: GET
接口描述:
undefined
Path: /plug/sw_ctrl
Method: GET
接口描述:
undefined
Path: /plug/add_id_timer
Method: GET
接口描述:
undefined
Path: /plug/add_id_delayer
Method: GET
接口描述:
undefined
Path: /plug/upgrade_progress
Method: GET
接口描述:
undefined
Path: /plug/get_id_timer_list
Method: GET
接口描述:
undefined
Path: /plug/get_id_delayer
Method: GET
接口描述:
undefined
Path: /plug/sw_get
Method: GET
接口描述:
undefined
Path: /plug/get_usr_conf
Method: GET
接口描述:
Path: /plug/get_dev_energy
Method: GET
接口描述:
undefined
Path: /plug/get_dev_info
Method: GET
接口描述:
Path: /plug/set_usr_conf
Method: GET
接口描述:
undefined
Path: /plug/set_cur_threshold
Method: GET
接口描述:
undefined
Path: /plug/set_upgrade
Method: GET
接口描述:
undefined
Path: /power-protect
Method: POST
接口描述:
undefined
Path: /vdc-protect
Method: POST
接口描述:
undefined
Path: /power-protect/:sn
Method: DELETE
接口描述:
undefined
路径参数
| 参数名称 | 示例 | 备注 |
| ------------ | ------------ | ------------ | ------------ | ------------ |
| sn | | |
Path: /power-logs/:sn
Method: GET
接口描述:
路径参数
| 参数名称 | 示例 | 备注 |
| ------------ | ------------ | ------------ | ------------ | ------------ |
| sn | | |
Query
| 参数名称 | 是否必须 | 示例 | 备注 |
|---|---|---|---|
| index | 是 | 0 | 0-全部 1-8插孔号 |
| create_time | 是 | 2022-12-17 00:00:00 | 返货大于等于指定时间数据 |
{
"power_logs":[
{
"id": 1,
"sn": "123456",
"power": 220, // 功率值
"start_time":1672107693, // 开始时间
"ent_time":1672107693, // 结束时间 间隔一小时
"number": 0, // 0-全部 1-8插孔号
"create_time":1672107693 // 创建时间
}
]
}
Path: /alarm-logs/:sn
Method: GET
接口描述:
路径参数
| 参数名称 | 示例 | 备注 |
| ------------ | ------------ | ------------ | ------------ | ------------ |
| sn | 123 | sn |
Query
| 参数名称 | 是否必须 | 示例 | 备注 |
|---|---|---|---|
| index | 是 | 0 | 0 全部 1-8插孔号 |
| create_time | 是 | 2022-12-16 00:00:00 | 返回大于等于这个时间数据 |
| offset | 是 | 0 | 第一页 |
| limit | 是 | 20 | 20条 |
{
"alarm_logs":[
{
"id": 1,
"sn": "123456",
"desc": "电压高于240V,已自动断电",
"type": 1, // 1-电压 2-功率
"number": 0, // 0-全部 1-8插孔号
"memo": "", // 插孔备注
"is_push_app": false,
"create_time": 1672050373, // 时间戳
}
],
"total": 1
}
Path: /vdc-logs/:sn
Method: GET
接口描述:
路径参数
| 参数名称 | 示例 | 备注 |
| ------------ | ------------ | ------------ | ------------ | ------------ |
| sn | 123456 | sn |
Query
| 参数名称 | 是否必须 | 示例 | 备注 |
|---|---|---|---|
| create_time | 是 | 2022-12-26 00:00:00 | 起始时间 |
{
"vdc_logs":[
{
"id": 1,
"sn": "123456",
"vdc": 220, // 电压值
"start_time":1672107693, // 开始时间
"ent_time":1672107693, // 结束时间 间隔一小时
"create_time":1672107693 // 创建时间
}
]
}
Path: /power-protect/:sn
Method: GET
接口描述:
路径参数
| 参数名称 | 示例 | 备注 |
| ------------ | ------------ | ------------ | ------------ | ------------ |
| sn | | |
{
"sn":"123456",
"user_id":123456, // 服务代码
"power":2500, // 功率值
"is_open":false, // 是否开启
"trigger_type":1, // 触发类型 1-预警 2-断电
"idxs":"1,2", // 插孔号 0表示总功率记录,常规插孔号从1开始,多个插孔用,连接
"pre_power":2400, // 前一次调整值
"pre_time":1672107693, // 前一次调整时间
"create_time":1672107693,
}
Path: /vdc-protect/:sn
Method: GET
接口描述:
路径参数
| 参数名称 | 示例 | 备注 |
| ------------ | ------------ | ------------ | ------------ | ------------ |
| sn | | |
{
"sn": "123456",
"user_id": 123456, // 服务代码
"lvd": 200, // 低电压
"lvd_hystersis": 2, // 低电压回差
"is_open_lvd": false, // 是否开启低电压
"lvd_trigger_type": 2, // 触发类型 1-预警 2-断电
"hv": 240, // 高电压
"hv_hystersis": 3, // 高电压回差
"is_open_hv": true, // 是否开启高电压
"hv_trigger_type": 1, // 触发类型 1-预警 2-断电
"pre_lvd": 200, // 前一次调整低电压
"pre_hv": 240, // 前一次调整高电压
"pre_time": 1672107693, // 前一次调整时间
"create_time": 1672107693,
}
Path: /collectionlog/configs
Method: GET
接口描述:
//fluentbit实例
fluent-bit.exe -i dummy -o http -p host="api-std.sunlogin.oraybeta.com" -p port=443 -p uri=collectionlog -p format=json_lines -p json_date_format=java_sql_timestamp -p tls=On -p tls.verify=Off -p header="Sign 5dd3d1d618612fa739f93fa96b1375e8" -p header="RandKey a80050f3-131d-45d2-b87a-480378b09681" -p header="ClientId 12345"
Query
| 参数名称 | 是否必须 | 示例 | 备注 |
|---|---|---|---|
| client_id | 是 |
{
"output": {
"name": "http",
"host": "api-std.sunlogin.oraybeta.com",
"port": "443",
"uri": "collectionlog",
"format": "json_lines",
"json_date_format": "java_sql_timestamp",
"tls": "On",
"tls_verify": "Off"
},
"filter": {
"name": "grep",
"exclude": "level debug",
"match": "*"
},
"sign": "5dd3d1d618612fa739f93fa96b1375e8",
"rand_key": "a80050f3-131d-45d2-b87a-480378b09681"
}
Path: /usersvc/redirect
Method: GET
接口描述:
Query
| 参数名称 | 是否必须 | 示例 | 备注 |
|---|---|---|---|
| serviceid | 是 | 310216 | 服务id |
///redirect/其他
{
"redirect_url": "https://www.baidu.com",
"buy_url": "https://store.oray.com/buy/?productid=310000"
}
///redirect/310216
{
"redirect_url": "http://url.oray.com/IrYJdq",
"way": 1,
"buy_url": "https://store.oray.com/buy/?productid=310216"
}
///redirect/0
{
"redirect_url": "https://www.baidu.com"
}