archive: 紫鸟/HubStudio 文档快照(3889 篇 Markdown)

来源:紫鸟帮助中心/博客/主站资讯 + HubStudio API 文档/帮助中心 + 三个官方 skill 仓库。
只入库 Markdown 与元数据;原始 HTML 与 tarball 留在本机。
This commit is contained in:
admin9webs committed 2026-10-05 12:11:35 +00:00
commit 322b7737eb
3976 files changed
+695714

No files matched your search

@@ -0,0 +1,129 @@
# 认证鉴权接口
> 本文件是 ziniao-sso-doc 的 Level 2 参考文档。
> 仅在需要查阅 get_app_token 或 user-login 接口的详细参数时加载。
>
> **响应说明**:以下各接口的"响应参数"均为业务层字段,实际位于网关响应的 `data` 内部。完整响应结构见 `api-guide.md` 公共响应参数。
## 获取应用 Token
> 仅在"复杂鉴权模式"下需要调用此接口。如使用"简单鉴权模式"(直接用 API Key),无需调用此接口,跳过本节即可。
### 基本信息
| 项目 | 值 |
|------|------|
| 路径 | `/auth/get_app_token` |
| 方法 | POST |
| Content-Type | application/json |
### 请求 Headers
| 参数名称 | 参数值 | 是否必须 |
|----------|--------|----------|
| Content-Type | application/json | true |
| Authorization | Bearer {API_Key} | true |
### 请求 Body
无需请求体参数。
### 响应参数
| 参数名称 | 参数说明 | 类型 |
|----------|----------|------|
| appAuthToken | 应用授权令牌 | string |
| expiresIn | 令牌有效期(秒),-1 表示永久有效 | string |
### 请求示例
```bash
curl --location 'https://sbappstoreapi.ziniao.com/openapi-router/auth/get_app_token' \
--header 'Authorization: Bearer {API_Key}' \
--header 'Content-Type: application/json' \
--data-raw ''
```
### 响应示例
```json
{
"appAuthToken": "xxxxxxxxxxxxxxxx",
"expiresIn": "-1"
}
```
---
## 获取指定用户登录 Token
> 需联系紫鸟在线客服申请接口权限(走特殊申请 OA 单,Boss 验证后生效)。
> 目前仅支持 Windows 版客户端。
### 基本信息
| 项目 | 值 |
|------|------|
| 路径 | `/superbrowser/rest/v1/token/user-login` |
| 方法 | POST |
| Content-Type | application/json |
### 请求 Headers
| 参数名称 | 参数值 | 是否必须 |
|----------|--------|----------|
| Content-Type | application/json | true |
| Authorization | Bearer {API_Key} | true |
### 请求 Body
| 参数名称 | 参数说明 | 是否必须 | 数据类型 |
|----------|----------|----------|----------|
| companyId | 公司 ID | false | number |
| userId | 用户 ID | false | number |
### 响应参数
> 注意:此接口业务层使用 `code`/`msg` 结构,与其他接口的 `ret`/`status`/`msg`/`count` 结构不同,判断成功应检查 `code == 0` 而非 `ret == 0`。
| 参数名称 | 参数说明 | 类型 |
|----------|----------|------|
| code | 0 表示成功 | number |
| msg | 状态描述(成功时为 "SUCCESS") | string |
| data | 响应数据对象 | object |
| data.token | 用户登录 token(即 openapiToken) | string |
| data.expireTime | 过期时长(秒) | number |
| data.timeUnit | 时间单位(SECONDS) | string |
### 请求示例
```bash
curl --location 'https://sbappstoreapi.ziniao.com/openapi-router/superbrowser/rest/v1/token/user-login' \
--header 'Authorization: Bearer {API_Key}' \
--header 'Content-Type: application/json' \
--data-raw '{"companyId":"15393571083459","userId":"15393571087094"}'
```
### 响应示例
```json
{
"code": 0,
"msg": "SUCCESS",
"data": {
"token": "79db5b0c8d16d5d7eecded06101a7e39",
"expireTime": 1800,
"timeUnit": "SECONDS"
}
}
```
### 使用说明
获取到的 token 即为 Schema URL 中的 `openapiToken` 参数,拼接格式为:
```
superbrowser://OpenStrore?storeId={账号ID}&openapiToken={token}&userId={用户ID}
```
如果本地已登录紫鸟客户端,且 userId 与本地登录用户一致,可不传 openapiToken(客户端版本 v5.290 或 v6.25 以上)。
@@ -0,0 +1,256 @@
# 企业信息与员工/账号查询接口
> 本文件是 ziniao-sso-doc 的 Level 2 参考文档。
> 仅在需要查阅企业信息、员工查询或账号查询接口的详细参数时加载。
> **响应说明**:以下各接口的"响应参数"均为业务层字段,实际位于网关响应的 `data` 内部。完整响应结构见 `api-guide.md` 公共响应参数。
## 获取当前自建应用的公司信息
### 基本信息
| 项目 | 值 |
|------|------|
| 路径 | `/app/builtin/company` |
| 方法 | GET |
| Content-Type | application/json |
### 请求 Headers
| 参数名称 | 参数值 | 是否必须 |
|----------|--------|----------|
| Content-Type | application/json | true |
| Authorization | Bearer {API_Key} | true |
### 请求 Body
无。
### 响应参数
| 参数名称 | 参数说明 | 类型 |
|----------|----------|------|
| companyId | 企业 ID(固定值,获取一次后复用) | integer |
### 请求示例
```bash
curl --location 'https://sbappstoreapi.ziniao.com/openapi-router/app/builtin/company' \
--header 'Authorization: Bearer {API_Key}'
```
### 响应示例
```json
{
"companyId": 15393571083459
}
```
> companyId 为固定值,也可在开放平台首页右侧直接获取。
---
## ERP-员工查询
### 基本信息
| 项目 | 值 |
|------|------|
| 路径 | `/superbrowser/rest/v1/erp/staff/list` |
| 方法 | POST |
| Content-Type | application/json |
### 请求 Headers
| 参数名称 | 参数值 | 是否必须 |
|----------|--------|----------|
| Content-Type | application/json | true |
| Authorization | Bearer {API_Key} | true |
### 请求 Body
| 参数名称 | 参数说明 | 是否必须 | 数据类型 |
|----------|----------|----------|----------|
| companyId | 公司 ID | true | number |
| page | 页码 | true | number |
| limit | 每页条数 | true | number |
| username | 用户账号 | false | string |
| name | 用户真实姓名 | false | string |
| departmentIds | 部门 ID 数组 | false | array\<number\> |
| level | 角色类型:0=Boss,1=经理,2=员工,3=超级管理员 | false | string |
| delflag | 删除标志:0=正常,1=禁用,2=删除(不传返回全部) | false | string |
| isAccurate | 查询模式:0=模糊查询,1=精确查询(默认 0) | false | number |
### 响应参数
| 参数名称 | 参数说明 | 类型 |
|----------|----------|------|
| ret | 状态码,0=成功 | number |
| status | success / faile | string |
| data | 员工列表 | array |
| data[].username | 用户名 | string |
| data[].userId | 用户 ID | number |
| data[].name | 联系人姓名 | string |
| data[].level | 角色类型:0=Boss,1=经理,2=员工,3=超级管理员 | string |
| data[].mobile | 手机号 | string |
| data[].delflag | 状态:0=正常,1=禁用,2=删除 | string |
| data[].authPhone | 登录手机号 | string |
| msg | 错误信息 | string |
| count | 总条数 | string |
### 请求示例
```bash
curl --location 'https://sbappstoreapi.ziniao.com/openapi-router/superbrowser/rest/v1/erp/staff/list' \
--header 'Authorization: Bearer {API_Key}' \
--header 'Content-Type: application/json' \
--data-raw '{
"companyId": "15393571083459",
"page": "1",
"limit": "10",
"level": "",
"isAccurate": "",
"departmentIds": [],
"delflag": "",
"name": "",
"username": ""
}'
```
---
## ERP-账号列表查询
### 基本信息
| 项目 | 值 |
|------|------|
| 路径 | `/superbrowser/rest/v1/erp/store/list` |
| 方法 | POST |
| Content-Type | application/json |
### 请求 Headers
| 参数名称 | 参数值 | 是否必须 |
|----------|--------|----------|
| Content-Type | application/json | true |
| Authorization | Bearer {API_Key} | true |
### 请求 Body
| 参数名称 | 参数说明 | 是否必须 | 数据类型 |
|----------|----------|----------|----------|
| companyId | 公司 ID | true | number |
| storeName | 账号名称 | false | string |
| ip | 设备 IP | false | string |
| page | 页码 | false | number |
| limit | 每页条数(私有化账号建议传 20) | false | number |
### 响应参数
| 参数名称 | 参数说明 | 类型 |
|----------|----------|------|
| ret | 状态码,0=成功 | number |
| status | success / faile | string |
| data | 账号列表 | array |
| data[].id | 账号 ID(即 storeId) | number |
| data[].ip | 设备 IP | string |
| data[].lastuserId | 最后登录用户 ID | number |
| data[].lastusetime | 最后登录时间 | string |
| data[].name | 账号名 | string |
| data[].platform | 账号所属平台(如"美国亚马逊") | string |
| data[].proxyId | 设备 ID | string |
| data[].siteId | 平台 ID | string |
| data[].username | 平台登录账号 | string |
| data[].createtime | 账号创建时间 | string |
| data[].siteName | 站点名称 | string |
| data[].packageName | 套餐名称 | string |
| data[].platformName | 平台名称 | string |
| msg | 错误信息 | string |
| count | 总条数 | string |
### 请求示例
```bash
curl --location 'https://sbappstoreapi.ziniao.com/openapi-router/superbrowser/rest/v1/erp/store/list' \
--header 'Authorization: Bearer {API_Key}' \
--header 'Content-Type: application/json' \
--data-raw '{
"companyId": "15393571083459",
"storeName": "",
"ip": "",
"page": "1",
"limit": "10"
}'
```
---
## ERP-查询某用户有权限的账号列表
### 基本信息
| 项目 | 值 |
|------|------|
| 路径 | `/superbrowser/rest/v1/erp/user/stores` |
| 方法 | POST |
| Content-Type | application/json |
### 请求 Headers
| 参数名称 | 参数值 | 是否必须 |
|----------|--------|----------|
| Content-Type | application/json | true |
| Authorization | Bearer {API_Key} | true |
### 请求 Body
| 参数名称 | 参数说明 | 是否必须 | 数据类型 |
|----------|----------|----------|----------|
| companyId | 公司 ID | true | number |
| userId | 用户 ID | true | number |
| storeName | 账号名称 | false | string |
| isAccurate | 查询模式:0=模糊,1=精确(默认精确) | false | number |
| page | 页码 | false | number |
| limit | 每页条数 | false | number |
### 响应参数
| 参数名称 | 参数说明 | 类型 |
|----------|----------|------|
| ret | 状态码,0=成功 | number |
| status | success / faile | string |
| data | 账号列表 | array |
| data[].id | 账号 ID(即 storeId) | number |
| data[].ipId | 设备 ID | number |
| data[].ip | 设备 IP | string |
| data[].platform | 账号所属平台 | string |
| data[].name | 账号名 | string |
| data[].lastUserId | 最后登录用户 ID | string |
| data[].lastUserName | 最后登录用户姓名 | string |
| data[].lastOpenUsername | 最后登录用户名称 | string |
| data[].lastUsetime | 最后登录时间 | string |
| data[].ipExpiryTime | 设备到期时间 | string |
| data[].tags | 账号标签列表 | array\<string\> |
| data[].regionInfo | 套餐信息 | string |
| data[].platformCategory | 平台类目 | string |
| data[].userName | 登录凭证 | string |
| msg | 错误信息 | string |
| count | 总条数 | number |
### 请求示例
```bash
curl --location 'https://sbappstoreapi.ziniao.com/openapi-router/superbrowser/rest/v1/erp/user/stores' \
--header 'Authorization: Bearer {API_Key}' \
--header 'Content-Type: application/json' \
--data-raw '{
"companyId": "15393571083459",
"userId": "15393571087094",
"storeName": "",
"isAccurate": "",
"page": "1",
"limit": "10"
}'
```
@@ -0,0 +1,84 @@
# API 使用指南
> 本文件是 ziniao-sso-doc 的 Level 2 参考文档。
> 仅在需要了解 API 基地址、公共 Headers、公共响应结构或 curl 调用示例时加载。
## Base URL
```
https://sbappstoreapi.ziniao.com/openapi-router
```
所有服务端接口路径均以此为前缀拼接。
## 公共请求 Headers
| Header | 值 | 说明 |
|--------|------|------|
| Content-Type | application/json | 所有接口统一使用 JSON 格式 |
| Authorization | Bearer {API_Key} | API Key 从开放平台自建应用获取 |
## 认证方式
支持两种鉴权模式:
### 简单鉴权模式(推荐)
1. 在紫鸟开放平台创建"卖家自研应用"
2. API 身份验证选择"简单通用模式"
3. 获取 API Key
4. 每次请求在 Header 中携带 `Authorization: Bearer {API_Key}`
无需调用 `get_app_token` 接口,直接用 API Key 即可调用所有业务接口。
### 复杂鉴权模式
1. 创建应用后获取 API Key
2. 调用 `/auth/get_app_token` 获取 appAuthToken
3. 后续请求使用 appAuthToken 进行身份验证
## 公共响应参数
所有接口的网关层返回以下统一结构:
| 参数名称 | 参数说明 | 类型 |
|----------|----------|------|
| request_id | 全局请求 ID,用于追踪定位 | string |
| code | 网关返回码,`"0"` 表示成功 | string |
| msg | 网关返回码描述 | string |
| sub_code | 业务返回码,成功时不返回 | string |
| sub_msg | 业务返回码描述,成功时不返回 | string |
| data | 业务响应参数 | object |
### 业务层响应(data 内部)
部分接口(员工查询、账号查询等)的 data 内部有二级结构:
| 参数名称 | 参数说明 | 类型 |
|----------|----------|------|
| ret | 状态码,0=成功,其他=失败 | number |
| status | `"success"` 或 `"faile"` | string |
| data | 业务数据(数组或对象) | array/object |
| msg | 错误信息 | string |
| count | 总条数 | string/number |
### 响应判断逻辑
```
1. 检查网关层 code 是否为 "0"
├── 否 → 打印 request_id、msg、sub_msg,检查 API Key 和权限配置
└── 是 → 检查业务层是否成功
├── 否 → 打印响应获取错误原因
└── 是 → 解析 data 获取业务数据
```
> **异常处理要求**:请求异常(包括状态码异常)时,必须将 `request_id`、`msg` 和 `sub_msg` 都打印出来,便于追踪定位问题。
## 前置准备
1. 在紫鸟开放平台注册并创建"卖家自研应用"
2. 选择鉴权模式(简单鉴权或复杂鉴权)
3. 获取 API Key
4. 申请所需权限点(如需使用 `user-login` 接口,需联系紫鸟在线客服走特殊申请 OA 单,Boss 验证后生效)
5. 配置 IP 白名单
6. 获取 companyId(调用 `/app/builtin/company` 或在开放平台首页右侧查看)
@@ -0,0 +1,88 @@
# 客户端 Schema URL 协议
> 本文件是 ziniao-sso-doc 的 Level 2 参考文档。
> 仅在需要查阅 superbrowser:// Schema URL 的详细参数与用法时加载。
## 概述
通过 `superbrowser://` 自定义 URL 协议控制紫鸟浏览器,支持打开/关闭账号和退出程序。
调用方式有两种:
1. **浏览器链接**:在浏览器地址栏打开 `superbrowser://...`(需通过安装程序安装紫鸟)
2. **命令行**:`SuperBrowser.exe "superbrowser://..."` (需主程序路径正确)
---
## Action: OpenStrore(打开账号)
### 完整示例
```
superbrowser://OpenStrore?storeId=xxxxxxx&openapiToken=xxxxxxxxx&userId=xxxxxxx&lanuchUrl=aHR0cHM6Ly93d3cuYmFpZHUuY29t&autoopen=true&debuggPort=60001&notPromptForDownload=1&forceDownloadPath=Rjpc5a6J6KOF5YyF --disable-gpu start-maximized
```
### 必须参数
| 参数 | 说明 |
|------|------|
| storeId | 账号 ID |
| userId | 紫鸟的用户 ID(如果发生变化需要重新登录) |
| openapiToken | 鉴权 token(通过 `user-login` 接口获取) |
> 如果本地已登录紫鸟客户端,且 userId 与本地登录用户一致,openapiToken 可不传(客户端版本 v5.290 或 v6.25 以上)。
### 可选参数
| 参数 | 说明 |
|------|------|
| lanuchUrl | 将要打开的目标地址,需 Base64 编码(如 `https://www.baidu.com` → `aHR0cHM6Ly93d3cuYmFpZHUuY29t`) |
| autoopen | 设为 `true` 时自动打开 lanuchUrl 配置的地址 |
| debuggPort | 指定 debug 端口号 |
| notPromptForDownload | `1`=下载文件不弹出选择路径提示框,直接下载;`0` 或不传则弹出选择路径提示框 |
| forceDownloadPath | 设置默认下载路径,路径需 Base64 编码 |
### 命令行参数
命令参数添加在链接后面,用空格隔开,多个参数也用空格隔开。
> 添加的命令参数需要向管理员申请使用权限,否则不生效。
### 响应结果
启动紫鸟浏览器并打开对应账号。
---
## Action: exit(退出浏览器)
### 请求格式
```
superbrowser://exit
```
### 说明
退出紫鸟浏览器程序,关闭所有账号。
> 如果上次打开的程序未完全退出,下次调用打开账号将会发生异常。建议在重新打开前先调用 exit。
---
## Action: CloseStrore(关闭账号)
### 请求格式
```
superbrowser://CloseStrore?storeId=268682156400
```
### 参数
| 参数 | 说明 |
|------|------|
| storeId | 要关闭的账号 ID |
### 说明
关闭指定账号,每次只能关闭 1 个账号。如需关闭多个,需多次调用。