OpenAPI 文档
[TOC]
访问授权
大致授权流程如下,其中:
Client 表示集成应用(安全考虑,只建议在服务端获取访问凭证);
Authorization Server 表示授权服务器。
+---------+ +---------------+
| | | |
| |>--(A)- Client Authentication --->| Authorization |
| Client | | Server |
| |<--(B)---- Access Token ---------<| |
| | | |
+---------+ +---------------+0. 注意事项
Host 说明
公网版本
- Pixso:https://api.pixso.cn
- BoardMix:https://api.boardmix.cn
私有化部署
http[s]😕/
注:请以实际部署为准
1. 获取 client_id 、client_secret
通过 企业后台: OpenAPI管理 -> 应用详情 -> 凭证信息 获取 client_id (App ID) 与 client_secret ( Secret)。
创建 企业应用 步骤,具体请参考《Pixso 企业版使用说明(管理员).pdf》。
2. 获取授权访问凭证
接口说明
第三方应用获取授权访问凭证。
请求格式
| 描述 | 定义 |
|---|---|
| Path | /api/oauth/oauth/token |
| Method | POST |
| Content-Type | multipart/form-data |
| Accept | application/json |
请求体
| 参数名 | 类型 | 必选 | 描述 |
|---|---|---|---|
| grant_type | string | 是 | 授权类型,固定 client_credentials |
| scope | string | 是 | 授权操作列表,以空格拼接,all_scopes 表示全部 |
| client_id | string | 是 | 应用 id |
| client_secret | string | 是 | 应用密钥 |
响应体
| 参数名 | 类型 | 描述 |
|---|---|---|
| access_token | string | 访问令牌 |
| expires_in | integer | 过期时间,单位秒 |
| scope | string | 授权操作列表,以空格拼接,all_scopes 表示全部 |
| token_type | string | 令牌类型:bearer, 按 Bearer {access_token} 拼接访问凭证 |
请求示例
curl --location \
--request POST \
'{Prefix}/api/oauth/oauth/token' \
--form 'grant_type="client_credentials"' \
--form 'scope="all_scopes"' \
--form 'client_id="{ClientId}"' \
--form 'client_secret="{ClientSecret}"'响应示例
{
"access_token": "JWT Token",
"expires_in": 1800,
"scope": "all_scopes",
"token_type": "bearer"
}以上为访问授权相关内容。
以下为 OpenAPI 接入相关内容。
接入说明
OpenAPI Prefix
公网版本
- Pixso:https://openapi.pixso.cn
- BoardMix:https://openapi.boardmix.cn
私有化部署
http[s]😕/{企业内部域名}/openapi
注:请以实际部署为准
请求规范说明
网络协议:
HTTPS协议,私有化以实际部署为准。编码格式:
UTF-8编码。请求方法:
GET、POST、PUT、PATCH、DELETE(具体方法见接口描述)。请求参数:支持
3种,分别为Path Parameters(路径参数)、Query Parameters(查询参数)和Body Parameters(请求体参数)。请求头部:需要使用
Authorization携带AccessToken,用于后台的认证与鉴权。权限说明:接口描述会标注
AccessToken需要的scope,而scope则依赖第三方应用的所获得的scope和发起授权时指定的scope。响应结果:
JSON数据格式。API 的响应体结构包含code、msg、data三个部分,有的只包含code、msg。code为返回码,msg为返回码描述,data为调用 API 后返回的结果;如果code不为0或200则认为请求失败,失败信息可参考msg。
响应体
| 参数名 | 类型 | 描述 |
|---|---|---|
| code | integer | 业务返回码 |
| msg | string | 业务返回码描述 |
| data | json | 业务数据 |
注:msg仅作为参考,后续可能会有变动,不可作为是否成功调用的判断依据。
字段说明
企业成员信息字段说明
| 参数名 | 类型 | 描述 |
|---|---|---|
| e_id | integer | 企业 ID |
| user_id | integer | 用户 ID,企业用户的唯一标识 |
| account_id | integer | 账号 ID,物理账号的唯一标识 |
| status | integer | 账号状态——1:状态正常;-1:已注销;-2:已冻结 |
| string | 邮箱 | |
| mobile | string | 手机号 |
| unique_id | string | 域账号,对应鉴权系统中的用户唯一键,如 username |
| nick_name | string | 昵称 |
| avatar_url | string | 头像链接 |
| department | string | 部门 |
| title | string | 职位 |
| staff_status | integer | 员工状态—— 1:在职;-1:离职 |
| created_at | string | 加入时间,标准时间格式(2022-05-09T09:16:36+08:00) |
| is_administrator | boolean | 是否为管理员 |
| is_owner | boolean | 是否为企业所有者 |
团队基础信息字段说明
| 参数名 | 类型 | 描述 |
|---|---|---|
| id/team_id | integer | 团队 ID |
| name | string | 团队名字 |
| space_id | integer | 空间 ID (同企业 ID; 语义上的区别:空间指的是企业内产品空间) |
| creator_id | integer | 创建者 ID |
| description | string | 团队描述 |
| avatar_key | string | 团队头像唯一标识 |
| avatar_status | string | 团队头像审核状态——pass:通过;block:不通过;review:审核中 |
| created_at | time | 团队创建时间 |
项目基础信息字段说明
| 参数名 | 类型 | 描述 |
|---|---|---|
| id/folder_id | integer | 项目 ID |
| name | string | 项目名字 |
| description | string | 项目描述 |
| creator_id | integer | 创建者 ID |
| team_id | integer | 团队 ID |
| level | integer | 项目类型 ——0:团队成员无权限;22:团队成员可查看;44:团队成员可编辑 |
| created_at | time | 项目创建时间 |
| updated_at | time | 项目更新时间 |
文件基础信息字段说明
| 参数名 | 类型 | 描述 |
|---|---|---|
| file_key | string | 文件唯一标识 |
| folder_id | integer | 项目 ID |
| team_id | integer | 团队 ID |
| space_id | integer | 空间 ID (同企业 ID; 语义上的区别:空间指的是企业内产品空间) |
| creator_id | integer | 创建者 ID |
| name | string | 文件名字 |
| description | string | 文件描述 |
| object_point | string | 存储服务上的 key |
| avatar_key | string | 封面唯一标识 |
| thumb_guid | string | 以画布做为封面场景下:画布 thumb_guid |
| meta | string | 以画布做为封面场景下:画布 meta |
| level | integer | 项目类型 ——0:所有人无权限;22:所有人可查看;44:所有人可编辑 |
| from | integer | 文件来源 |
| type | integer | 文件类型——10:pixso 文件;11:原型文件;20:board 文件;31:AxureHtml 文件 |
| modify_at | time | 文件画布内容修改时间 |
| created_at | time | 创建时间 |
| updated_at | time | 更新时间 |
| trashed_at | time | 进入回收站的时间 |
权限基本信息字段说明
| 参数名 | 类型 | 描述 |
|---|---|---|
| is_invited | integer | 是否被邀请 |
| level | integer | 权限角色——1:owner;2:管理员;3:可写;4:只读 |
| resource_type | string | 消息类型——team:团队;folder:项目;file:文件 |
| resource_id_or_key | string | 团队/项目/文件唯一标识 |
| created_at | time | 创建时间 |
| updated_at | time | 更新时间 |
历史版本信息字段说明
| 参数名 | 类型 | 描述 |
|---|---|---|
| id | string | 历史版本唯一id |
| file_key | string | 文件唯一标识 |
| name | string | 历史版本名字 |
| description | string | 历史版本描述 |
| object_point | string | 历史版本在存储服务上的 key |
| type | integer | 历史版本类型 ——0:所有类型;1:自动保存的版本;2:手动保存的版本;3:自动保存的经过手动修改 |
| share_link | string | 历史版本的分享链接,需要处于开启状态才有值;通过拼接企业域名和分享前缀得到跳转链接。eg: https://pixso.cn/app/share/f/{share_link} |
| created_at | time | 创建时间 |
团队用户信息说明
| 参数名 | 类型 | 描述 |
|---|---|---|
| team_id | integer | 团队id |
| user_id | integer | 资产指派用户id |
| unique_id | string | 资产指派用户 unique_id |
注:user_id和unique_id至少填一个
新增团队成员信息说明
| 参数名 | 类型 | 描述 |
|---|---|---|
| team_id | integer | 团队id |
| level | integer | 权限值,22,44,66 分别表示查看者,编辑者,管理员 |
| user_id | integer | 用户id |
| unique_id | string | 私有化unique_id |
注:user_id和unique_id至少填一个
删除团队成员信息说明
| 参数名 | 类型 | 描述 |
|---|---|---|
| team_id | integer | 团队id |
| user_id | integer | 用户id |
| unique_id | string | 私有化unique_id |
注:user_id和unique_id至少填一个
权益信息字段说明
| 参数名 | 类型 | 描述 |
|---|---|---|
| type | int | 权益类型; -1: 试用, 1: 正式购买, 2: 赠送 |
| current | string | 服务器时间,UTC时间 |
| edit_seat | int | 席位总数; 此项当category为:Design、Whiteboard、Proto方才有效 |
| edit_num | int | 已分配席位数; 此项当category为:Design、Whiteboard、Proto方才有效 |
| start_at | string | 权益生效时间,东八区时间 |
| space_id | uint64 | 空间id |
| extend | string | 拓展信息,json字符串 |
| product | string | 产品信息 |
| end_at | string | 权益结束时间,东八区时间 |
| goods_id | string | 订单id |
| category | string | 类别; 设计权益:Design、白板权益:Whiteboard、原型权益:Proto |
| created_at | string | 权益入库时间 |
接口文档
企业
母企业拥有子企业的权限,子企业仅拥有自己的权限。没有多租户的情况下,请忽略下面传参中的 enterprise_id,enterprise_unique_id
获取企业列表
Router :/v1/ent/list [POST]
| 参数名 | 参数类型 | 描述 | 是否必传 |
|---|---|---|---|
| enterprise_id_list | uint64 列表 | 企业id | 否 |
| enterprise_unique_id_list | string 列表 | 企业unique_id | 否 |
curl --location \
--request POST \
'{Prefix}/v1/ent/list' \
--header 'Authorization: Bearer {AccessToken}' \
--header 'Content-Type: application/json' \
--data '{
"enterprise_id_list" :[1,2],
"enterprise_unique_id_list": [
"aa221",
"aa22"
]
}'新建企业
Router :/v1/ent [POST]
| 参数名 | 参数类型 | 描述 | 是否必传 |
|---|---|---|---|
| e_name | string | 企业名称 | 是 |
| owner_name | string | 企业所有者姓名;最好指定一下 | 否 |
| owner_unique_id | string | 企业所有者 unique_id | 否 |
| e_name_en | string | 企业英文名称 | 否 |
| owner_id | integer | 企业所有者 account_id | 否 |
| enterprise_unique_id | string | 第三方企业 unique_id | 否 |
| identification_id | string | 企业识别号 | 否 |
| business_license | string | 营业执照 | 否 |
| profile | map[string]any | 企业其他信息 | 否 |
curl --location \
--request POST \
'{Prefix}/v1/ent' \
--header 'Authorization: Bearer {AccessToken}' \
--header 'Content-Type: application/json' \
--data '{
"enterprise_unique_id": "aa",
"e_name":"aa",
"owner_name":"aab",
"staff_status": 1,
"owner_id": 24368749
}'修改企业所有者
Router :/v1/ent/transfer/owner [POST]
| 参数名 | 参数类型 | 描述 | 是否必传 |
|---|---|---|---|
| user_id | uint64 | 用户 id | 否 |
| unique_id | string | 用户 unique_id,需要有一个用户,建议用用户id | 否 |
| enterprise_id | uint64 | 企业id | 否 |
| enterprise_unique_id | string | 第三方企业 unique_id,都未指定时默认当前企业 | 否 |
curl --location \
--request PUT \
'{Prefix}/v1/ent/transfer/owner' \
--header 'Authorization: Bearer {AccessToken}' \
--header 'Content-Type: application/json' \
--data '{
"enterprise_unique_id": "aa221",
"user_unique_id":"aaaaa"
}'修改企业名字
Router :/v1/ent/name [PUT]
| 参数名 | 参数类型 | 描述 | 是否必传 |
|---|---|---|---|
| e_name | string | 企业名称 | 是 |
| enterprise_id | uint64 | 企业id | 否 |
| enterprise_unique_id | string | 第三方企业 unique_id | 否 |
curl --location \
--request PUT \
'{Prefix}/v1/ent/name' \
--header 'Authorization: Bearer {AccessToken}' \
--header 'Content-Type: application/json' \
--data '{
"e_name":"aa2",
}'修改企业logo
Router :/v1/ent/logo [PUT]
| 参数名 | 参数类型 | 描述 | 是否必传 |
|---|---|---|---|
| file | file | logo图片 | 是 |
| enterprise_id | uint64 | 企业id | 否 |
| enterprise_unique_id | string | 第三方企业 unique_id | 否 |
curl --location \
--request PUT \
'{Prefix}/v1/ent/logo' \
--header 'Authorization: Bearer {AccessToken}' \
--form 'file=@"/C:/Users/ws/Pictures/Snipaste_2021-01-26_21-21-02.png"'获取我的企业信息
Router :/v1/ent/my [GET]
| 参数名 | 参数类型 | 描述 | 是否必传 |
|---|---|---|---|
| account_id | uint64 | 企业id | 否 |
| unique_id | string | 用户 unique_id,需要有一个用户 | 否 |
| role_list | int 列表 | 筛选成员角色,默认不筛选【1 在职; -1 离职】 | 否 |
| status_list | int 列表 | 筛选成员状态,默认不筛选 【1 管理员; 2 所有者】 | 否 |
curl --location \
--request GET \
'{Prefix}/v1/ent/my' \
--header 'Authorization: Bearer {AccessToken}' \
--header 'Content-Type: application/json' \
--data '{
"account_id":1,
"role_list":[1],
"status_list":[1]
}'企业成员
母企业拥有子企业的权限,子企业仅拥有自己的权限。没有多租户的情况下,请忽略下面传参中的 enterprise_id,enterprise_unique_id
获取企业成员信息 (用户 ID)
Router :/v1/staff [GET]
| 参数名 | 参数类型 | 描述 | 是否必传 |
|---|---|---|---|
| user_id | integer | 用户 ID,用户信息中的 user_id | 是 |
curl --location \
--request GET \
'{Prefix}/v1/staff?user_id={integer}' \
--header 'Authorization: Bearer {AccessToken}'响应示例
{
"code": 200,
"msg": "code-200",
"data": {
"e_id": 1,
"user_id": 27471,
"account_id": 18487,
"status": 1,
"email": "",
"mobile": "",
"nick_name": "测试",
"avatar_url": "",
"department": "测试",
"title": "初级工程师",
"unique_id": "3rd_party-username",
"staff_status": 1,
"created_at": "2022-05-09T09:16:36+08:00",
"is_administrator": true,
"is_owner": true
}
}获取企业成员列表
Router :/v1/staff/list [GET]
| 参数名 | 参数类型 | 描述 | 是否必传 |
|---|---|---|---|
| app | string | 应用名: pixso / board | 是 |
| enterprise_id | uint64 | 指定子企业id | 否 |
| enterprise_unique_id | string | 指定子企业唯一键;都未指定时,默认当前企业 | 否 |
curl --location \
--request GET \
'{Prefix}/v1/staff/list' \
--header 'Authorization: Bearer {AccessToken}'响应示例
{
"code": 200,
"msg": "code-200",
"data": [
{
"e_id": 1,
"user_id": 27471,
"account_id": 18487,
"status": 1,
"email": "",
"mobile": "",
"nick_name": "测试",
"avatar_url": "",
"department": "测试",
"title": "初级工程师",
"unique_id": "3rd_party-username",
"staff_status": 1,
"created_at": "2022-05-09T09:16:36+08:00",
"is_administrator": true,
"is_owner": true
}
]
}获取企业成员列表
Router :/v1/staff/pagination [GET]
| 参数名 | 参数类型 | 描述 | 是否必传 |
|---|---|---|---|
| app | string | 应用名: pixso / board | 是 |
| last_item_id | int | 分页的游标,取前一页的返回值,首页不需要传。 | 否 |
| size | int | 分页的大小 | 否 |
| enterprise_id | uint64 | 指定子企业id | 否 |
| enterprise_unique_id | string | 指定子企业唯一键;都未指定时,默认当前企业 | 否 |
curl --location \
--request GET \
'{Prefix}/v1/staff/pagination?last_item_id={integer}&size={integer}' \
--header 'Authorization: Bearer {AccessToken}'通过用户Id批量获取企业成员信息
Router :/v1/staff/userid/batch [POST]
| 参数名 | 参数类型 | 描述 | 是否必传 |
|---|---|---|---|
| user_ids | array | 用户信息中的 user_id (数组长度限制1000) | 是 |
curl --location \
--request POST \
'{Prefix}/v1/staff/userid/batch' \
--header 'Authorization: Bearer {AccessToken}' \
--header 'Content-Type: application/json' \
--data-raw '{
"user_ids": [123,124,125]
}'响应示例
{
"code": 200,
"msg": "[code-200] OK",
"data": [
{
"account_id": 0,
"avatar_url": "string",
"created_at": "string",
"department": "string",
"e_id": 0,
"email": "string",
"is_administrator": true,
"is_owner": true,
"mobile": "string",
"nick_name": "string",
"staff_status": 0,
"status": 0,
"title": "string",
"unique_id": "string",
"user_id": 0
}
]
}获取企业成员信息 (域账号)
Router :/v1/staff/unique [GET]
| 参数名 | 参数类型 | 描述 | 是否必传 |
|---|---|---|---|
| username | string | 域账号, 用户信息中的 unique_id | 是 |
| enterprise_id | uint64 | 指定子企业id | 否 |
| enterprise_unique_id | string | 指定子企业唯一键;都未指定时,默认当前企业 | 否 |
curl --location \
--request GET \
'{Prefix}/v1/staff/unique?username={unique_id}' \
--header 'Authorization: Bearer {AccessToken}'响应示例
{
"code": 200,
"msg": "code-200",
"data": {
"e_id": 1,
"user_id": 27471,
"account_id": 18487,
"status": 1,
"email": "",
"mobile": "",
"nick_name": "测试",
"avatar_url": "",
"department": "测试",
"title": "初级工程师",
"unique_id": "3rd_party-username",
"staff_status": 1,
"created_at": "2022-05-09T09:16:36+08:00",
"is_administrator": true,
"is_owner": true
}
}批量获取企业成员域账号和用户Id的映射关系
Router :/v1/staff/unique/batch [POST]
| 参数名 | 参数类型 | 描述 | 是否必传 |
|---|---|---|---|
| unique_ids | array | 域账号, 用户信息中的 unique_id (数组长度限制1000) | 是 |
| enterprise_id | uint64 | 指定子企业id | 否 |
| enterprise_unique_id | string | 指定子企业唯一键;都未指定时,默认当前企业 | 否 |
curl --location \
--request POST \
'{Prefix}/v1/staff/unique/batch' \
--header 'Authorization: Bearer {AccessToken}' \
--header 'Content-Type: application/json' \
--data-raw '{
"unique_ids": ["id_1","id_2","id_3"]
}'响应示例
{
"code": 200,
"msg": "[code-200] OK",
"data": {
"id_1": 1,
"id_2": 0,
"id_3": 25290695
}
}搜索企业成员 (姓名)
Router :/v1/staff/search [GET]
| 参数名 | 参数类型 | 描述 | 是否必传 |
|---|---|---|---|
| app | string | 应用名: pixso / board | 是 |
| name | string | 用户名,遵循最左匹配原则 | 是 |
| enterprise_id | uint64 | 指定子企业id | 否 |
| enterprise_unique_id | string | 指定子企业唯一键;都未指定时,默认当前企业 | 否 |
curl --location \
--request GET \
'{Prefix}/v1/staff/search?name=test' \
--header 'Authorization: Bearer {AccessToken}'响应示例
{
"code": 200,
"msg": "code-200",
"data": [
{
"e_id": 1,
"user_id": 27472,
"account_id": 18486,
"status": 1,
"email": "",
"mobile": "",
"nick_name": "test",
"avatar_url": "",
"department": "测试",
"title": "初级工程师",
"unique_id": "3rd_party-username",
"staff_status": 1,
"created_at": "2022-05-09T09:16:36+08:00",
"is_administrator": true,
"is_owner": true
}
]
}同步企业成员信息
Router :/v1/staff/sync [POST]
| 参数名 | 参数类型 | 描述 | 是否必传 |
|---|---|---|---|
| account | string | 第三方的唯一键,对应unique_id | 是 |
| nick_name | string | 昵称 | 是 |
| string | 邮箱 | 否 | |
| avatar_url | string | 头像地址,http(s)可访问地址 | 否 |
| mobile | string | 手机号 | 否 |
| title | string | 头衔 | 否 |
| department | string | 部门 | 否 |
| employee_id | string | 工号 | 否 |
| enterprise_id | uint64 | 指定子企业id | 否 |
| enterprise_unique_id | string | 指定子企业唯一键;都未指定时,默认当前企业 | 否 |
注:此接口成功返回 企业成员的 user_id
curl --location \
--request POST \
'{Prefix}/v1/staff/sync' \
--header 'Authorization: Bearer {AccessToken}' \
--header 'Content-Type: application/json' \
--data-raw '{
"nick_name": "testtest1",
"email": "AA@BB.com",
"mobile": "13399237133",
"department": "1231",
"title": "2313",
"employee_id": "21313",
"appendix": "2313",
// "enterprise_unique_id": "aa",
"account": "testtest1"
}'增加企业成员信息
Router :/v1/staff/add [POST]
| 参数名 | 参数类型 | 描述 | 是否必传 |
|---|---|---|---|
| string | 邮箱 | 否 | |
| mobile | string | 手机号 | 否 |
| unique_id | string | 域账号,对应鉴权系统中的用户唯一键,如 username | 是 |
| name | string | 昵称 | 是 |
| enterprise_id | uint64 | 指定子企业id | 否 |
| enterprise_unique_id | string | 指定子企业唯一键;都未指定时,默认当前企业 | 否 |
注:此接口成功返回 企业成员的 user_id
curl --location \
--request POST \
'{Prefix}/v1/staff/add' \
--header 'Authorization: Bearer {AccessToken}' \
--header 'Content-Type: application/json' \
--data-raw '{
"email": "string",
"mobile": "string",
"name": "string",
"unique_id": "string"
}'响应示例
{
"code": 200,
"msg": "code-200",
"data": 20125352
}增加企业成员信息(批量)
Router :/v1/staff/add/batch [POST]
| 参数名 | 参数类型 | 描述 | 是否必传 |
|---|---|---|---|
| users | array | 用户列表(0 < length <= 1000) | 是 |
| enterprise_id | uint64 | 指定子企业id | 否 |
| enterprise_unique_id | string | 指定子企业唯一键;都未指定时,默认当前企业 | 否 |
注:此接口不返回错误,返回失败的列表项
curl --location \
--request POST \
'{Prefix}/v1/staff/add/batch' \
--header 'Authorization: Bearer {AccessToken}' \
--header 'Content-Type: application/json' \
--data-raw '{
"users": [{
"email": "string",
"mobile": "string",
"name": "string",
"unique_id": "string"
}]
}'响应示例
{
"code": 200,
"msg": "code-200",
"data": [
{
"name": "string",
"unique_id": "string",
"mobile": "string",
"email": "string"
}
]
}设置企业成员状态
Router :/v1/staff/status [PUT]
| 参数名 | 参数类型 | 描述 | 是否必传 |
|---|---|---|---|
| staff_status | integer | 状态,有效值:1,-1;1=在职,-1=离职 | 是 |
| user_id | uint64 | 用户 id | 否 |
| unique_id | string | 用户 unique_id,需要有一个用户,建议用用户id | 否 |
| enterprise_id | uint64 | 指定子企业id | 否 |
| enterprise_unique_id | string | 指定子企业唯一键;都未指定时,默认当前企业 | 否 |
注:此接口不返回错误,返回失败的列表项
curl --location \
--request PUT \
'{Prefix}/v1/staff/status' \
--header 'Authorization: Bearer {AccessToken}' \
--header 'Content-Type: application/json' \
--data-raw '{
"staff_status": 1,
"user_id": 27471
}'响应示例
{
"code": 200,
"msg": "code-200",
"data": {
"e_id": 1,
"user_id": 27471,
"account_id": 18487,
"has_pwd": true,
"email": "",
"mobile": "",
"identification": "",
"status": 1,
"nick_name": "",
"nick_name_status": "pass",
"avatar_url": "",
"avatar_status": "pass",
"unique_id": "",
"username": "",
"wechat": "",
"staff_status": 1,
"created_at": "2022-05-09T09:16:36+08:00",
"is_administrator": true,
"is_owner": true,
"staff_mobile": "",
"staff_email": "",
"department": "",
"title": ""
}
}设置企业成员角色
Router :/v1/staff/role [PUT]
| 参数名 | 参数类型 | 描述 | 是否必传 |
|---|---|---|---|
| role | integer | 角色,有效值:0 普通成员,1管理员 | 是 |
| user_id | uint64 | 用户 id | 否 |
| unique_id | string | 用户 unique_id,需要有一个用户,建议用用户id | 否 |
| enterprise_id | uint64 | 指定子企业id | 否 |
| enterprise_unique_id | string | 指定子企业唯一键;都未指定时,默认当前企业 | 否 |
注:此接口不返回错误,返回失败的列表项
curl --location \
--request PUT \
'{Prefix}/v1/staff/role' \
--header 'Authorization: Bearer {AccessToken}' \
--header 'Content-Type: application/json' \
--data-raw '{
"role": 1,
"user_id": 27471
}'团队
创建团队
Router :/v1/team [POST]
| 参数名 | 参数类型 | 描述 | 是否必传 |
|---|---|---|---|
| name | string | 团队名(长度限制 :1-100) | 是 |
| description | string | 描述 (长度限制 :0-200) | 否 |
| user_id | uint64 | 用户 id | 否 |
| unique_id | string | 用户 unique_id,需要有一个用户,建议用用户id | 否 |
| enterprise_id | uint64 | 指定子企业id | 否 |
| enterprise_unique_id | string | 指定子企业唯一键;都未指定时,默认当前企业 | 否 |
注:unique_id和user_id至少传一个
curl --location \
--request POST \
'{Prefix}/v1/team' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {AccessToken}' \
--data-raw '{
"user_id": 18552003,
"name":"团队名",
"description":"创建一个团队"
}'响应示例
{
"code": 200,
"msg": "",
"data": {
"id": 10325,
"name": "团队名",
"creator_id": 18552003,
"description": "创建一个团队",
"avatar_key": "",
"created_at": "2022-08-11T06:47:16Z"
}
}修改团队信息
Router :/v1/team [PUT]
| 参数名 | 参数类型 | 描述 | 是否必传 |
|---|---|---|---|
| team_id | uint64 | 团队 id | 是 |
| name | string | 团队名(长度限制 :1-100) | 是 |
| description | string | 描述 (长度限制 :0-200) | 否 |
curl --location \
--request PUT \
'{Prefix}/v1/team' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {AccessToken}' \
--data-raw '{
"team_id": 10325,
"name":"团队名2",
"description":"创建一个团队"
}'响应示例
{
"code": 200,
"msg": "",
"data": {
"id": 10325,
"name": "团队名2",
"creator_id": 18552003,
"description": "创建一个团队",
"avatar_key": "",
"created_at": "2022-08-11T06:47:16Z"
}
}获取团队
Router :/v1/team [GET]
| 参数名 | 参数类型 | 描述 | 是否必传 |
|---|---|---|---|
| team_id | uint64 | 团队 id | 是 |
curl --location \
--request GET 'https://dev.pixso.design/api/pix/v1/team?team_id=10325' \
--header 'Authorization: Bearer {AccessToken}'响应示例
{
"code": 200,
"msg": "",
"data": {
"id": 10325,
"name": "团队名2",
"creator_id": 18552003,
"description": "创建一个团队",
"avatar_key": "",
"created_at": "2022-08-11T06:47:16Z"
}
}获取企业内所有团队
Router :/v1/team/list [GET]
| 参数名 | 参数类型 | 描述 | 是否必传 |
|---|---|---|---|
| enterprise_id | uint64 | 指定子企业id | 否 |
| enterprise_unique_id | string | 指定子企业唯一键;都未指定时,默认当前企业 | 否 |
curl --location \
--request GET 'https://dev.pixso.design/api/pix/v1/team/list' \
--header 'Authorization: Bearer {AccessToken}'响应示例
{
"code": 200,
"msg": "",
"data": [
{
"team_info": {},
"creator": {}
}
]
}根据团队id获取团队
Router :/v1/team/list [POST]
| 参数名 | 参数类型 | 描述 | 是否必传 |
|---|---|---|---|
| id_list | uint64 列表 | 团队 id 列表 | 是 |
| enterprise_id | uint64 | 指定子企业id | 否 |
| enterprise_unique_id | string | 指定子企业唯一键;都未指定时,默认当前企业 | 否 |
curl --location \
--request POST 'https://dev.pixso.design/api/pix/v1/team/list' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {AccessToken}' \
--data-raw '{"id_list":[2]}'响应示例
{
"code": 200,
"msg": "",
"data": [
{
"team_info": {},
"creator": {}
}
]
}根据团队id获取团队统计信息
Router :/v1/team/statistics [GET]
| 参数名 | 参数类型 | 描述 | 是否必传 |
|---|---|---|---|
| team_id | uint64 | 团队 id | 是 |
curl --location \
--request GET 'https://dev.pixso.design/api/pix/v1/team/statistics?team_id=10325' \
--header 'Authorization: Bearer {AccessToken}'响应示例
{
"code": 200,
"msg": "",
"data": {
"team_id": 10245,
"folder_count": 2,
"file_count": 11
}
}根据团队id获取团队统计信息[批量]
Router :/v1/team/statistics/list [POST]
| 参数名 | 参数类型 | 描述 | 是否必传 |
|---|---|---|---|
| team_id_list | uint64 列表 | 团队 id | 是 |
curl --location \
--request POST 'https://dev.pixso.design/api/pix/v1/team/statistics/list' \
--header 'Authorization: Bearer {AccessToken}' \
--data '{"team_id_list":[10245]}'响应示例
{
"code": 200,
"msg": "",
"data": [
{
"team_id": 10245,
"folder_count": 2,
"file_count": 11
}
]
}删除团队
Router :/v1/team [DELETE]
| 参数名 | 参数类型 | 描述 | 是否必传 |
|---|---|---|---|
| team_id | uint64 | 团队 id | 是 |
curl --location \
--request DELETE \
'{Prefix}/v1/team?team_id=10325' \
--header 'Authorization: Bearer {AccessToken}'响应示例
{
"code": 200,
"msg": ""
}获取员工对应权限的团队
Router :/v1/team/user/team-list [GET]
| 参数名 | 参数类型 | 描述 | 是否必传 |
|---|---|---|---|
| staff_id | uint64 | 员工 id | 是 |
| level | int | 权限值(有效值:22,44,66,88;缺省值为 22) | 是 |
curl --location \
--request GET \
'{Prefix}/v1/team/user/team-list?staff_id=24367171&level=22' \
--header 'Authorization: Bearer {AccessToken}'响应示例
{
"code": 200,
"msg": "",
"data": [
{
"id": 80773,
"name": "",
"space_id": 12,
"creator_id": 24367171,
"description": "",
"avatar_key": "",
"avatar_status": "pass",
"created_at": "2022-08-30T04:02:39Z"
}
]
}添加团队成员
Router :/v1/team/member [POST]
| 参数名 | 参数类型 | 描述 | 是否必传 |
|---|---|---|---|
| team_id | uint64 | 团队 id | 是 |
| level | int | 权限值(有效值:22,44,66) | 是 |
| user_id | uint64 | 用户 id | 否 |
| unique_id | string | 用户 unique_id,需要有一个用户,建议用用户id | 否 |
| enterprise_id | uint64 | 指定子企业id | 否 |
| enterprise_unique_id | string | 指定子企业唯一键;都未指定时,默认当前企业 | 否 |
curl --location \
--request POST \
'{Prefix}/v1/team/member' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {AccessToken}' \
--data-raw '{
"user_id": 22798989,
"team_id":10325,
"level":22
}'响应示例
{
"code": 200,
"msg": "",
"data": [
{
"email": "",
"is_invited": true,
"level": 22,
"resource_type": "team",
"resource_id_or_key": "10325",
"created_at": "2022-08-11T09:35:20Z",
"updated_at": "2022-08-11T09:35:20Z",
"user": {
"user_id": 22798989,
"nick_name": "ED37QpgC",
"avatar_url": "",
"email": ""
}
}
]
}批量添加团队成员
Router :/v1/team/member/batch [POST]
| 参数名 | 参数类型 | 描述 | 是否必传 |
|---|---|---|---|
| members | array | 团队成员信息 见新增团队成员信息说明; | 是 |
| enterprise_id | uint64 | 企业id | 否 |
| enterprise_unique_id | string | 第三方企业 unique_id | 否 |
curl --location \
--request POST \
'{Prefix}/v1/team/member/batch' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {AccessToken}' \
--data-raw '{
"members": [
{
"user_id": 22798989,
"team_id": 10325,
"unique_id": "aaa@qq.com",
"level": 22
},
{
"user_id": 22798990,
"team_id": 10325,
"unique_id": "bbb@qq.com",
"level": 22
}
]
}'响应示例
{
"code": 200,
"msg": "",
"data": [
{
"email": "",
"is_invited": true,
"level": 22,
"resource_type": "team",
"resource_id_or_key": "10325",
"created_at": "2022-08-11T09:35:20Z",
"updated_at": "2022-08-11T09:35:20Z",
"user": {
"user_id": 22798989,
"nick_name": "ED37QpgC",
"avatar_url": "",
"email": ""
}
},
{
"email": "",
"is_invited": true,
"level": 22,
"resource_type": "team",
"resource_id_or_key": "10325",
"created_at": "2022-08-11T09:35:20Z",
"updated_at": "2022-08-11T09:35:20Z",
"user": {
"user_id": 22798990,
"nick_name": "sssss",
"avatar_url": "",
"email": ""
}
}
]
}查看团队成员列表
Router :/v1/team/member [GET]
| 参数名 | 参数类型 | 描述 | 是否必传 |
|---|---|---|---|
| team_id | uint64 | 团队 id | 是 |
curl --location \
--request GET \
'{Prefix}/v1/team/member?team_id=10325' \
--header 'Authorization: Bearer {AccessToken}'响应示例
{
"code": 200,
"msg": "",
"data": [
{
"email": "",
"is_invited": true,
"level": 22,
"resource_type": "team",
"resource_id_or_key": "10325",
"created_at": "2022-08-11T09:35:20Z",
"updated_at": "2022-08-11T09:35:20Z",
"user": {
"user_id": 22798989,
"nick_name": "ED37QpgC",
"avatar_url": "",
"email": ""
}
}
]
}修改团队成员权限
Router :/v1/team/member [PUT]
| 参数名 | 参数类型 | 描述 | 是否必传 |
|---|---|---|---|
| user_id | uint64 | 用户 id | 否 |
| unique_id | string | 用户 unique_id,需要有一个用户,建议用用户id | 否 |
| team_id | uint64 | 团队 id | 是 |
| level | int | 权限值(有效值:22,44,66) | 是 |
curl --location \
--request PUT \
'{Prefix}/v1/team/member' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {AccessToken}' \
--data-raw '{
"user_id": 22798989,
"team_id":10325,
"level":44
}'响应示例
{
"code": 200,
"msg": "",
"data": [
{
"email": "",
"is_invited": true,
"level": 44,
"resource_type": "team",
"resource_id_or_key": "10325",
"created_at": "2022-08-11T09:35:20Z",
"updated_at": "2022-08-11T09:35:20Z",
"user": {
"user_id": 22798989,
"nick_name": "ED37QpgC",
"avatar_url": "",
"email": ""
}
}
]
}删除团队成员
Router :/v1/team/member [DELETE]
| 参数名 | 参数类型 | 描述 | 是否必传 |
|---|---|---|---|
| user_id | uint64 | 用户 id | 否 |
| unique_id | string | 用户 unique_id,需要有一个用户,建议用用户id | 否 |
| team_id | uint64 | 团队 id | 是 |
curl --location \
--request DELETE \
'{Prefix}/v1/team/member?user_id=22798989&team_id=10325' \
--header 'Authorization: Bearer {AccessToken}'响应示例
{
"code": 200,
"msg": "",
"data": {}
}修改团队所有者
Router :/v1/team/owner/modify [PUT]
| 参数名 | 参数类型 | 描述 | 是否必传 |
|---|---|---|---|
| team_id | uint64 | 团队 id | 是 |
| owner | uint64 | 新的所有者 id | 否 |
| owner_unique_id | string | 新的所有者 unique_id, 需要有一个用户,建议用用户id | 否 |
| enterprise_id | uint64 | 企业id;用用户unique_id时,需要指定企业,不指定默认当前企业 | 否 |
| enterprise_unique_id | string | 第三方企业 unique_id ;可以替代企业id | 否 |
curl --location \
--request PUT \
'{Prefix}/v1/team/owner/modify' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {AccessToken}' \
--data-raw '{
"team_id": 10325,
"owner":22798989
}'响应示例
{
"code": 200,
"msg": "",
"data": {
"email": "",
"is_invited": true,
"level": 88,
"resource_type": "team",
"resource_id_or_key": "10325",
"created_at": "0001-01-01T00:00:00Z",
"updated_at": "0001-01-01T00:00:00Z",
"user": {
"user_id": 22798989,
"nick_name": "ED37QpgC",
"avatar_url": "",
"email": ""
}
}
}批量获取团队头像对象列表
Router :/v1/team/avatars [POST]
| 参数名 | 参数类型 | 描述 | 是否必传 |
|---|---|---|---|
| avatar_key_list | string 列表 | 头像唯一标识列表 | 是 |
curl --location \
--request POST \
'{Prefix}/v1/team/avatars' \
--header 'Authorization: Bearer {AccessToken}'
--data-raw '{
"avatar_key_list": ["TCXRxQJFiy2c2GxxxxYUeA"]
}'响应示例
{
"code": 200,
"msg": "",
"data": [
{
"avatar_key": "TCXRxQJFiy2c2GNcawYUeA",
"url": "http://dev.pixso.design/api/pix/storage_s3/private/team-avatar+TCXRxQJFiy2c2GNcawYUeA?expire=1668752008&sign=Y6iZKO-39oeMNQBJQMg1D7_69QFelQNRQMtieUkyYwg"
}
]
}团队资产交接
Router :/v1/team/transfer [POST]
| 参数名 | 参数类型 | 描述 | 是否必传 |
|---|---|---|---|
| staff_id | integer | 资产所属用户 id | 是 |
| staff_unique_id | string | 资产所属用户 unique_id | 是 |
| user_team_list | array | 团队资产指派映射信息,见团队用户信息说明;获取企业内所有团队参考获取企业内所有团队 | 否 |
| handover | integer | 资产交接保底用户,当有团队未指派用户交接,则默认交接给此用户 | 是 |
| handover_unique_id | string | 资产交接保底用户 unique_id | 是 |
注:
- staff_id 和 staff_unique_id 二选一作为入参
- handover 和 handover_unique_id 二选一作为入参
curl --location \
--request POST \
'{Prefix}/v1/team/transfer' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {AccessToken}' \
--data-raw '{
"staff_id": 18552001,
"staff_unique_id": "aaa@qq.com",
"user_team_list":[
{"user_id": 18552003, "team_id": 1855, "unique_id": "ccc@qq.com"},
{"user_id": 18552004, "team_id": 1856, "unique_id": "ddd@qq.com"}
],
"handover": 18552005,
"handover_unique_id": "bbb@qq.com"
}'响应示例
{
"code": 200,
"msg": ""
}归档恢复
Router :/v1/team/archive [POST]
| 参数名 | 参数类型 | 描述 | 是否必传 |
|---|---|---|---|
| id | integer | 待恢复的归档id | 是 |
| receiver | integer | 接收者user_id,当归档类型为'team'时此项必传 | 否 |
| team_id | integer | 接收团队的id,当归档类型为'folder'时此项必传 | 否 |
| folder_id | integer | 接收项目的id,当归档类型为'directory' 或 'person_directory'时此项必传; 当归档类型为'file'或'person_file'时,若传folder_id不传directory_id,此时会将归档恢复到指定项目下 | 否 |
| directory_id | integer | 接收文件夹id,选填且仅针对归档类型为'file'或'person_file'生效,传该参数后会将归档恢复到对应文件夹中去 | 否 |
curl --location \
--request POST \
'{Prefix}/v1/team/archive' \
--header 'Authorization: Bearer {AccessToken}' \
--header 'Content-Type: application/json' \
--data-raw '{
"folder_id": 174930,
"id": 38422
}'响应示例
{
"code": 200,
"msg": ""
}批量删除团队成员
Router :/v1/team/member/del/batch [POST]
| 参数名 | 参数类型 | 描述 | 是否必传 |
|---|---|---|---|
| members | array | 团队成员信息 见删除团队成员信息说明; | 是 |
| enterprise_id | uint64 | 企业id | 否 |
| enterprise_unique_id | string | 第三方企业 unique_id | 否 |
curl --location \
--request POST \
'{Prefix}/v1/team/member/del/batch' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {AccessToken}' \
--data-raw '{
"members": [
{
"unique_id": "aaaaa",
"team_id": 1017
},
{
"unique_id": "bbbbb",
"team_id": 1017
}
]
}'响应示例
{
"code": 200,
"msg": ""
}项目
创建项目
Router :/v1/folder [POST]
| 参数名 | 参数类型 | 描述 | 是否必传 |
|---|---|---|---|
| user_id | uint64 | 用户 id | 是 |
| team_id | uint64 | 团队 id | 是 |
| level | int | 团队成员在项目中拥有的权限(有效值:0,22,44) | 是 |
| name | string | 团队名(长度限制 :1-100) | 是 |
| description | string | 描述 (长度限制 :0-200) | 否 |
curl --location \
--request POST \
'{Prefix}/v1/folder' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {AccessToken}' \
--data-raw '{
"user_id": 18552003,
"team_id": 10245,
"level":44,
"name":"项目名一",
"description":"创建一个项目"
}'响应示例
{
"code": 200,
"msg": "",
"data": {
"id": 100398,
"name": "项目名一",
"description": "创建一个项目",
"creator_id": 18552003,
"team_id": 10245,
"level": 44,
"created_at": "2022-08-15T09:23:31.5161731Z",
"updated_at": "2022-08-15T09:23:31.5161731Z"
}
}修改项目信息
Router :/v1/folder [PUT]
| 参数名 | 参数类型 | 描述 | 是否必传 |
|---|---|---|---|
| folder_id | uint64 | 项目 id | 是 |
| name | string | 团队名(长度限制 :1-100) | 是 |
| description | string | 描述 (长度限制 :0-200) | 否 |
curl --location \
--request PUT \
'{Prefix}/v1/folder' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {AccessToken}' \
--data-raw '{
"folder_id": 100398,
"name":"项目名二",
"description":"修改一个项目"
}'响应示例
{
"code": 200,
"msg": "",
"data": {
"id": 100398,
"name": "项目名二",
"description": "修改一个项目",
"creator_id": 18552003,
"team_id": 10245,
"level": 44,
"created_at": "2022-08-15T09:23:31Z",
"updated_at": "2022-08-15T09:23:31Z"
}
}获取项目
Router :/v1/folder [GET]
| 参数名 | 参数类型 | 描述 | 是否必传 |
|---|---|---|---|
| folder_id | uint64 | 项目 id | 是 |
curl --location \
--request GET \
'{Prefix}/v1/folder?folder_id=100398' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {AccessToken}' \
--data-raw '{
"team_id": 10325,
"owner":22798989
}'响应示例
{
"code": 200,
"msg": "",
"data": {
"id": 100398,
"name": "项目名二",
"description": "修改一个项目",
"creator_id": 18552003,
"team_id": 10245,
"level": 44,
"created_at": "2022-08-15T09:23:31Z",
"updated_at": "2022-08-15T09:23:31Z"
}
}团队内的项目列表
Router :/v1/team/folder/list [GET]
| 参数名 | 参数类型 | 描述 | 是否必传 |
|---|---|---|---|
| team_id | uint64 | 团队 id | 是 |
curl --location \
--request GET \
'{Prefix}/v1/team/folder/list?team_id=10245' \
--header 'Authorization: Bearer {AccessToken}'响应示例
{
"code": 200,
"msg": "",
"data": [
{
"id": 100397,
"name": "项目名",
"description": "创建一个项目",
"creator_id": 18552003,
"team_id": 10245,
"level": 0,
"created_at": "2022-08-15T09:22:50Z",
"updated_at": "2022-08-15T09:22:50Z"
},
{
"id": 100398,
"name": "项目名二",
"description": "修改一个项目",
"creator_id": 18552003,
"team_id": 10245,
"level": 44,
"created_at": "2022-08-15T09:23:31Z",
"updated_at": "2022-08-15T09:23:31Z"
}
]
}批量获取团队下项目(含权限)
Router :/v1/team/folder/multi-list [POST]
| 参数名 | 参数类型 | 描述 | 是否必传 |
|---|---|---|---|
| team_id_list | uint64 列表 | 团队 id 列表 | 是 |
| level_list | int 列表 | 权限值列表 | 是 |
curl --location \
--request POST \
'{Prefix}/v1/team/folder/multi-list' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {AccessToken}' \
--data-raw '{
"team_id_list":[8077,145533],
"level_list":[22]
}'响应示例
{
"code": 200,
"msg": "",
"data": [
{
"id": 80773,
"name": "",
"space_id": 12,
"creator_id": 24367171,
"description": "",
"avatar_key": "",
"avatar_status": "pass",
"created_at": "2022-08-30T04:02:39Z"
}
]
}删除项目
Router :/v1/folder [DELETE]
| 参数名 | 参数类型 | 描述 | 是否必传 |
|---|---|---|---|
| folder_id | uint64 | 项目 id | 是 |
curl --location \
--request DELETE \
'{Prefix}/v1/folder?folder_id=100397' \
--header 'Authorization: Bearer {AccessToken}'响应示例
{
"code": 200,
"msg": ""
}修改项目类型
Router :/v1/folder/level [PUT]
| 参数名 | 参数类型 | 描述 | 是否必传 |
|---|---|---|---|
| folder_id | uint64 | 项目 id | 是 |
| level | int | 团队成员在项目中拥有的权限(有效值:0,22,44) | 是 |
curl --location \
--request PUT \
'{Prefix}//v1/folder/level' \
--header 'Authorization: Bearer {AccessToken}' \
--data-raw '{
"folder_id":100397,
"level":44
}'响应示例
{
"code": 200,
"msg": "",
"data": {
"id": 100398,
"name": "项目名二",
"description": "修改一个项目",
"creator_id": 18552003,
"team_id": 10245,
"level": 44,
"created_at": "2022-08-15T09:23:31Z",
"updated_at": "2022-08-15T09:23:31Z"
}
}添加项目成员
Router :/v1/folder/member [POST]
| 参数名 | 参数类型 | 描述 | 是否必传 |
|---|---|---|---|
| user_id | uint64 | 用户 id | 是 |
| folder_id | uint64 | 项目 id | 是 |
| level | int | 权限值(有效值:22,44,66) | 是 |
curl --location \
--request POST \
'{Prefix}/v1/folder/member' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {AccessToken}' \
--data-raw '{
"user_id": 22798989,
"folder_id":100397,
"level":22
}'响应示例
{
"code": 200,
"msg": "",
"data": [
{
"email": "",
"is_invited": true,
"level": 22,
"resource_type": "folder",
"resource_id_or_key": "100397",
"created_at": "2022-08-15T09:52:09Z",
"updated_at": "2022-08-15T09:52:09Z",
"user": {
"user_id": 22798989,
"nick_name": "ED37QpgC",
"avatar_url": "",
"email": ""
}
}
]
}批量添加用户到项目列表
Router :/v1/folder/multi-member [POST]
| 参数名 | 参数类型 | 描述 | 是否必传 |
|---|---|---|---|
| folder_id_list | uint64 列表 | 项目 id 列表 | 是 |
| user_id_list | int 列表 | 用户 id 列表 | 是 |
| level | int | 权限值(有效值:22,44,66) | 是 |
注:已存在在项目中的成员将会忽略,不更新权限,也不报错
curl --location \
--request POST \
'{Prefix}/v1/folder/multi-member' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {AccessToken}' \
--data-raw '{
"user_id_list": [24367171,24367172,24367204],
"folder_id_list":[173020,173019],
"level":22
}'响应示例
{
"code": 200,
"msg": "",
"data": [
{
"email": "zenghx@300625.cn",
"is_invited": true,
"level": 22,
"resource_type": "folder",
"resource_id_or_key": "173019",
"created_at": "0001-01-01T00:00:00Z",
"updated_at": "0001-01-01T00:00:00Z",
"user": {
"user_id": 24367172,
"nick_name": "zhx",
"avatar_url": "",
"email": "zenghx@300625.cn"
}
},
{
"email": "",
"is_invited": true,
"level": 22,
"resource_type": "folder",
"resource_id_or_key": "173019",
"created_at": "0001-01-01T00:00:00Z",
"updated_at": "0001-01-01T00:00:00Z",
"user": {
"user_id": 24367204,
"nick_name": "戴XX刚",
"avatar_url": "",
"email": ""
}
}
]
}查看项目成员列表
Router :/v1/folder/member [GET]
| 参数名 | 参数类型 | 描述 | 是否必传 |
|---|---|---|---|
| folder_id | uint64 | 项目 id | 是 |
curl --location \
--request POST \
'{Prefix}/v1/folder/member?folder_id=100397' \
--header 'Authorization: Bearer {AccessToken}'响应示例
{
"code": 200,
"msg": "",
"data": [
{
"email": "",
"is_invited": true,
"level": 22,
"resource_type": "folder",
"resource_id_or_key": "100397",
"created_at": "2022-08-15T09:52:09Z",
"updated_at": "2022-08-15T09:52:09Z",
"user": {
"user_id": 22798989,
"nick_name": "ED37QpgC",
"avatar_url": "",
"email": ""
}
}
]
}修改项目成员权限
Router :/v1/folder/member [PUT]
| 参数名 | 参数类型 | 描述 | 是否必传 |
|---|---|---|---|
| user_id | int64 | 用户 id | 是 |
| folder_id | uint64 | 项目 id | 是 |
| level | int | 权限值(有效值:22,44,66) | 是 |
curl --location \
--request PUT \
'{Prefix}/v1/folder/member' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {AccessToken}' \
--data-raw '{
"user_id": 22798989,
"folder_id":100397,
"level":44
}'响应示例
{
"code": 200,
"msg": "",
"data": [
{
"email": "",
"is_invited": true,
"level": 44,
"resource_type": "folder",
"resource_id_or_key": "100397",
"created_at": "2022-08-15T09:52:09Z",
"updated_at": "2022-08-15T09:52:09Z",
"user": {
"user_id": 22798989,
"nick_name": "ED37QpgC",
"avatar_url": "",
"email": ""
}
}
]
}删除项目成员
Router :/v1/folder/member [DELETE]
| 参数名 | 参数类型 | 描述 | 是否必传 |
|---|---|---|---|
| user_id | int64 | 用户 id | 是 |
| folder_id | uint64 | 项目 id | 是 |
curl --location \
--request DELETE \
'{Prefix}/v1/folder/member?folder_id=100397&user_id=22798989' \
--header 'Authorization: Bearer {AccessToken}'响应示例
{
"code": 200,
"msg": "",
"data": {}
}批量删除项目列表中的用户
Router :/v1/folder/multi-member [DELETE]
| 参数名 | 参数类型 | 描述 | 是否必传 |
|---|---|---|---|
| folder_id_list | uint64 列表 | 项目 id 列表 | 是 |
| user_id_list | int 列表 | 用户 id 列表 | 是 |
curl --location \
--request DELETE \
'{Prefix}/v1/folder/multi-member' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {AccessToken}' \
--data-raw '{
"user_id_list": [24367171,24367172,24367204],
"folder_id_list":[173020,173019]
}'响应示例
{
"code": 200,
"msg": ""
}修改项目所有者
Router :/v1/folder/owner/modify [PUT]
| 参数名 | 参数类型 | 描述 | 是否必传 |
|---|---|---|---|
| owner | uint64 | 新的所有者 | 是 |
| folder_id | uint64 | 项目 id | 是 |
curl --location \
--request PUT \
'{Prefix}/v1/folder/owner/modify' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {AccessToken}' \
--data-raw '{
"folder_id": 100397,
"owner":22798989
}'响应示例
{
"code": 200,
"msg": "",
"data": {
"email": "",
"is_invited": true,
"level": 88,
"resource_type": "folder",
"resource_id_or_key": "100397",
"created_at": "0001-01-01T00:00:00Z",
"updated_at": "0001-01-01T00:00:00Z",
"user": {
"user_id": 22798989,
"nick_name": "ED37QpgC",
"avatar_url": "",
"email": ""
}
}
}批量获取项目信息列表
Router :/v1/folder/info/list [POST]
| 参数名 | 参数类型 | 描述 | 是否必传 |
|---|---|---|---|
| folder_id_list | uint64 列表 | 项目唯一标识列表 | 是 |
curl --location \
--request POST \
'{Prefix}/v1/folder/info/list' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {AccessToken}' \
--data-raw '{
"folder_id_list": [1]
}'响应示例
{
"code": 200,
"msg": "",
"data": [
{
"id": 1,
"name": "测试",
"description": "",
"creator_id": 24367299,
"team_id": 1,
"level": 22,
"created_at": "2022-07-16T09:09:07Z",
"updated_at": "2022-07-16T09:09:07Z"
}
]
}获取用户指定团队的最终项目权限
Router :/v1/folder/user/level-list [POST]
| 参数名 | 参数类型 | 描述 | 是否必传 |
|---|---|---|---|
| user_id | uint64 | 用户ID | 是 |
| team_id_list | uint64 列表 | 团队ID列表。不传或为空数组时,返回该用户所有的项目最终权限;不为空时,仅返回该用户的指定团队下所有项目的最终权限 | 否 |
| level | uint | 希望获取的最终权限值(有效值:0,22,44,66,88)。level不为空时,接口返回的结果将根据该值过滤,仅返回最终权限大于或等于level的结果;为空时返回所有结果 | 否 |
注:结果中有两个level属性,外层level表示用户在该项目中的最终权限;内层level表示项目的权限属性
curl --location \
--request POST \
'{Prefix}/v1/folder/user/level-list' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {AccessToken}' \
--data-raw '{
"user_id": 24367370,
"team_id_list": [11251],
"level": 44
}'响应示例
{
"code": 200,
"msg": "",
"data": [
{
"user_id": 24367370,
"folder_info": {
"id": 100578,
"name": "测试项目",
"description": "",
"creator_id": 24367370,
"team_id": 11251,
"level": 22,
"created_at": "2022-08-22T05:49:45Z",
"updated_at": "2022-08-22T05:49:45Z"
},
"level": 88
}
]
}文件
创建文件
Router :/v1/file [POST]
| 参数名 | 参数类型 | 描述 | 是否必传 |
|---|---|---|---|
| user_id | uint64 | 用户 id | 否 |
| unique_id | string | 用户 unique_id,需要有一个用户,建议用用户id | 否 |
| team_id | uint64 | 团队 id (团队和项目至少要有一个) | 否 |
| folder_id | uint64 | 项目 id (如果项目id 不传,则归属给团队第一个项目;团队下没有项目时会新建一个) | 否 |
| name | string | 文件名 (长度限制 :1-100) | 是 |
| directory_id | uint64 | 文件夹id | 否 |
| description | string | 描述 (长度限制 :0-200) | 否 |
| type | int | 文件类型(默认为设计文件;10:设计文件,11:原型文件,20:白板文件,31:AxureHtml文件) | 否 |
| enterprise_id | uint64 | 企业id | 否 |
| enterprise_unique_id | string | 第三方企业 unique_id | 否 |
| file_key | string | 文件key 特殊情况,可以指定文件的key创建,慎用 | 否 |
| edit_seat_limit | bool | 是否校验席位限制 | 否 |
| extend | map[string]any | 扩展字段 | 否 |
注:unique_id和user_id至少传一个
curl --location \
--request POST \
'{Prefix}/v1/file' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {AccessToken}' \
--data-raw '{
"user_id": 18552003,
"folder_id": 100397,
"name":"文件名一",
"description":"创建一个文件",
"type": 10,
}'响应示例
{
"code": 200,
"msg": "",
"data": {
"file_key": "9-oX-D4bpylghlJPyB03wg",
"folder_id": 100397,
"team_id": 10245,
"space_id": 1,
"creator_id": 18552003,
"name": "文件名一",
"description": "创建一个文件",
"object_point": "OthQW5VVY2vi-_6CWBAsZA==",
"avatar_key": "",
"thumb_guid": "",
"meta": "",
"level": 0,
"from": 304,
"type": 10,
"modify_at": "2022-08-15T12:56:20.9994117Z",
"created_at": "2022-08-15T12:56:20.9994117Z",
"updated_at": "2022-08-15T12:56:20.9994117Z",
"trashed_at": null,
"user_id": 0,
"u_date": 1660568180
}
}创建文件V2
Router :/v2/file [POST]
| 参数名 | 参数类型 | 描述 | 是否必传 |
|---|---|---|---|
| user_id | uint64 | 用户 id | 否 |
| unique_id | string | 用户 unique_id,需要有一个用户,建议用用户id | 否 |
| team_id | uint64 | 团队 id (团队和项目至少要有一个) | 否 |
| folder_id | uint64 | 项目 id (如果项目id 不传,则归属给团队第一个项目;团队下没有项目时会新建一个) | 否 |
| name | string | 文件名 (长度限制 :1-100) | 是 |
| directory_id | uint64 | 文件夹id | 否 |
| description | string | 描述 (长度限制 :0-200) | 否 |
| type | int | 文件类型(默认为设计文件;10:设计文件,11:原型文件,20:白板文件,31:AxureHtml文件) | 否 |
| enterprise_id | uint64 | 企业id | 否 |
| enterprise_unique_id | string | 第三方企业 unique_id | 否 |
| file_key | string | 文件key 特殊情况,可以指定文件的key创建,慎用 | 否 |
| edit_seat_limit | bool | 是否校验席位限制 | 否 |
| extend | map[string]any | 扩展字段 | 否 |
注:unique_id和user_id至少传一个
curl --location \
--request POST \
'{Prefix}/v2/file' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {AccessToken}' \
--data-raw '{
"user_id": 18552003,
"folder_id": 100397,
"name":"文件名一",
"description":"创建一个文件",
"type": 10,
}'响应示例
{
"code": 200,
"msg": "",
"data": {
"file_key": "9-oX-D4bpylghlJPyB03wg",
"folder_id": 100397,
"team_id": 10245,
"space_id": 1,
"creator_id": 18552003,
"name": "文件名一",
"description": "创建一个文件",
"object_point": "OthQW5VVY2vi-_6CWBAsZA==",
"avatar_key": "",
"thumb_guid": "",
"meta": "",
"level": 0,
"from": 304,
"type": 10,
"modify_at": "2022-08-15T12:56:20.9994117Z",
"created_at": "2022-08-15T12:56:20.9994117Z",
"updated_at": "2022-08-15T12:56:20.9994117Z",
"trashed_at": null,
"user_id": 0,
"u_date": 1660568180
}
}修改文件信息
Router :/v1/file [PUT]
| 参数名 | 参数类型 | 描述 | 是否必传 |
|---|---|---|---|
| file_key | string | 文件 key | 是 |
| name | string | 文件名(长度限制 :1-100) | 是 |
| description | string | 描述 (长度限制 :0-200) | 否 |
curl --location \
--request PUT \
'{Prefix}/v1/file' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {AccessToken}' \
--data-raw '{
"file_key": "9-oX-D4bpylghlJPyB03wg",
"name":"文件名二",
"description":"修改一个文件"
}'响应示例
{
"code": 200,
"msg": "",
"data": {
"file_key": "9-oX-D4bpylghlJPyB03wg",
"folder_id": 100397,
"team_id": 10245,
"space_id": 1,
"creator_id": 18552003,
"name": "文件名二",
"description": "修改一个文件",
"object_point": "OthQW5VVY2vi-_6CWBAsZA==",
"avatar_key": "",
"thumb_guid": "",
"meta": "",
"level": 0,
"from": 304,
"modify_at": "2022-08-15T12:56:21Z",
"created_at": "2022-08-15T12:56:21Z",
"updated_at": "2022-08-15T12:56:21Z",
"trashed_at": null
}
}导入新的静态文件(如:axure文件)
Router :/v1/file/import/static [POST]
| 参数名 | 参数类型 | 描述 | 是否必传 |
|---|---|---|---|
| creator_id | uint64 | 文件创作者 id | 是 |
| folder_id | uint64 | 项目 id | 是 |
| name | string | 文件名 (长度限制 :1-100) | 是 |
| description | string | 描述 (长度限制 :0-200) | 否 |
| file | file | 静态文件压缩包 | 是 |
curl --location \
--request POST \
'{Prefix}/v1/file/import/static' \
--header 'Authorization: Bearer {AccessToken}' \
--form 'file=@"/C:/Users/ws/Downloads/axure_demo.zip"' \
--form 'name="test_name"' \
--form 'folder_id="100196"' \
--form 'creator_id="18552003"''响应示例
{
"code": 200,
"msg": "",
"data": {
"file_key": "9-oX-D4bpylghlJPyB03wg",
"folder_id": 100397,
"team_id": 10245,
"space_id": 1,
"creator_id": 18552003,
"name": "test_name",
"description": "",
"object_point": "",
"avatar_key": "",
"thumb_guid": "",
"meta": "",
"level": 0,
"from": 304,
"modify_at": "2022-08-15T12:56:20.9994117Z",
"created_at": "2022-08-15T12:56:20.9994117Z",
"updated_at": "2022-08-15T12:56:20.9994117Z",
"trashed_at": null,
"user_id": 0,
"u_date": 1660568180
}
}导入覆盖已有静态文件(如:axure文件)
Router :/v1/file/import/static [PUT]
| 参数名 | 参数类型 | 描述 | 是否必传 |
|---|---|---|---|
| file_key | string | 文件 key | 是 |
| creator_id | uint64 | 文件创作者 id | 是 |
| name | string | 文件名 (长度限制 :1-100) | 是 |
| description | string | 描述 (长度限制 :0-200) | 否 |
| file | file | 静态文件压缩包 | 是 |
curl --location \
--request PUT \
'{Prefix}/v1/file/import/static' \
--header 'Authorization: Bearer {AccessToken}' \
--form 'file=@"/C:/Users/ws/Downloads/axure_demo.zip"' \
--form 'file_key=9-oX-D4bpylghlJPyB03wg' \
--form 'name="test_name"' \
--form 'creator_id="18552003"''响应示例
{
"code": 200,
"msg": "",
"data": {
"file_key": "9-oX-D4bpylghlJPyB03wg",
"folder_id": 100397,
"team_id": 10245,
"space_id": 1,
"creator_id": 18552003,
"name": "test_name",
"description": "",
"object_point": "",
"avatar_key": "",
"thumb_guid": "",
"meta": "",
"level": 0,
"from": 304,
"modify_at": "2022-08-15T12:56:20.9994117Z",
"created_at": "2022-08-15T12:56:20.9994117Z",
"updated_at": "2022-08-15T12:56:20.9994117Z",
"trashed_at": null,
"user_id": 0,
"u_date": 1660568180
}
}导入设计文件
Router :/v1/file/upload/design [POST]
| 参数名 | 参数类型 | 描述 | 是否必传 |
|---|---|---|---|
| folder_id | uint64 | 项目id;没有传参时,放到团队的第一个项目 | 否 |
| team_id | uint64 | 团队id;没有传参时 | 否 |
| creator_id | uint64 | 文件创作者 id | 是 |
| name | string | 文件名 (长度限制 :1-100) 没有传参时用.pix文件名代替 | 否 |
| description | string | 描述 (长度限制 :0-200) | 否 |
| file | file | pixso 设计文件压缩包 【可带图片】 | 是 |
| edit_seat_limit | bool | 是否校验席位限制 | 否 |
curl --location \
--request POST \
'{Prefix}/v1/file/upload/design' \
--header 'Authorization: Bearer {AccessToken}' \
--form 'file=@"/C:/Users/ws/Downloads/pix_demo.zip"' \
--form 'folder_id="100251"' \
--form 'name="test_name"' \
--form 'creator_id="18552003"''响应示例
{
"code": 200,
"msg": "",
"data": {
"file_key": "9-oX-D4bpylghlJPyB03wg",
"folder_id": 100397,
"team_id": 10245,
"space_id": 1,
"creator_id": 18552003,
"name": "test_name",
"description": "",
"object_point": "",
"avatar_key": "",
"thumb_guid": "",
"meta": "",
"level": 0,
"from": 304,
"modify_at": "2022-08-15T12:56:20.9994117Z",
"created_at": "2022-08-15T12:56:20.9994117Z",
"updated_at": "2022-08-15T12:56:20.9994117Z",
"trashed_at": null,
"user_id": 0,
"u_date": 1660568180
}
}导入设计文件【纯kiwi】
Router :/v1/file/upload/kiwi [POST]
| 参数名 | 参数类型 | 描述 | 是否必传 |
|---|---|---|---|
| folder_id | uint64 | 项目id;没有传参时,放到团队的第一个项目 | 否 |
| team_id | uint64 | 团队id;没有传参时 | 否 |
| creator_id | uint64 | 文件创作者 id | 是 |
| name | string | 文件名 (长度限制 :1-100) 没有传参时用.pix文件名代替 | 否 |
| description | string | 描述 (长度限制 :0-200) | 否 |
| file | file | pixso 设计文件 | 是 |
| edit_seat_limit | bool | 是否校验席位限制 | 否 |
curl --location \
--request POST \
'{Prefix}//v1/file/upload/kiwi' \
--header 'Authorization: Bearer {AccessToken}' \
--form 'name="111"' \
--form 'folder_id="2"' \
--form 'creator_id="18552003"' \
--form 'file=@"/C:/Users/ws/Downloads/8FyqUpHhsA46GdFVYoF2aw==.pix"'导出静态文件
Router :/v1/file/download/static [POST]
| 参数名 | 参数类型 | 描述 | 是否必传 |
|---|---|---|---|
| file_key | string | 文件 key | 是 |
curl --location \
--request POST \
'{Prefix}/v1/file/download/static' \
--header 'Authorization: Bearer {AccessToken}' \
--data '{
"file_key":"alZvADQgtVDfjdQviH6Vxg"
}'获取文件信息
Router :/v1/file [GET]
| 参数名 | 参数类型 | 描述 | 是否必传 |
|---|---|---|---|
| file_key | string | 文件 key | 是 |
curl --location \
--request GET \
'{Prefix}/v1/file?file_key=9-oX-D4bpylghlJPyB03wg' \
--header 'Authorization: Bearer {AccessToken}'响应示例
{
"code": 200,
"msg": "",
"data": {
"file_key": "9-oX-D4bpylghlJPyB03wg",
"folder_id": 100397,
"team_id": 10245,
"space_id": 1,
"creator_id": 18552003,
"name": "文件名二",
"description": "修改一个文件",
"object_point": "OthQW5VVY2vi-_6CWBAsZA==",
"avatar_key": "",
"thumb_guid": "",
"meta": "",
"level": 0,
"from": 304,
"modify_at": "2022-08-15T12:56:21Z",
"created_at": "2022-08-15T12:56:21Z",
"updated_at": "2022-08-15T12:56:21Z",
"trashed_at": null
}
}获取文件列表
Router :/v1/file/list [POST]
| 参数名 | 参数类型 | 描述 | 是否必传 |
|---|---|---|---|
| file_key_list | [] string | 文件 key 列表 | 是 |
curl --location \
--request POST \
'{Prefix}/v1/file/list' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {AccessToken}' \
--data-raw '{
"file_key_list":["9-oX-D4bpylghlJPyB03wg"]
}'响应示例
{
"code": 200,
"msg": "",
"data": [
{
"file_key": "9-oX-D4bpylghlJPyB03wg",
"folder_id": 100397,
"team_id": 10245,
"space_id": 1,
"creator_id": 18552003,
"name": "文件名二",
"description": "修改一个文件",
"object_point": "OthQW5VVY2vi-_6CWBAsZA==",
"avatar_key": "",
"thumb_guid": "",
"meta": "",
"level": 0,
"from": 304,
"modify_at": "2022-08-15T12:56:21Z",
"created_at": "2022-08-15T12:56:21Z",
"updated_at": "2022-08-15T12:56:21Z",
"trashed_at": null
}
]
}复制文件
Router :/v1/file/copy [POST]
| 参数名 | 参数类型 | 描述 | 是否必传 |
|---|---|---|---|
| file_key | string | 文件 key | 是 |
| directory_id | uint64 | 文件夹id | 否 |
| team_id | uint64 | 团队 id (团队和项目至少要有一个) | 否 |
| folder_id | uint64 | 项目 id (如果项目id 不传,则归属给团队第一个项目) | 否 |
| unique_id | string | 用户 unique_id,需要有一个用户,建议用用户id | 否 |
| user_id | uint64 | 用户的id | 否 |
| edit_seat_limit | bool | 是否校验席位限制 | 否 |
注:unique_id和user_id至少传一个
curl --location \
--request POST \
'{Prefix}/v1/file/copy' \
--header 'Authorization: Bearer {AccessToken}'
--data-raw '{
"file_key": "9jqU98ULQAQxxxoPLWXhfA",
"folder_id": 1,
"unique_id": "11"
}'响应示例
{
"code": 200,
"msg": "",
"data": {
"password": false,
"cross_space": true,
"public_access": false,
"tourist_access": true,
"file_key": "9jqU98ULQAQxxxoPLWXhfA",
"folder_id": 1,
"directory_id": 0,
"team_id": 1,
"space_id": 1,
"creator_id": 1,
"name": "xxx 副本",
"description": "",
"object_point": "Ar9gTtiGXN-fq4JbIMT6XA==",
"avatar_key": "",
"thumb_guid": "",
"meta": "",
"level": 0,
"from": 1303,
L
"type": 10,
"creator": {
"user_id": 1,
"nick_name": "P****123",
"avatar_url": "/api/user/storage_s3/pub_url/public/avatar+nq-PwY1n4kfzy89VqW29uw?ICaLvQ2tMy7qOtbpIx4OYA",
"email": "admin@pixso.com"
},
"modify_at": "2023-11-09T07:33:39.116253794Z",
"created_at": "2023-11-09T07:33:39.116253794Z",
"updated_at": "2023-11-09T07:33:39.116253794Z",
"trashed_at": null,
"deleted_at": null
}
}移动文件
Router :/v1/file/move [POST]
| 参数名 | 参数类型 | 描述 | 是否必传 |
|---|---|---|---|
| file_key | string | 文件 key | 是 |
| team_id | uint64 | 团队 id (团队和项目至少要有一个) | 否 |
| folder_id | uint64 | 项目 id (如果项目id 不传,则归属给团队第一个项目) | 否 |
| directory_id | uint64 | 文件夹id | 否 |
| enterprise_id | uint64 | 指定子企业id | 否 |
| enterprise_unique_id | string | 指定子企业唯一键;都未指定时,默认当前企业 | 否 |
curl --location \
--request POST \
'{Prefix}/v1/file/move' \
--header 'Authorization: Bearer {AccessToken}'
--data-raw '{
"file_key": "w53-4GsMyvBwj3jmK_LFQQ",
"folder_id": 1
}'响应示例
{
"code": 200,
"msg": "",
"data": {
"password": false,
"cross_space": true,
"public_access": false,
"tourist_access": true,
"file_key": "w53-4GsMyvBwj3jmK_LFQQ",
"folder_id": 1,
"directory_id": 0,
"team_id": 147006,
"space_id": 1,
"creator_id": 1,
"name": "设计文件",
"description": "File Description",
"object_point": "ma2bBg1E80Hg4fcXhtXziQ==",
"avatar_key": "",
"thumb_guid": "",
"meta": "",
"level": 0,
"from": 303,
"type": 10,
"creator": {
"user_id": 1,
"nick_name": "P****123",
"avatar_url": "/api/user/storage_s3/pub_url/public/avatar+nq-PwY1n4kfzy89VqW29uw?DuJNcvrrigJhk8LczDEUDQ",
"email": "admin@pixso.com"
},
"modify_at": "2023-11-09T07:33:33Z",
"created_at": "2023-11-09T07:33:33Z",
"updated_at": "2023-11-09T07:33:33Z",
"trashed_at": null,
"deleted_at": null
}
}获取项目内的文件列表
Router :/v1/folder/file/list [GET]
| 参数名 | 参数类型 | 描述 | 是否必传 |
|---|---|---|---|
| folder_id | uint64 | 项目 id | 是 |
curl --location \
--request GET \
'{Prefix}/v1/folder/file/list?folder_id=100397' \
--header 'Authorization: Bearer {AccessToken}'响应示例
{
"code": 200,
"msg": "",
"data": [
{
"file_key": "9-oX-D4bpylghlJPyB03wg",
"folder_id": 100397,
"team_id": 10245,
"space_id": 1,
"creator_id": 18552003,
"name": "文件名二",
"description": "修改一个文件",
"object_point": "OthQW5VVY2vi-_6CWBAsZA==",
"avatar_key": "",
"thumb_guid": "",
"meta": "",
"level": 0,
"from": 304,
"type": 10,
"modify_at": "2022-08-15T12:56:21Z",
"created_at": "2022-08-15T12:56:21Z",
"updated_at": "2022-08-15T12:56:21Z",
"trashed_at": null
}
]
}通过用户获取项目下的文件列表
Router :/v1/folder/user/file/list [POST]
| 参数名 | 参数类型 | 描述 | 是否必传 |
|---|---|---|---|
| folder_id_list | []uint64 | 项目 id列表 | 是 |
| user_id | uint64 | 用户id | 是 |
| level | int | 支持通过权限值过滤(数值范围:0,22,44,88) | 否 |
curl --location \
--request GET \
'{Prefix}/v1/folder/user/file/list' \
--header 'Authorization: Bearer {AccessToken}' \
--data-raw '{
"folder_id_list":[174046],
"user_id":24367428,
"level":44
}'响应示例
{
"code": 200,
"msg": "",
"data": [
{
"file_key": "655kCrYAe-EZWFcISTUNFA",
"folder_id": 174046,
"directory_id": 0,
"team_id": 146532,
"space_id": 31,
"creator_id": 24367896,
"name": "Untitled",
"description": "",
"object_point": "655kCrYAe-EZWFcISTUNFA",
"avatar_key": "655kCrYAe-EZWFcISTUNFAa",
"thumb_guid": "",
"meta": "",
"level": 0,
"from": 231,
"type": 10,
"modify_at": "2023-05-09T19:56:07Z",
"created_at": "2023-05-09T11:56:08Z",
"updated_at": "2023-05-09T11:56:08Z",
"trashed_at": null
}
]
}删除文件
Router :/v1/file [DELETE]
| 参数名 | 参数类型 | 描述 | 是否必传 |
|---|---|---|---|
| file_key | string | 文件 key | 是 |
curl --location \
--request DELETE \
'{Prefix}/v1/file?file_key=9-oX-D4bpylghlJPyB03wg' \
--header 'Authorization: Bearer {AccessToken}'响应示例
{
"code": 200,
"msg": ""
}通过文件邀请链接获取文件信息
Router :/v1/file/link/check [POST]
| 参数名 | 参数类型 | 描述 | 是否必传 |
|---|---|---|---|
| link_code | string | 文件分享链接码 | 是 |
curl --location \
--request POST \
'{Prefix}/v1/file/link/check' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {AccessToken}' \
--data-raw '{
"link_code": "8PN55lVmFpEABwNy9c3JR5VqF4dVowFl"
}'响应示例
{
"code": 200,
"msg": "",
"data": {
"has_joined": false,
"space_id": 12,
"file": {
"file_key": "2jw0BvTpEo90C_7VjBeWYw",
"folder_id": 1021,
"team_id": 1576,
"space_id": 12,
"creator_id": 24367171,
"name": "Pixso 文件",
"description": "File Description",
"object_point": "4bgiO978k_k5ZyC1t3ByGw==",
"avatar_key": "_fji1uVRjB2IW9zJcu-XSQ==",
"thumb_guid": "",
"meta": "{\"background_color\":\"#E5E5E5FF\"}",
"level": 22,
"from": 0,
"type": 10,
"option": 159,
"modify_at": "2022-07-15T23:29:05Z",
"created_at": "2022-05-09T09:04:35Z",
"updated_at": "2022-05-09T09:04:35Z",
"trashed_at": null
}
}
}获取用户对文件的权限
Router :/v1/file/role [GET]
| 参数名 | 参数类型 | 描述 | 是否必传 |
|---|---|---|---|
| user_id | uint64 | 用户 id | 是 |
| file_key | string | 文件 key | 是 |
curl --location \
--request GET \
'{Prefix}/v1/file/role?file_key=nFWbmGS_H0GkOSZ5YG-Nzw&user_id=18552003' \
--header 'Authorization: Bearer {AccessToken}'响应示例
{
"code": 200,
"msg": "",
"data": {
"level": 88,
"file_key": "nFWbmGS_H0GkOSZ5YG-Nzw"
}
}添加文件成员
Router :/v1/file/member [POST]
| 参数名 | 参数类型 | 描述 | 是否必传 |
|---|---|---|---|
| user_id | uint64 | 用户 id | 是 |
| file_key | string | 文件 key | 是 |
| level | int | 权限值(有效值:22,44) | 是 |
| enterprise_id | uint64 | 指定子企业id | 否 |
| enterprise_unique_id | string | 指定子企业唯一键;都未指定时,默认当前企业 | 否 |
curl --location \
--request POST \
'{Prefix}/v1/file/member' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {AccessToken}' \
--data-raw '{
"user_id": 22798989,
"file_key":"9-oX-D4bpylghlJPyB03wg",
"level":22
}'响应示例
{
"code": 200,
"msg": "",
"data": [
{
"email": "",
"is_invited": true,
"level": 22,
"resource_type": "file",
"resource_id_or_key": "9-oX-D4bpylghlJPyB03wg",
"created_at": "0001-01-01T00:00:00Z",
"updated_at": "0001-01-01T00:00:00Z",
"user": {
"user_id": 22798989,
"nick_name": "ED37QpgC",
"avatar_url": "",
"email": ""
}
}
]
}批量添加用户到文件列表
Router :/v1/file/multi-member [POST]
| 参数名 | 参数类型 | 描述 | 是否必传 |
|---|---|---|---|
| file_key_list | string 列表 | 文件 key 列表 | 是 |
| user_id_list | int 列表 | 用户 id 列表 | 是 |
| level | int | 权限值(有效值:22,44) | 是 |
| enterprise_id | uint64 | 指定子企业id | 否 |
| enterprise_unique_id | string | 指定子企业唯一键;都未指定时,默认当前企业 | 否 |
注:已存在在文件中的成员将会忽略,不更新权限,也不报错
curl --location \
--request POST \
'{Prefix}/v1/file/multi-member' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {AccessToken}' \
--data-raw '{
"user_id_list": [24367171,24367172,24367204],
"file_key_list":["0EBsKrE35YXNiV8Y8ttnfg","3XAXV7Gbse6TfUn42bo6Ug"],
"level":22
}'响应示例
{
"code": 200,
"msg": "",
"data": [
{
"email": "zhangz@300624.cn",
"is_invited": true,
"level": 22,
"resource_type": "file",
"resource_id_or_key": "0EBsKrE35YXNiV8Y8ttnfg",
"created_at": "0001-01-01T00:00:00Z",
"updated_at": "0001-01-01T00:00:00Z",
"user": {
"user_id": 24367171,
"nick_name": "测试123",
"avatar_url": "",
"email": "zhangz@300624.cn"
}
},
{
"email": "zenghx@300625.cn",
"is_invited": true,
"level": 22,
"resource_type": "file",
"resource_id_or_key": "0EBsKrE35YXNiV8Y8ttnfg",
"created_at": "0001-01-01T00:00:00Z",
"updated_at": "0001-01-01T00:00:00Z",
"user": {
"user_id": 24367172,
"nick_name": "zhx",
"avatar_url": "",
"email": "zenghx@300625.cn"
}
}
]
}查看文件成员列表
Router :/v1/file/member [GET]
| 参数名 | 参数类型 | 描述 | 是否必传 |
|---|---|---|---|
| file_key | string | 文件 key | 是 |
curl --location \
--request GET \
'{Prefix}/v1/file/member?file_key=9-oX-D4bpylghlJPyB03wg' \
--header 'Authorization: Bearer {AccessToken}'响应示例
{
"code": 200,
"msg": "",
"data": [
{
"email": "",
"is_invited": true,
"level": 22,
"resource_type": "file",
"resource_id_or_key": "9-oX-D4bpylghlJPyB03wg",
"created_at": "0001-01-01T00:00:00Z",
"updated_at": "0001-01-01T00:00:00Z",
"user": {
"user_id": 22798989,
"nick_name": "ED37QpgC",
"avatar_url": "",
"email": ""
}
}
]
}修改文件成员权限
Router :/v1/file/member [PUT]
| 参数名 | 参数类型 | 描述 | 是否必传 |
|---|---|---|---|
| user_id | uint64 | 用户 id | 是 |
| file_key | uint64 | 文件 key | 是 |
| level | int | 权限值(有效值:22,44) | 是 |
curl --location \
--request PUT \
'{Prefix}/v1/file/member' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {AccessToken}' \
--data-raw '{
"user_id": 22798989,
"file_key":"9-oX-D4bpylghlJPyB03wg",
"level":44
}'响应示例
{
"code": 200,
"msg": "",
"data": [
{
"email": "",
"is_invited": true,
"level": 44,
"resource_type": "file",
"resource_id_or_key": "9-oX-D4bpylghlJPyB03wg",
"created_at": "2022-08-15T13:55:41Z",
"updated_at": "2022-08-15T13:55:41Z",
"user": {
"user_id": 22798989,
"nick_name": "ED37QpgC",
"avatar_url": "",
"email": ""
}
}
]
}删除文件成员
Router :/v1/file/member [DELETE]
| 参数名 | 参数类型 | 描述 | 是否必传 |
|---|---|---|---|
| user_id | uint64 | 用户 id | 是 |
| file_key | uint64 | 文件 key | 是 |
curl --location \
--request DELETE \
'{Prefix}/v1/file/member?user_id=22798989&file_key=9-oX-D4bpylghlJPyB03wg' \
--header 'Authorization: Bearer {AccessToken}'响应示例
{
"code": 200,
"msg": ""
}批量删除文件列表中的用户
Router :/v1/file/multi-member [DELETE]
| 参数名 | 参数类型 | 描述 | 是否必传 |
|---|---|---|---|
| file_key_list | string 列表 | 文件 key 列表 | 是 |
| user_id_list | int 列表 | 用户 id 列表 | 是 |
curl --location \
--request DELETE \
'{Prefix}/v1/file/multi-member' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {AccessToken}' \
--data-raw '{
"user_id_list": [24367171,24367172,24367204],
"file_key_list":["0EBsKrE35YXNiV8Y8ttnfg","jqNuqrjmJYSxh2dHYdCALA","3XAXV7Gbse6TfUn42bo6Ug"]
}'响应示例
{
"code": 200,
"msg": ""
}批量清空文件的成员
Router :/v1/file/member/all [DELETE]
| 参数名 | 参数类型 | 描述 | 是否必传 |
|---|---|---|---|
| enterprise_id | uint64 | 指定子企业id | 否 |
| enterprise_unique_id | string | 指定子企业唯一键;都未指定时,默认当前企业 | 否 |
| file_key_list | string 列表 | 文件 key 列表 | 是 |
curl --location \
--request DELETE \
'{Prefix}/v1/file/member/all' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {AccessToken}' \
--data-raw '{
"file_key_list":["0EBsKrE35YXNiV8Y8ttnfg","jqNuqrjmJYSxh2dHYdCALA","3XAXV7Gbse6TfUn42bo6Ug"]
}'修改文件所有者
Router :/v1/file/owner/modify [PUT]
| 参数名 | 参数类型 | 描述 | 是否必传 |
|---|---|---|---|
| owner | uint64 | 新的所有者 | 是 |
| file_key | string | 文件 key | 是 |
curl --location \
--request PUT \
'{Prefix}/v1/file/owner/modify' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {AccessToken}' \
--data-raw '{
"file_key":"pJ3yoa42YxwwOdrJSmVeVA",
"owner":22798989
}'响应示例
{
"code": 200,
"msg": "",
"data": {
"email": "",
"is_invited": true,
"level": 88,
"resource_type": "file",
"resource_id_or_key": "pJ3yoa42YxwwOdrJSmVeVA",
"created_at": "0001-01-01T00:00:00Z",
"updated_at": "0001-01-01T00:00:00Z",
"user": {
"user_id": 22798989,
"nick_name": "ED37QpgC",
"avatar_url": "",
"email": ""
}
}
}批量修改文件所有者
Router :/v1/file/owner/modify/batch [PUT]
| 参数名 | 参数类型 | 描述 | 是否必传 |
|---|---|---|---|
| user_id | uint64 | 新的所有者 | 否 |
| unique_id | string | 新的所有者的unique_id | 否 |
| file_key_list | string array | 文件 key 列表 | 是 |
注:user_id 和 unique_id二选一
curl --location \
--request PUT \
'{Prefix}/v1/file/owner/modify/batch' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {AccessToken}' \
--data-raw '{
"file_key_list":["pJ3yoa42YxwwOdrJSmVeVA", "pJ3yoa42YxwwOdrJSmVeVB"],
"user_id":22798989,
"unique_id": "nihao"
}'响应示例
{
"code": 200,
"msg": "",
"data": [
{
"email": "",
"is_invited": true,
"level": 88,
"resource_type": "file",
"resource_id_or_key": "pJ3yoa42YxwwOdrJSmVeVA",
"created_at": "0001-01-01T00:00:00Z",
"updated_at": "0001-01-01T00:00:00Z",
"user": {
"user_id": 22798989,
"nick_name": "ED37QpgC",
"avatar_url": "",
"email": ""
}
},
{
"email": "",
"is_invited": true,
"level": 88,
"resource_type": "file",
"resource_id_or_key": "pJ3yoa42YxwwOdrJSmVeVB",
"created_at": "0001-01-01T00:00:00Z",
"updated_at": "0001-01-01T00:00:00Z",
"user": {
"user_id": 22798989,
"nick_name": "ED37QpgC",
"avatar_url": "",
"email": ""
}
}
]
}批量文件恢复
Router :/v1/file/archive/recover/batch [post]
| 参数名 | 参数类型 | 描述 | 是否必传 |
|---|---|---|---|
| team_id | uint64 | 团队id | 否 |
| folder_id | uint64 | 项目id | 否 |
| user_id | uint64 | 交接的用户id | 否 |
| unique_id | string | 交接的的unique_id | 否 |
| file_key_list | string array | 文件 key 列表 | 是 |
注: 1、恢复对象为回收站的文件、已归档的文件 2、只传file_key_list会尝试将文件恢复到原来的地方,user_id和unique_id选一个,不传会交给原来的人(如果它还在的话)
curl --location \
--request POST \
'{Prefix}/v1/file/archive/recover/batch' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {AccessToken}' \
--data-raw '{
"team_id": 1029,
"file_key_list": ["QUTpDZkZYnOhsruwOieYcQ"]
}'响应示例
{
"code": 200,
"msg": "code-0",
"data": {}
}批量获取企业成员席位值
Router :/v1/file/file-level/list [POST]
| 参数名 | 参数类型 | 描述 | 是否必传 |
|---|---|---|---|
| staff_id_list | uint64 列表 | 企业员工 id 列表 | 否 【有staff_id_list时,忽略unique_id_list】 |
| unique_id_list | string 列表 | 用户的唯一标识 列表 | 否 |
| enterprise_id | uint64 | 指定子企业id | 否 |
| enterprise_unique_id | string | 指定子企业唯一键;都未指定时,默认当前企业 | 否 |
curl --location \
--request POST \
'{Prefix}/v1/file/file-level/list' \
--header 'Authorization: Bearer {AccessToken}' \
--data-raw '{
"staff_id_list":[13,14],
"unique_id_list":["yinzh-test-4","yinzh-test-3","yinzh-test-12","yinzh-test-1"]
}'响应示例
{
"code": 200,
"msg": "",
"data": [
{
"user_id": 13,
"file_level": 22,
"board_file_level": 22
},
{
"user_id": 24368841,
"unique_id": "yinzh-test-1",
"file_level": 22,
"board_file_level": 22,
"proto_file_level": 22
}
]
}修改企业员工的席位
Router :/v1/file/file-level [PUT]
| 参数名 | 参数类型 | 描述 | 是否必传 |
|---|---|---|---|
| staff_id | uint64 | 企业员工 id | 是 |
| file_level | uint | 权限值(有效值:22,44) | 是 |
curl --location \
--request PUT \
'{Prefix}/v1/file/file-level' \
--header 'Authorization: Bearer {AccessToken}' \
--data-raw '{
"staff_id":13,
"file_level":44
}'响应示例
{
"code": 200,
"msg": ""
}修改企业员工的白板席位
Router :/v1/file/board/file-level [PUT]
| 参数名 | 参数类型 | 描述 | 是否必传 |
|---|---|---|---|
| staff_id | uint64 | 企业员工 id | 是 |
| file_level | uint | 权限值(有效值:22,44) | 是 |
curl --location \
--request PUT \
'{Prefix}/v1/file/board/file-level' \
--header 'Authorization: Bearer {AccessToken}' \
--data-raw '{
"staff_id":13,
"file_level":44
}'响应示例
{
"code": 200,
"msg": ""
}修改企业员工的原型席位
Router :/v1/file/proto/file-level [PUT]
| 参数名 | 参数类型 | 描述 | 是否必传 |
|---|---|---|---|
| staff_id | uint64 | 企业员工 id | 是 |
| file_level | uint | 权限值(有效值:22,44) | 是 |
curl --location \
--request PUT \
'{Prefix}/v1/file/proto/file-level' \
--header 'Authorization: Bearer {AccessToken}' \
--data-raw '{
"staff_id":13,
"file_level":44
}'响应示例
{
"code": 200,
"msg": ""
}从回收站中恢复文件
Router :/v1/file/recover [POST]
| 参数名 | 参数类型 | 描述 | 是否必传 |
|---|---|---|---|
| file_key | string | 待恢复文件的file_key | 是 |
curl --location \
--request POST \
'{Prefix}/v1/file/recover' \
--header 'Authorization: Bearer {AccessToken}' \
--header 'Content-Type: application/json' \
--data-raw '{
"file_key": "6Q3SRMMfjWT39565NHoM0A"
}'响应示例
{
"code": 200,
"msg": ""
}从回收站中彻底删除文件
Router :/v1/file/destroy [POST]
| 参数名 | 参数类型 | 描述 | 是否必传 |
|---|---|---|---|
| file_key | string | 待彻底删除文件的file_key | 是 |
curl --location \
--request POST \
'{Prefix}/v1/file/destroy' \
--header 'Authorization: Bearer {AccessToken}' \
--header 'Content-Type: application/json' \
--data-raw '{
"file_key": "6Q3SRMMfjWT39565NHoM0A"
}'响应示例
{
"code": 200,
"msg": ""
}从回收站中彻底删除文件【批量】
Router :/v1/file/destroy/batch [POST]
| 参数名 | 参数类型 | 描述 | 是否必传 |
|---|---|---|---|
| file_key_list | string 列表 | 文件key列表 | 是 |
curl --location \
--request POST \
'{Prefix}/v1/file/destroy/batch' \
--header 'Authorization: Bearer {AccessToken}' \
--header 'Content-Type: application/json' \
--data-raw '{
"file_key_list": ["PqhATLlr5zHLvB_GHfJzgg","F2mS08c8svstio_vNoM3kQ"],
}'批量获取文件封面对象列表
Router :/v1/file/covers [POST]
| 参数名 | 参数类型 | 描述 | 是否必传 |
|---|---|---|---|
| avatar_key_list | string 列表 | 封面唯一标识列表 | 封面和文件标识至少要有一个 |
| file_key_list | string 列表 | 文件key列表 | 否 |
curl --location \
--request POST \
'{Prefix}/v1/file/covers' \
--header 'Authorization: Bearer {AccessToken}'
--data-raw '{
"file_key_list": ["PqhATLlr5zHLvB_GHfJzgg","F2mS08c8svstio_vNoM3kQ"],
"avatar_key_list": ["8v3BpcogDtppRbVEuJW75A=="]
}'响应示例
{
"code": 200,
"msg": "",
"data": [
{
"avatar_key": "",
"file_key": "PqhATLlr5zHLvB_GHfJzgg",
"url": ""
},
{
"avatar_key": "ZWiYyOJUtJoKzR3cIGyxCg==",
"file_key": "F2mS08c8svstio_vNoM3kQ",
"url": "http://dev.pixso.design/api/pix/storage_s3/private/img+ZWiYyOJUtJoKzR3cIGyxCg==?expire=1704102361&sign=PXP1zsndGzKYQZvElydIu4sgZJeZAxosbtb5-WbEqfA"
},
{
"avatar_key": "",
"file_key": "PqhATLlr5zHLvB_GHfJzgg",
"url": ""
},
{
"avatar_key": "ZWiYyOJUtJoKzR3cIGyxCg==",
"file_key": "F2mS08c8svstio_vNoM3kQ",
"url": "http://dev.pixso.design/api/pix/storage_s3/private/img+ZWiYyOJUtJoKzR3cIGyxCg==?expire=1704102361&sign=PXP1zsndGzKYQZvElydIu4sgZJeZAxosbtb5-WbEqfA"
}
]
}修改文件链接分享权限
Router :/v1/file/access [PUT]
| 参数名 | 参数类型 | 描述 | 是否必传 |
|---|---|---|---|
| file_key | string | 文件key | 是 |
| level | int | 文件的分享权限值(有效值:0,11,22,44)[0:表示关闭分享] | 否 |
| public_access | boolean | 公开所有人可访问 | 否 |
| cross_space | boolean | 跨空间可访问;企业外部人员可访问 | 否 |
| tourist_access | boolean | 游客(未登录用户)可访问 | 否 |
| password | boolean | 启用密码(此处只适用关闭密码,启用密码需要配合密码设置) | 否 |
curl --location \
--request POST \
'{Prefix}/v1/file/access' \
--header 'Authorization: Bearer {AccessToken}'
--data-raw '{
"file_key":"A_dI-g6utc8aGS9m4HGa3Q",
"password": false,
"public_access":false
}'响应示例
{
"code": 200,
"msg": "",
"data": {
"password": false,
"cross_space": true,
"public_access": false,
"tourist_access": true,
"file_key": "A_dI-g6utc8aGS9m4HGa3Q",
"folder_id": 100005,
"directory_id": 0,
"team_id": 10006,
"space_id": 1,
"creator_id": 18552003,
"name": "测试一下211",
"description": "",
"object_point": "A_dI-g6utc8aGS9m4HGa3Q",
"avatar_key": "",
"thumb_guid": "",
"meta": "",
"level": 0,
"from": 304,
"type": 10,
"modify_at": "2023-06-28T08:31:42Z",
"created_at": "2023-06-28T08:31:46Z",
"updated_at": "2023-06-28T08:31:46Z",
"trashed_at": null,
"deleted_at": null
}
}获取文件内容
Router :/v1/file/content [GET]
| 参数名 | 参数类型 | 描述 | 是否必传 |
|---|---|---|---|
| file_key | string | 文件 key | 是 |
curl --location \
--request GET \
'{Prefix}/v1/file/content?file_key=qgQ_iuGIgiqEHh-Xrokn7g&type=1'
--header 'Authorization: Bearer {AccessToken}'历史版本
获取文件历史版本列表
Router :/v1/file/version [GET]
| 参数名 | 参数类型 | 描述 | 是否必传 |
|---|---|---|---|
| file_key | string | 文件 key | 是 |
| type | int | 历史版本类型(0:所有版本,1:自动保存的版本,2:手动保存的版本,3:修改过的自动保存的版本,4:离线上报的版本) | 否 |
curl --location \
--request GET \
'{Prefix}/v1/file/version?file_key=qgQ_iuGIgiqEHh-Xrokn7g&type=1'
--header 'Authorization: Bearer {AccessToken}'响应示例
{
"code": 200,
"msg": "",
"data": [
{
"id": "1677060637",
"file_Key": "qgQ_iuGIgiqEHh-Xrokn7g",
"name": "",
"description": "定时保存",
"object_point": "b-5A_Gbk7u9xi2ARFmJhLg==",
"created_at": "2023-02-22T10:10:37Z",
"user": {
"user_id": 0,
"nick_name": "",
"avatar_url": "",
"email": ""
},
"type": 1,
"share_link": "wt8X9bKUCCZC1nL5CPLKH1aF_YfaWX2t?vid=1677060637"
}
]
}获取文件历史版本列表【cmcc】
Router :/v1/file/version/cmcc [GET]
| 参数名 | 参数类型 | 描述 | 是否必传 |
|---|---|---|---|
| id_list | string 列表 | 历史版本组合id列表 | 是 |
curl --location \
--request GET \
'{Prefix}/v1/file/version/cmcc' \
--header 'Authorization: Bearer {AccessToken}' \
--header 'Content-Type: application/json' \
--data '{"id_list":["PjWgD20OlwddDhiGJ3rSyw:2:1758183065","PjWgD20OlwddDhiGJ3rSyw:1:1753258275"]}'切换文件历史版本
Router :/v1/file/version/rollback [PUT]
| 参数名 | 参数类型 | 描述 | 是否必传 |
|---|---|---|---|
| file_key | string | 文件 key | 是 |
| type | int | 历史版本类型(1:自动保存的版本,2:手动保存的版本,3:修改过的自动保存的版本,4:离线上报的版本) | 是 |
| id | string | 历史版本唯一id | 是 |
curl --location \
--request POST \
'{Prefix}/v1/file/version/rollback\
--header 'Authorization: Bearer {AccessToken}'
--header 'Content-Type: application/json' \
--data-raw '{
"file_key":"CntIPAjUqk9ghrHGXZJhLg"],
"type": 2 ,
"status": "1677058855"
}'下载文件历史版本
Router :/v1/file/version/download [GET]
| 参数名 | 参数类型 | 描述 | 是否必传 |
|---|---|---|---|
| file_key | string | 文件 key | 是 |
| type | int | 历史版本类型(1:自动保存的版本,2:手动保存的版本,3:修改过的自动保存的版本,4:离线上报的版本) | 是 |
| id | string | 历史版本唯一id | 是 |
curl --location \
--request GET \
'{Prefix}/v1/file/version/download?file_key=qgQ_iuGIgiqEHh-Xrokn7g&id=1677058855&type=2'
--header 'Authorization: Bearer {AccessToken}'响应示例
{
"code": 200,
"msg": "",
"data": {}
}修改文件封面
Router :/v1/file/cover [PUT]
| 参数名 | 参数类型 | 描述 | 是否必传 |
|---|---|---|---|
| file_key | string | 文件的key 值 | 是 |
| file | file | 静态文件压缩包 | 是 |
curl --location \
--request GET \
'{Prefix}/v1/file/cover'
--header 'Authorization: Bearer {AccessToken}' \
--form 'file=@"/C:/Users/ws/Pictures/Snipaste_2021-08-26_16-21-40.png"' \
--form 'file_key="1otYZEq4-0fmwKvCMM4JXA"' '上传文件内的图片
Router :/v1/file/image/upload [POST]
| 参数名 | 参数类型 | 描述 | 是否必传 |
|---|---|---|---|
| sha | string | 图片的sha1 值 | 是 |
| file | file | 静态文件压缩包 | 是 |
curl --location \
--request GET \
'{Prefix}/v1/file/image/upload'
--header 'Authorization: Bearer {AccessToken}' \
--form 'file=@"/C:/Users/ws/Pictures/Snipaste_2021-08-26_16-21-40.png"' \
--form 'sha="5f1678b763cc842084d9aae55fa0227b82164de7"'资源库
获取资源库信息
Router :/v1/file/library [GET]
| 参数名 | 参数类型 | 描述 | 是否必传 |
|---|---|---|---|
| file_key | string | 文件 key | 是 |
curl --location \
--request GET \
'{Prefix}/v1/file/library?file_key=R-b4Zpwp6ugHYo9MEJwqQg' \
--header 'Authorization: Bearer {AccessToken}'
--data-raw ''响应示例
{
"code": 200,
"msg": "",
"data": {
"file_key": "R-b4Zpwp6ugHYo9MEJwqQg",
"team_id": 38,
"space_id": 0,
"components": {
"13:1": {
"node_id": "13:1",
"name": "矩形 2",
"component_key": "da6592862d01c9fcc236ab8078fc2f690afd3797",
"content_hash": "9:0",
"containing_frame": {
"pageId": "0:1",
"pageName": "页面 1"
},
"description": "",
"description_rtf": "",
"is_unflattened": true,
"min_node_width": 128,
"min_node_height": 123,
"file_key": "R-b4Zpwp6ugHYo9MEJwqQg",
"user_id": 0,
"created_at": "2022-08-17T07:24:11Z",
"updated_at": "2022-08-17T07:24:11Z",
"unpublished_at": null,
"type": "pix/component",
"canvas_url": "/pix/component/2mWShi0ByfzCNquAePwvaQr9N5c11/canvas?timestamp=1660721051",
"thumbnail_url": "/pix/component/2mWShi0ByfzCNquAePwvaQr9N5c12/thumb?timestamp=1660721051"
}
},
"styles": {
"7:1": {
"node_id": "7:1",
"name": "纯色填充",
"style_type": "FILL",
"key": "a1d9b9da9ecd5aee579f797cb2193497c5f00718",
"content_hash": "240:43",
"description": "",
"sort_position": " ~!",
"meta": {
"style_thumbnail": {
"fillPaints": [
{
"blendMode": 1,
"color": {
"a": 1,
"b": 17,
"g": 174,
"r": 0
},
"domVisible": true,
"opacity": 1,
"type": 0,
"visible": true
}
],
"styleType": "FILL"
}
},
"file_key": "R-b4Zpwp6ugHYo9MEJwqQg",
"checkpoint_id": "odm52p7NWu5Xn3l8shk0l8XwBxg22",
"user_id": 0,
"created_at": "2023-10-18T03:04:09Z",
"updated_at": "2023-10-18T03:04:09Z",
"unpublished_at": "",
"type": "pix/style",
"canvas_url": "/pix/style/odm52p7NWu5Xn3l8shk0l8XwBxg22/canvas?timestamp=1697598249",
"thumbnail_url": "/pix/style/odm52p7NWu5Xn3l8shk0l8XwBxg21/thumb?timestamp=1697598249"
}
},
"state_groups": {
"10:13212": {
"node_id": "10:13212",
"name": "Form Grid",
"description": "",
"component_key": "3934e11239986b67583daa4378e99e904295d8d1",
"content_hash": "10:784",
"containing_frame": {
"pageId": "9:648",
"pageName": "xxx参考"
},
"is_unflattened": false,
"fill_color": "",
"min_node_width": 720,
"min_node_height": 80,
"file_key": "R-b4Zpwp6ugHYo9MEJwqQg",
"user_id": 0,
"created_at": "2023-10-18T03:05:34Z",
"updated_at": "2023-10-18T03:05:34Z",
"unpublished_at": null,
"type": "pix/state-group",
"canvas_url": "/pix/state-group/OTThEjmYa2dYPapDeOmekEKV2NE32/canvas?timestamp=1697598334",
"thumbnail_url": "/pix/state-group/OTThEjmYa2dYPapDeOmekEKV2NE31/thumb?timestamp=1697598334"
}
},
"type": 1
}
}批量获取资源库信息
Router :/v1/file/library/page [POST]
| 参数名 | 参数类型 | 描述 | 是否必传 |
|---|---|---|---|
| team_id_list | uint64 列表 | 团队id,不传不限制; | 否 |
| file_key_list | string 列表 | 文件 key,不传不限制; | 否 |
| library_type | int | 资源库类型,不传不限制; 取值(0:企业资源库,1:团队资源库) | 否 |
| from_id | uint64 | 分组获取的起始id,首次调用不传,多组的情况下取上一组的last_id | 否 |
| size | int | 分组获取的大小;默认值:20,范围 [1:20000] | 否 |
curl --location \
--request GET \
'{Prefix}/v1/file/library' \
--header 'Authorization: Bearer {AccessToken}'
--header 'Content-Type: application/json' \
--data-raw '{
"team_id_list":[172],
"file_key_list":["CntIPAjUqk9ghrHGXZJhLg","jimlhK1Nr5Db-3TlnkaLxQ"],
"library_type": 0,
"from_id":28,
"size":28
}'响应示例
{
"code": 200,
"msg": "",
"data": {
"list": [
{
"file_key": "FonFLhkqd-kIpcCFDXANLQ",
"team_id": 0,
"file_name": "GBC",
"team_name": "",
"user_id": 0,
"component_count": 1,
"state_group_count": 0,
"style_count": 0,
"library_type": 1,
"is_default": 0
}
],
"last_id": 1
}
}获取组件信息
Router :/v1/file/component/list [POST]
| 参数名 | 参数类型 | 描述 | 是否必传 |
|---|---|---|---|
| component_key_list | string 列表 | 组件 key | 是 |
curl --location \
--request POST \
'{Prefix}/v1/file/component/list' \
--header 'Authorization: Bearer {AccessToken}'
--data '{
"component_key_list": [
"b806801437b15129b603ec6a416785f8bd33846f",
"5baf9071ee620da2f6c2e3f5fe5704c6b3cc6618",
"11111"
]
}'响应示例
{
"code": 200,
"msg": "",
"data": [
{
"node_id": "4:91",
"name": "井号",
"component_key": "b806801437b15129b603ec6a416785f8bd33846f",
"content_hash": "0:0",
"containing_frame": {
"backgroundColor": "#FFFFFFFF",
"name": "画板 2",
"nodeId": "4:1",
"pageId": "0:1",
"pageName": "页面 1"
},
"description": "",
"description_rtf": "",
"is_unflattened": true,
"min_node_width": 48,
"min_node_height": 46.08955383300781,
"file_key": "NHE2anMtRK93wk2YwKVzZw",
"user_id": 0,
"created_at": "2024-05-17T06:57:21Z",
"updated_at": "2024-05-17T06:57:21Z",
"unpublished_at": null,
"type": "pix/component",
"canvas_url": "/pix/component/uAaAFDexUSm2A-xqQWeF-L0zhG811/canvas?timestamp=1715929041",
"thumbnail_url": "/pix/component/uAaAFDexUSm2A-xqQWeF-L0zhG812/thumb?timestamp=1715929041"
},
{
"node_id": "2:10",
"name": "4444",
"component_key": "5baf9071ee620da2f6c2e3f5fe5704c6b3cc6618",
"content_hash": "2:3",
"containing_frame": {
"pageId": "2:8",
"pageName": "页面 4"
},
"description": "",
"description_rtf": "",
"is_unflattened": true,
"min_node_width": 100,
"min_node_height": 100,
"file_key": "D4R7oep-Nf41xxwEUjVfJQ",
"user_id": 0,
"created_at": "2024-05-15T07:04:10Z",
"updated_at": "2024-05-15T07:04:10Z",
"unpublished_at": null,
"type": "pix/component",
"canvas_url": "/pix/component/W6-Qce5iDaL2wuP1_lcExrPMZhg11/canvas?timestamp=1715756650",
"thumbnail_url": "/pix/component/W6-Qce5iDaL2wuP1_lcExrPMZhg12/thumb?timestamp=1715756650"
}
]
}获取样式信息
Router :/v1/file/style/list [POST]
| 参数名 | 参数类型 | 描述 | 是否必传 |
|---|---|---|---|
| style_key_list | string 列表 | 样式 key | 是 |
curl --location \
--request POST \
'{Prefix}/v1/file/style/list' \
--header 'Authorization: Bearer {AccessToken}'
--data '{
"style_key_list": [
"4a633cad7f91a005b53aab3d63d30e9c685a6c2b",
"5619160f570b80a42f036d9c3e3c4695fdab7dc5",
"111111111111111111111111111111111"
]
}'响应示例
{
"code": 200,
"msg": "",
"data": [
{
"node_id": "3:8",
"name": "title-粗体1",
"style_type": "TEXT",
"key": "4a633cad7f91a005b53aab3d63d30e9c685a6c2b",
"content_hash": "3:3",
"description": "",
"sort_position": "!",
"meta": {
"style_thumbnail": {
"metrics": {
"fontSize": 16,
"lineHeight": {
"units": "AUTO",
"value": 1
}
},
"styleType": "TEXT"
}
},
"file_key": "Sz9n3Fi6Te7SS_YtyxWqTg",
"checkpoint_id": "SmM8rX-RoAW1Oqs9Y9MOnGhabCs22",
"user_id": 0,
"created_at": "2022-08-04T02:19:58Z",
"updated_at": "2022-08-04T02:19:58Z",
"unpublished_at": "",
"type": "pix/style",
"canvas_url": "/pix/style/SmM8rX-RoAW1Oqs9Y9MOnGhabCs22/canvas?timestamp=1659579598",
"thumbnail_url": "/pix/style/SmM8rX-RoAW1Oqs9Y9MOnGhabCs21/thumb?timestamp=1659579598"
},
{
"node_id": "4:1871",
"name": "Primary / Pink main",
"style_type": "FILL",
"key": "5619160f570b80a42f036d9c3e3c4695fdab7dc5",
"content_hash": "347:313",
"description": "",
"sort_position": "g",
"meta": {
"style_thumbnail": {
"fillPaints": [
{
"blendMode": 1,
"color": {
"a": 1,
"b": 255,
"g": 98,
"r": 45
},
"domVisible": true,
"opacity": 1,
"type": 0,
"visible": true
}
],
"styleType": "FILL"
}
},
"file_key": "VpYc7KwoXMb60agBChqM-A",
"checkpoint_id": "VhkWD1cLgKQvA22cPjxGlf2rfcU22",
"user_id": 0,
"created_at": "2022-07-12T08:21:21Z",
"updated_at": "2022-07-12T08:21:21Z",
"unpublished_at": "",
"type": "pix/style",
"canvas_url": "/pix/style/VhkWD1cLgKQvA22cPjxGlf2rfcU22/canvas?timestamp=1657614081",
"thumbnail_url": "/pix/style/VhkWD1cLgKQvA22cPjxGlf2rfcU21/thumb?timestamp=1657614081"
}
]
}获取资源库的组件数量
Router :/v1/file/library/component/count [GET]
| 参数名 | 参数类型 | 描述 | 是否必传 |
|---|---|---|---|
| file_key | string | 资源库 key | 是 |
curl --location \
--request POST \
'{Prefix}/v1/file/library/component/count?file_key=kdVMSUPYYMnkLJrqp63U_Q' \
--header 'Authorization: Bearer {AccessToken}'获取资源库的样式数量
Router :/v1/file/library/style/count [GET]
| 参数名 | 参数类型 | 描述 | 是否必传 |
|---|---|---|---|
| file_key | string | 资源库 key | 是 |
curl --location \
--request POST \
'{Prefix}/v1/file/library/style/count?file_key=kdVMSUPYYMnkLJrqp63U_Q' \
--header 'Authorization: Bearer {AccessToken}'获取资源库的被订阅的数量
Router :/v1/file/library/subscribed/count [GET]
| 参数名 | 参数类型 | 描述 | 是否必传 |
|---|---|---|---|
| file_key | string | 资源库 key | 是 |
curl --location \
--request POST \
'{Prefix}/v1/file/library/subscribed/count?file_key=kdVMSUPYYMnkLJrqp63U_Q' \
--header 'Authorization: Bearer {AccessToken}'统计
企业用户文件访问活跃天数统计
Router :/v1/ent-user/file/view/active/info [GET]
| 参数名 | 参数类型 | 描述 | 是否必传 |
|---|---|---|---|
| product | string | 产品名称,可选值:Pixso、BoardMix,不传为全产品 | 否 |
| interval_type | string | 间隔类型,按何种间隔统计,可选值:day、week、month | 是 |
| start_time | int64 | 起始时间,秒级时间戳 | 是 |
| end_time | int64 | 终止时间,秒级时间戳 | 是 |
| obj_type | int | 操作对象类型,可选值:1-pixs设计文件,2-pixso白板文件,3-pixso原型文件,4-pixsoAxure演示文件,不传查全部 | 否 |
| space_id | int64 | 企业id,私有化传2 | 是 |
curl --location \
--request GET \
'{Prefix}/v1/ent-user/file/view/active/info?product=Pixso&start_time=1743436800&end_time=1745683200&space_id=2&interval_type=day&obj_type=1' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {AccessToken}'响应示例
{
"code": 0,
"msg": "code-0",
"data": [
{
"user_info": {
"e_id": 2,
"user_id": 24367225,
"account_id": 24367144,
"email": "",
"mobile": "13066666666",
"status": 1,
"nick_name": "test",
"employee_id": "",
"unique_id": "test",
"wechat": "",
"staff_status": 1,
"created_at": "2022-06-10T18:53:29+08:00",
"staff_mobile": "13066666672",
"staff_email": "",
"department": "PX12322",
"title": "前端"
},
"num": 1
},
{
"user_info": {
"e_id": 2,
"user_id": 24367428,
"account_id": 24367269,
"email": "13066666666@qq.com",
"mobile": "13066666667",
"status": 1,
"nick_name": "test2",
"employee_id": "",
"unique_id": "test",
"wechat": "",
"staff_status": 1,
"created_at": "2022-09-07T11:37:23+08:00",
"staff_mobile": "",
"staff_email": "",
"department": "PX12323",
"title": "后端"
},
"num": 1
}
]
}user_info字段可参考企业成员信息字段说明
企业用户文件编辑活跃天数
Router :/v1/ent-user/file/edit/active/info [GET]
| 参数名 | 参数类型 | 描述 | 是否必传 |
|---|---|---|---|
| product | string | 产品名称,可选值:Pixso、BoardMix,不传为全产品 | 否 |
| interval_type | string | 间隔类型,按何种间隔统计,可选值:day、week、month | 是 |
| start_time | int64 | 起始时间,秒级时间戳 | 是 |
| end_time | int64 | 终止时间,秒级时间戳 | 是 |
| obj_type | int | 操作对象类型,可选值:1-pixs设计文件,2-pixso白板文件,3-pixso原型文件,4-pixsoAxure演示文件,不传查全部 | 否 |
| space_id | int64 | 企业id,私有化传2 | 是 |
curl --location \
--request GET \
'{Prefix}/v1/ent-user/file/edit/active/info?product=Pixso&start_time=1743436800&end_time=1745683200&space_id=2&interval_type=day&obj_type=1' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {AccessToken}'响应示例
{
"code": 0,
"msg": "code-0",
"data": [
{
"user_info": {
"e_id": 2,
"user_id": 24367225,
"account_id": 24367144,
"email": "",
"mobile": "13066666666",
"status": 1,
"nick_name": "test",
"unique_id": "test",
"employee_id": "",
"wechat": "",
"staff_status": 1,
"created_at": "2022-06-10T18:53:29+08:00",
"staff_mobile": "13066666672",
"staff_email": "",
"department": "PX12322",
"title": "前端"
},
"num": 1
},
{
"user_info": {
"e_id": 2,
"user_id": 24367428,
"account_id": 24367269,
"email": "13066666666@qq.com",
"mobile": "13066666667",
"status": 1,
"nick_name": "test2",
"unique_id": "test",
"employee_id": "",
"wechat": "",
"staff_status": 1,
"created_at": "2022-09-07T11:37:23+08:00",
"staff_mobile": "",
"staff_email": "",
"department": "PX12323",
"title": "后端"
},
"num": 1
}
]
}user_info字段可参考企业成员信息字段说明
企业用户文件编辑时长详情
Router :/v1/ent-user/file/edit/duration/info [GET]
| 参数名 | 参数类型 | 描述 | 是否必传 |
|---|---|---|---|
| product | string | 产品名称,可选值:Pixso、BoardMix,不传为全产品 | 否 |
| interval_type | string | 间隔类型,按何种间隔统计,可选值:day、week、month | 是 |
| start_time | int64 | 起始时间,秒级时间戳 | 是 |
| end_time | int64 | 终止时间,秒级时间戳 | 是 |
| obj_type | int | 操作对象类型,可选值:1-pixs设计文件,2-pixso白板文件,3-pixso原型文件,4-pixsoAxure演示文件,不传查全部 | 否 |
| space_id | int64 | 企业id,私有化传2 | 是 |
curl --location \
--request GET \
'{Prefix}/v1/ent-user/file/edit/active/info?product=Pixso&start_time=1743436800&end_time=1745683200&space_id=2&interval_type=day&obj_type=1' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {AccessToken}'响应示例
{
"code": 0,
"msg": "code-0",
"data": [
{
"user_info": {
"e_id": 2,
"user_id": 24367225,
"account_id": 24367144,
"email": "",
"mobile": "13066666666",
"status": 1,
"nick_name": "test",
"unique_id": "test",
"employee_id": "",
"wechat": "",
"staff_status": 1,
"created_at": "2022-06-10T18:53:29+08:00",
"staff_mobile": "13066666672",
"staff_email": "",
"department": "PX12322",
"title": "前端"
},
"duration_map": {
"2025-04-08": 8,
"2025-04-09": 11,
"2025-04-10": 18,
"2025-04-11": 5,
"2025-04-14": 7,
"2025-04-15": 9,
"2025-04-18": 36,
"2025-04-21": 26
}
},
{
"user_info": {
"e_id": 2,
"user_id": 24367428,
"account_id": 24367269,
"email": "13066666666@qq.com",
"mobile": "13066666667",
"status": 1,
"nick_name": "test2",
"unique_id": "test",
"employee_id": "",
"wechat": "",
"staff_status": 1,
"created_at": "2022-09-07T11:37:23+08:00",
"staff_mobile": "",
"staff_email": "",
"department": "PX12323",
"title": "后端"
},
"duration_map": {
"2025-04-08": 8,
"2025-04-09": 11,
"2025-04-10": 18,
"2025-04-11": 5,
"2025-04-14": 7,
"2025-04-15": 9,
"2025-04-18": 36,
"2025-04-21": 26
}
}
]
}user_info字段可参考企业成员信息字段说明
其他
设置用户离线功能
Router :/v1/file/offline [PUT]
| 参数名 | 参数类型 | 描述 | 是否必传 |
|---|---|---|---|
| user_id | uint64 | 用户 id | 是 |
| status | string | 离线功能设置状态;取值 [on,off,cancel] | 是 |
curl --location \
--request PUT \
'{Prefix}/v1/file/offline' \
--header 'Authorization: Bearer {AccessToken}'
--data '{"user_id":18552003, "status":"cancel"}'响应示例
{
"code": 200,
"msg": ""
}权益
获取企业权益列表
Router :/v1/file/license [GET]
| 参数名 | 参数类型 | 描述 | 是否必传 |
|---|---|---|---|
| space_id | uint64 | 空间id | 是 |
curl --location \
--request GET \
'{Prefix}/v1/file/license?space_id=2'
--header 'Authorization: Bearer {AccessToken}'响应示例
{
"code": 200,
"msg": "",
"data": [
{
"type": 2,
"current": "2024-09-09T08:01:41.8386833Z",
"edit_seat": 0,
"edit_num": 0,
"start_at": "2024-06-28T11:01:49+08:00",
"space_id": 31,
"extend": "{\"points\": 4000, \"profile\": {\"is_freebie\": true}}",
"product": "Pixso",
"end_at": "2099-12-31T23:59:59+08:00",
"goods_id": "Pixso-AIGC-Organization-Business-Freebie",
"category": "AIGC",
"created_at": "0001-01-01T00:00:00Z"
}
]
}批量获取企业席位分配情况
Router :/v1/file/seat/list [POST]
| 参数名 | 参数类型 | 描述 | 是否必传 |
|---|---|---|---|
| enterprise_id_list | uint64 | 企业id 列表 | 是 |
curl --location \
--request POST \
'{Prefix}/v1/file/seat/list'
--header 'Authorization: Bearer {AccessToken}'
--data '{"enterprise_id_list":[11,12,13]}'分配子企业席位
Router :/v1/file/seat [PUT]
| 参数名 | 参数类型 | 描述 | 是否必传 |
|---|---|---|---|
| enterprise_id | uint64 | 指定子企业id | 否 |
| enterprise_unique_id | string | 指定子企业唯一键;都未指定时,默认当前企业 | 否 |
| license_type | string | 席位类型 design,board,proto | 是 |
| seat_quantity | int | 编辑席位数量 | 是 |
curl --location \
--request PUT \
'{Prefix}/v1/file/seat'
--header 'Authorization: Bearer {AccessToken}'
--data '{"enterprise_id":11,"license_type":"pixso","seat_quantity":10}'其他说明
错误码
| 错误码 | 错误信息 | 描述 |
|---|---|---|
| 110001 | too may request | 接口访问触发限流 |
| 110002 | invalid parameter | 参数错误 |
| 110003 | out of level | 权限错误 |
| 110004 | not found | 对象不存在 |
| 110011 | internal server error | 服务器内部错误 |
| 149003 | signature err | 签名错误 |
| 190001 | server error | 服务器错误 |
| 190002 | out of level | 权限不足 |
| 190003 | invalid parameter | 参数错误 |
| 190101 | user not found | 用户不存在 |
| 190102 | enterprise not found | 企业不存在 |
| 190103 | enterprise error | 企业错误 |
| 190201 | team not found | 团队不存在 |
| 190301 | folder not found | 项目不存在 |
| 190304 | folder out of limit | 项目超出使用限制 |
| 190401 | file not found | 文件不存在 |
| 190402 | file type err | 文件类型错误 |
| 190501 | member not found | 成员不存在 |
| 190502 | member already exist | 成员已经存在 |
| 190503 | owner cannot modify | 所有者不允许被修改 |
| 190504 | same as the old one | 设置的和旧的一样 |
权限值
| 权限值 | 权限信息 |
|---|---|
| 0 | 无 |
| 11 | 原型可演示 |
| 22 | 可读权限 |
| 44 | 可写权限 |
| 66 | 管理员权限 |
| 88 | 所有者权限 |
更新日志
v2.2
v2.1
v1.83
- 新增 获取企业权益列表
- 新增 修改企业员工的原型席位
v1.80
v1.79
v1.69
- 新增 从回收站中恢复文件
- 新增 归档恢复
- 新增 从回收站中彻底删除文件
v1.65
- 新增 修改文件链接分享权限
v1.64
- 新增 复制文件
- 新增 移动文件
- 更新 批量获取文件封面对象列表 增加通过文件key的方式获取封面
v1.62
- 新增 导出静态文件