Skip to content

OpenAPI 文档

[TOC]

访问授权

大致授权流程如下,其中:

Client 表示集成应用(安全考虑,只建议在服务端获取访问凭证);

Authorization Server 表示授权服务器。

     +---------+                                  +---------------+
     |         |                                  |               |
     |         |>--(A)- Client Authentication --->| Authorization |
     | Client  |                                  |     Server    |
     |         |<--(B)---- Access Token ---------<|               |
     |         |                                  |               |
     +---------+                                  +---------------+

0. 注意事项

Host 说明

  1. 公网版本

  2. 私有化部署

    http[s]😕/

    :请以实际部署为准

1. 获取 client_id 、client_secret

通过 企业后台: OpenAPI管理 -> 应用详情 -> 凭证信息 获取 client_id (App ID) 与 client_secret ( Secret)。

创建 企业应用 步骤,具体请参考《Pixso 企业版使用说明(管理员).pdf》。

2. 获取授权访问凭证

接口说明

第三方应用获取授权访问凭证。

请求格式

描述定义
Path/api/oauth/oauth/token
MethodPOST
Content-Typemultipart/form-data
Acceptapplication/json

请求体

参数名类型必选描述
grant_typestring授权类型,固定 client_credentials
scopestring授权操作列表,以空格拼接,all_scopes 表示全部
client_idstring应用 id
client_secretstring应用密钥

响应体

参数名类型描述
access_tokenstring访问令牌
expires_ininteger过期时间,单位秒
scopestring授权操作列表,以空格拼接,all_scopes 表示全部
token_typestring令牌类型:bearer, 按 Bearer {access_token} 拼接访问凭证

请求示例

shell
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}"'

响应示例

json
{
  "access_token": "JWT Token",
  "expires_in": 1800,
  "scope": "all_scopes",
  "token_type": "bearer"
}

以上为访问授权相关内容。


以下为 OpenAPI 接入相关内容。

接入说明

OpenAPI Prefix

  1. 公网版本

  2. 私有化部署

    http[s]😕/{企业内部域名}/openapi

    :请以实际部署为准

请求规范说明

  • 网络协议:HTTPS协议,私有化以实际部署为准。

  • 编码格式:UTF-8编码。

  • 请求方法:GETPOSTPUTPATCHDELETE(具体方法见接口描述)。

  • 请求参数:支持3种,分别为Path Parameters(路径参数)、Query Parameters(查询参数)和Body Parameters(请求体参数)。

  • 请求头部:需要使用Authorization携带AccessToken,用于后台的认证与鉴权。

  • 权限说明:接口描述会标注AccessToken需要的scope,而scope则依赖第三方应用的所获得的scope和发起授权时指定的scope

  • 响应结果:JSON数据格式。API 的响应体结构包含code、msg、data三个部分,有的只包含code、msgcode为返回码,msg 为返回码描述,data为调用 API 后返回的结果;如果code 不为0200则认为请求失败,失败信息可参考msg

响应体

参数名类型描述
codeinteger业务返回码
msgstring业务返回码描述
datajson业务数据

msg仅作为参考,后续可能会有变动,不可作为是否成功调用的判断依据。

字段说明

企业成员信息字段说明

参数名类型描述
e_idinteger企业 ID
user_idinteger用户 ID,企业用户的唯一标识
account_idinteger账号 ID,物理账号的唯一标识
statusinteger账号状态——1:状态正常;-1:已注销;-2:已冻结
emailstring邮箱
mobilestring手机号
unique_idstring域账号,对应鉴权系统中的用户唯一键,如 username
nick_namestring昵称
avatar_urlstring头像链接
departmentstring部门
titlestring职位
staff_statusinteger员工状态—— 1:在职;-1:离职
created_atstring加入时间,标准时间格式(2022-05-09T09:16:36+08:00
is_administratorboolean是否为管理员
is_ownerboolean是否为企业所有者

团队基础信息字段说明

参数名类型描述
id/team_idinteger团队 ID
namestring团队名字
space_idinteger空间 ID (同企业 ID; 语义上的区别:空间指的是企业内产品空间)
creator_idinteger创建者 ID
descriptionstring团队描述
avatar_keystring团队头像唯一标识
avatar_statusstring团队头像审核状态——pass:通过;block:不通过;review:审核中
created_attime团队创建时间

项目基础信息字段说明

参数名类型描述
id/folder_idinteger项目 ID
namestring项目名字
descriptionstring项目描述
creator_idinteger创建者 ID
team_idinteger团队 ID
levelinteger项目类型 ——0:团队成员无权限;22:团队成员可查看;44:团队成员可编辑
created_attime项目创建时间
updated_attime项目更新时间

文件基础信息字段说明

参数名类型描述
file_keystring文件唯一标识
folder_idinteger项目 ID
team_idinteger团队 ID
space_idinteger空间 ID (同企业 ID; 语义上的区别:空间指的是企业内产品空间)
creator_idinteger创建者 ID
namestring文件名字
descriptionstring文件描述
object_pointstring存储服务上的 key
avatar_keystring封面唯一标识
thumb_guidstring以画布做为封面场景下:画布 thumb_guid
metastring以画布做为封面场景下:画布 meta
levelinteger项目类型 ——0:所有人无权限;22:所有人可查看;44:所有人可编辑
frominteger文件来源
typeinteger文件类型——10:pixso 文件;11:原型文件;20:board 文件;31:AxureHtml 文件
modify_attime文件画布内容修改时间
created_attime创建时间
updated_attime更新时间
trashed_attime进入回收站的时间

权限基本信息字段说明

参数名类型描述
is_invitedinteger是否被邀请
levelinteger权限角色——1:owner;2:管理员;3:可写;4:只读
resource_typestring消息类型——team:团队;folder:项目;file:文件
resource_id_or_keystring团队/项目/文件唯一标识
created_attime创建时间
updated_attime更新时间

历史版本信息字段说明

参数名类型描述
idstring历史版本唯一id
file_keystring文件唯一标识
namestring历史版本名字
descriptionstring历史版本描述
object_pointstring历史版本在存储服务上的 key
typeinteger历史版本类型 ——0:所有类型;1:自动保存的版本;2:手动保存的版本;3:自动保存的经过手动修改
share_linkstring历史版本的分享链接,需要处于开启状态才有值;通过拼接企业域名和分享前缀得到跳转链接。eg: https://pixso.cn/app/share/f/{share_link}
created_attime创建时间

团队用户信息说明

参数名类型描述
team_idinteger团队id
user_idinteger资产指派用户id
unique_idstring资产指派用户 unique_id

:user_id和unique_id至少填一个

新增团队成员信息说明

参数名类型描述
team_idinteger团队id
levelinteger权限值,22,44,66 分别表示查看者,编辑者,管理员
user_idinteger用户id
unique_idstring私有化unique_id

:user_id和unique_id至少填一个

删除团队成员信息说明

参数名类型描述
team_idinteger团队id
user_idinteger用户id
unique_idstring私有化unique_id

:user_id和unique_id至少填一个

权益信息字段说明

参数名类型描述
typeint权益类型; -1: 试用, 1: 正式购买, 2: 赠送
currentstring服务器时间,UTC时间
edit_seatint席位总数; 此项当category为:Design、Whiteboard、Proto方才有效
edit_numint已分配席位数; 此项当category为:Design、Whiteboard、Proto方才有效
start_atstring权益生效时间,东八区时间
space_iduint64空间id
extendstring拓展信息,json字符串
productstring产品信息
end_atstring权益结束时间,东八区时间
goods_idstring订单id
categorystring类别; 设计权益:Design、白板权益:Whiteboard、原型权益:Proto
created_atstring权益入库时间

接口文档

企业

母企业拥有子企业的权限,子企业仅拥有自己的权限。没有多租户的情况下,请忽略下面传参中的 enterprise_id,enterprise_unique_id

获取企业列表

Router :/v1/ent/list [POST]

参数名参数类型描述是否必传
enterprise_id_listuint64 列表企业id
enterprise_unique_id_liststring 列表企业unique_id
shell
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_namestring企业名称
owner_namestring企业所有者姓名;最好指定一下
owner_unique_idstring企业所有者 unique_id
e_name_enstring企业英文名称
owner_idinteger企业所有者 account_id
enterprise_unique_idstring第三方企业 unique_id
identification_idstring企业识别号
business_licensestring营业执照
profilemap[string]any企业其他信息
shell
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_iduint64用户 id
unique_idstring用户 unique_id,需要有一个用户,建议用用户id
enterprise_iduint64企业id
enterprise_unique_idstring第三方企业 unique_id,都未指定时默认当前企业
shell
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_namestring企业名称
enterprise_iduint64企业id
enterprise_unique_idstring第三方企业 unique_id
shell
curl --location \
--request PUT \
'{Prefix}/v1/ent/name' \
--header 'Authorization: Bearer {AccessToken}' \
--header 'Content-Type: application/json' \
--data '{
    "e_name":"aa2",
}'

Router :/v1/ent/logo [PUT]

参数名参数类型描述是否必传
filefilelogo图片
enterprise_iduint64企业id
enterprise_unique_idstring第三方企业 unique_id
shell
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_iduint64企业id
unique_idstring用户 unique_id,需要有一个用户
role_listint 列表筛选成员角色,默认不筛选【1 在职; -1 离职】
status_listint 列表筛选成员状态,默认不筛选 【1 管理员; 2 所有者】
shell
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_idinteger用户 ID,用户信息中的 user_id
shell
curl --location \
--request GET \
'{Prefix}/v1/staff?user_id={integer}' \
--header 'Authorization: Bearer {AccessToken}'

响应示例

json
{
  "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]

参数名参数类型描述是否必传
appstring应用名: pixso / board
enterprise_iduint64指定子企业id
enterprise_unique_idstring指定子企业唯一键;都未指定时,默认当前企业
shell
curl --location \
--request GET \
'{Prefix}/v1/staff/list' \
--header 'Authorization: Bearer {AccessToken}'

响应示例

json
{
  "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]

参数名参数类型描述是否必传
appstring应用名: pixso / board
last_item_idint分页的游标,取前一页的返回值,首页不需要传。
sizeint分页的大小
enterprise_iduint64指定子企业id
enterprise_unique_idstring指定子企业唯一键;都未指定时,默认当前企业
shell
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_idsarray用户信息中的 user_id (数组长度限制1000)
shell
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]
}'

响应示例

json
{
  "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]

参数名参数类型描述是否必传
usernamestring域账号, 用户信息中的 unique_id
enterprise_iduint64指定子企业id
enterprise_unique_idstring指定子企业唯一键;都未指定时,默认当前企业
shell
curl --location \
--request GET \
'{Prefix}/v1/staff/unique?username={unique_id}' \
--header 'Authorization: Bearer {AccessToken}'

响应示例

json
{
  "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_idsarray域账号, 用户信息中的 unique_id (数组长度限制1000)
enterprise_iduint64指定子企业id
enterprise_unique_idstring指定子企业唯一键;都未指定时,默认当前企业
shell
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"]
}'

响应示例

json
{
  "code": 200,
  "msg": "[code-200] OK",
  "data": {
    "id_1": 1,
    "id_2": 0,
    "id_3": 25290695
  }
}

搜索企业成员 (姓名)

Router :/v1/staff/search [GET]

参数名参数类型描述是否必传
appstring应用名: pixso / board
namestring用户名,遵循最左匹配原则
enterprise_iduint64指定子企业id
enterprise_unique_idstring指定子企业唯一键;都未指定时,默认当前企业
shell
curl --location \
--request GET \
'{Prefix}/v1/staff/search?name=test' \
--header 'Authorization: Bearer {AccessToken}'

响应示例

json
{
  "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]

参数名参数类型描述是否必传
accountstring第三方的唯一键,对应unique_id
nick_namestring昵称
emailstring邮箱
avatar_urlstring头像地址,http(s)可访问地址
mobilestring手机号
titlestring头衔
departmentstring部门
employee_idstring工号
enterprise_iduint64指定子企业id
enterprise_unique_idstring指定子企业唯一键;都未指定时,默认当前企业

注:此接口成功返回 企业成员的 user_id

shell
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]

参数名参数类型描述是否必传
emailstring邮箱
mobilestring手机号
unique_idstring域账号,对应鉴权系统中的用户唯一键,如 username
namestring昵称
enterprise_iduint64指定子企业id
enterprise_unique_idstring指定子企业唯一键;都未指定时,默认当前企业

注:此接口成功返回 企业成员的 user_id

shell
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"
}'

响应示例

json
{
  "code": 200,
  "msg": "code-200",
  "data": 20125352
}

增加企业成员信息(批量)

Router :/v1/staff/add/batch [POST]

参数名参数类型描述是否必传
usersarray用户列表(0 < length <= 1000)
enterprise_iduint64指定子企业id
enterprise_unique_idstring指定子企业唯一键;都未指定时,默认当前企业

注:此接口不返回错误,返回失败的列表项

shell
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"
	}]
}'

响应示例

json
{
  "code": 200,
  "msg": "code-200",
  "data": [
    {
      "name": "string",
      "unique_id": "string",
      "mobile": "string",
      "email": "string"
    }
  ]
}

设置企业成员状态

Router :/v1/staff/status [PUT]

参数名参数类型描述是否必传
staff_statusinteger状态,有效值:1,-1;1=在职,-1=离职
user_iduint64用户 id
unique_idstring用户 unique_id,需要有一个用户,建议用用户id
enterprise_iduint64指定子企业id
enterprise_unique_idstring指定子企业唯一键;都未指定时,默认当前企业

注:此接口不返回错误,返回失败的列表项

shell
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
}'

响应示例

json
{
  "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]

参数名参数类型描述是否必传
roleinteger角色,有效值:0 普通成员,1管理员
user_iduint64用户 id
unique_idstring用户 unique_id,需要有一个用户,建议用用户id
enterprise_iduint64指定子企业id
enterprise_unique_idstring指定子企业唯一键;都未指定时,默认当前企业

注:此接口不返回错误,返回失败的列表项

shell
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]

参数名参数类型描述是否必传
namestring团队名(长度限制 :1-100)
descriptionstring描述 (长度限制 :0-200)
user_iduint64用户 id
unique_idstring用户 unique_id,需要有一个用户,建议用用户id
enterprise_iduint64指定子企业id
enterprise_unique_idstring指定子企业唯一键;都未指定时,默认当前企业

注:unique_id和user_id至少传一个

shell
curl --location \
--request POST \
'{Prefix}/v1/team' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {AccessToken}' \
--data-raw '{
    "user_id": 18552003,
    "name":"团队名",
    "description":"创建一个团队"
}'

响应示例

json
{
  "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_iduint64团队 id
namestring团队名(长度限制 :1-100)
descriptionstring描述 (长度限制 :0-200)
shell
curl --location \
--request PUT \
'{Prefix}/v1/team' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {AccessToken}' \
--data-raw '{
    "team_id": 10325,
    "name":"团队名2",
    "description":"创建一个团队"
}'

响应示例

json
{
  "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_iduint64团队 id
shell
curl --location \
--request GET 'https://dev.pixso.design/api/pix/v1/team?team_id=10325' \
--header 'Authorization: Bearer {AccessToken}'

响应示例

json
{
  "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_iduint64指定子企业id
enterprise_unique_idstring指定子企业唯一键;都未指定时,默认当前企业
shell
curl --location \
--request GET 'https://dev.pixso.design/api/pix/v1/team/list' \
--header 'Authorization: Bearer {AccessToken}'

响应示例

json
{
  "code": 200,
  "msg": "",
  "data": [
    {
      "team_info": {},
      "creator": {}
    }
  ]
}

根据团队id获取团队

Router :/v1/team/list [POST]

参数名参数类型描述是否必传
id_listuint64 列表团队 id 列表
enterprise_iduint64指定子企业id
enterprise_unique_idstring指定子企业唯一键;都未指定时,默认当前企业
shell
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]}'

响应示例

json
{
  "code": 200,
  "msg": "",
  "data": [
    {
      "team_info": {},
      "creator": {}
    }
  ]
}

根据团队id获取团队统计信息

Router :/v1/team/statistics [GET]

参数名参数类型描述是否必传
team_iduint64团队 id
shell
curl --location \
--request GET 'https://dev.pixso.design/api/pix/v1/team/statistics?team_id=10325' \
--header 'Authorization: Bearer {AccessToken}'

响应示例

json
{
  "code": 200,
  "msg": "",
  "data": {
    "team_id": 10245,
    "folder_count": 2,
    "file_count": 11
  }
}

根据团队id获取团队统计信息[批量]

Router :/v1/team/statistics/list [POST]

参数名参数类型描述是否必传
team_id_listuint64 列表团队 id
shell
curl --location \
--request POST 'https://dev.pixso.design/api/pix/v1/team/statistics/list' \
--header 'Authorization: Bearer {AccessToken}' \
--data '{"team_id_list":[10245]}'

响应示例

json
{
  "code": 200,
  "msg": "",
  "data": [
    {
      "team_id": 10245,
      "folder_count": 2,
      "file_count": 11
    }
  ]
}

删除团队

Router :/v1/team [DELETE]

参数名参数类型描述是否必传
team_iduint64团队 id
shell
curl --location \
--request DELETE \
'{Prefix}/v1/team?team_id=10325' \
--header 'Authorization: Bearer {AccessToken}'

响应示例

json
{
  "code": 200,
  "msg": ""
}

获取员工对应权限的团队

Router :/v1/team/user/team-list [GET]

参数名参数类型描述是否必传
staff_iduint64员工 id
levelint权限值(有效值:22,44,66,88;缺省值为 22)
shell
curl --location \
--request GET \
'{Prefix}/v1/team/user/team-list?staff_id=24367171&level=22' \
--header 'Authorization: Bearer {AccessToken}'

响应示例

json
{
  "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_iduint64团队 id
levelint权限值(有效值:22,44,66)
user_iduint64用户 id
unique_idstring用户 unique_id,需要有一个用户,建议用用户id
enterprise_iduint64指定子企业id
enterprise_unique_idstring指定子企业唯一键;都未指定时,默认当前企业
shell
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
}'

响应示例

json
{
  "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]

参数名参数类型描述是否必传
membersarray团队成员信息 见新增团队成员信息说明;
enterprise_iduint64企业id
enterprise_unique_idstring第三方企业 unique_id
shell
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
      }
    ]
}'

响应示例

json
{
  "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_iduint64团队 id
shell
curl --location \
--request GET \
'{Prefix}/v1/team/member?team_id=10325' \
--header 'Authorization: Bearer {AccessToken}'

响应示例

json
{
  "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_iduint64用户 id
unique_idstring用户 unique_id,需要有一个用户,建议用用户id
team_iduint64团队 id
levelint权限值(有效值:22,44,66)
shell
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
}'

响应示例

json
{
  "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_iduint64用户 id
unique_idstring用户 unique_id,需要有一个用户,建议用用户id
team_iduint64团队 id
shell
curl --location \
--request DELETE \
'{Prefix}/v1/team/member?user_id=22798989&team_id=10325' \
--header 'Authorization: Bearer {AccessToken}'

响应示例

json
{
  "code": 200,
  "msg": "",
  "data": {}
}

修改团队所有者

Router :/v1/team/owner/modify [PUT]

参数名参数类型描述是否必传
team_iduint64团队 id
owneruint64新的所有者 id
owner_unique_idstring新的所有者 unique_id, 需要有一个用户,建议用用户id
enterprise_iduint64企业id;用用户unique_id时,需要指定企业,不指定默认当前企业
enterprise_unique_idstring第三方企业 unique_id ;可以替代企业id
shell
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
}'

响应示例

json
{
  "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_liststring 列表头像唯一标识列表
shell
curl --location \
--request POST \
'{Prefix}/v1/team/avatars' \
--header 'Authorization: Bearer {AccessToken}'
--data-raw '{
    "avatar_key_list": ["TCXRxQJFiy2c2GxxxxYUeA"]
}'

响应示例

json
{
  "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_idinteger资产所属用户 id
staff_unique_idstring资产所属用户 unique_id
user_team_listarray团队资产指派映射信息,见团队用户信息说明;获取企业内所有团队参考获取企业内所有团队
handoverinteger资产交接保底用户,当有团队未指派用户交接,则默认交接给此用户
handover_unique_idstring资产交接保底用户 unique_id

  • staff_id 和 staff_unique_id 二选一作为入参
  • handover 和 handover_unique_id 二选一作为入参
shell
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"
}'

响应示例

json
{
  "code": 200,
  "msg": ""
}

归档恢复

Router :/v1/team/archive [POST]

参数名参数类型描述是否必传
idinteger待恢复的归档id
receiverinteger接收者user_id,当归档类型为'team'时此项必传
team_idinteger接收团队的id,当归档类型为'folder'时此项必传
folder_idinteger接收项目的id,当归档类型为'directory' 或 'person_directory'时此项必传; 当归档类型为'file'或'person_file'时,若传folder_id不传directory_id,此时会将归档恢复到指定项目下
directory_idinteger接收文件夹id,选填且仅针对归档类型为'file'或'person_file'生效,传该参数后会将归档恢复到对应文件夹中去
shell
curl --location \
--request POST \
'{Prefix}/v1/team/archive' \
--header 'Authorization: Bearer {AccessToken}' \
--header 'Content-Type: application/json' \
--data-raw '{
    "folder_id": 174930,
    "id": 38422
}'

响应示例

json
{
  "code": 200,
  "msg": ""
}

批量删除团队成员

Router :/v1/team/member/del/batch [POST]

参数名参数类型描述是否必传
membersarray团队成员信息 见删除团队成员信息说明;
enterprise_iduint64企业id
enterprise_unique_idstring第三方企业 unique_id
shell
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
        }
    ]
}'

响应示例

json
{
  "code": 200,
  "msg": ""
}

项目

创建项目

Router :/v1/folder [POST]

参数名参数类型描述是否必传
user_iduint64用户 id
team_iduint64团队 id
levelint团队成员在项目中拥有的权限(有效值:0,22,44)
namestring团队名(长度限制 :1-100)
descriptionstring描述 (长度限制 :0-200)
shell
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":"创建一个项目"
}'

响应示例

json
{
  "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_iduint64项目 id
namestring团队名(长度限制 :1-100)
descriptionstring描述 (长度限制 :0-200)
shell
curl --location \
--request PUT \
'{Prefix}/v1/folder' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {AccessToken}' \
--data-raw '{
    "folder_id": 100398,
    "name":"项目名二",
    "description":"修改一个项目"
}'

响应示例

json
{
  "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_iduint64项目 id
shell
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
}'

响应示例

json
{
  "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_iduint64团队 id
shell
curl --location \
--request GET \
'{Prefix}/v1/team/folder/list?team_id=10245' \
--header 'Authorization: Bearer {AccessToken}'

响应示例

json
{
  "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_listuint64 列表团队 id 列表
level_listint 列表权限值列表
shell
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]
}'

响应示例

json
{
  "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_iduint64项目 id
shell
curl --location \
--request DELETE \
'{Prefix}/v1/folder?folder_id=100397' \
--header 'Authorization: Bearer {AccessToken}'

响应示例

json
{
  "code": 200,
  "msg": ""
}

修改项目类型

Router :/v1/folder/level [PUT]

参数名参数类型描述是否必传
folder_iduint64项目 id
levelint团队成员在项目中拥有的权限(有效值:0,22,44)
shell
curl --location \
--request PUT \
'{Prefix}//v1/folder/level' \
--header 'Authorization: Bearer {AccessToken}' \
--data-raw '{
    "folder_id":100397,
    "level":44
}'

响应示例

json
{
  "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_iduint64用户 id
folder_iduint64项目 id
levelint权限值(有效值:22,44,66)
shell
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
}'

响应示例

json
{
  "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_listuint64 列表项目 id 列表
user_id_listint 列表用户 id 列表
levelint权限值(有效值:22,44,66)

注:已存在在项目中的成员将会忽略,不更新权限,也不报错

shell
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
}'

响应示例

json
{
  "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_iduint64项目 id
shell
curl --location \
--request POST \
'{Prefix}/v1/folder/member?folder_id=100397' \
--header 'Authorization: Bearer {AccessToken}'

响应示例

json
{
  "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_idint64用户 id
folder_iduint64项目 id
levelint权限值(有效值:22,44,66)
shell
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
}'

响应示例

json
{
  "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_idint64用户 id
folder_iduint64项目 id
shell
curl --location \
--request DELETE \
'{Prefix}/v1/folder/member?folder_id=100397&user_id=22798989' \
--header 'Authorization: Bearer {AccessToken}'

响应示例

json
{
  "code": 200,
  "msg": "",
  "data": {}
}

批量删除项目列表中的用户

Router :/v1/folder/multi-member [DELETE]

参数名参数类型描述是否必传
folder_id_listuint64 列表项目 id 列表
user_id_listint 列表用户 id 列表
shell
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]
}'

响应示例

json
{
  "code": 200,
  "msg": ""
}

修改项目所有者

Router :/v1/folder/owner/modify [PUT]

参数名参数类型描述是否必传
owneruint64新的所有者
folder_iduint64项目 id
shell
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
}'

响应示例

json
{
  "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_listuint64 列表项目唯一标识列表
shell
curl --location \
--request POST \
'{Prefix}/v1/folder/info/list' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {AccessToken}' \
--data-raw '{
    "folder_id_list": [1]
}'

响应示例

json
{
  "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_iduint64用户ID
team_id_listuint64 列表团队ID列表。不传或为空数组时,返回该用户所有的项目最终权限;不为空时,仅返回该用户的指定团队下所有项目的最终权限
leveluint希望获取的最终权限值(有效值:0,22,44,66,88)。level不为空时,接口返回的结果将根据该值过滤,仅返回最终权限大于或等于level的结果;为空时返回所有结果

注:结果中有两个level属性,外层level表示用户在该项目中的最终权限;内层level表示项目的权限属性

shell
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
}'

响应示例

json
{
  "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_iduint64用户 id
unique_idstring用户 unique_id,需要有一个用户,建议用用户id
team_iduint64团队 id (团队和项目至少要有一个)
folder_iduint64项目 id (如果项目id 不传,则归属给团队第一个项目;团队下没有项目时会新建一个)
namestring文件名 (长度限制 :1-100)
directory_iduint64文件夹id
descriptionstring描述 (长度限制 :0-200)
typeint文件类型(默认为设计文件;10:设计文件,11:原型文件,20:白板文件,31:AxureHtml文件)
enterprise_iduint64企业id
enterprise_unique_idstring第三方企业 unique_id
file_keystring文件key 特殊情况,可以指定文件的key创建,慎用
edit_seat_limitbool是否校验席位限制
extendmap[string]any扩展字段

注:unique_id和user_id至少传一个

shell
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,
}'

响应示例

json
{
  "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_iduint64用户 id
unique_idstring用户 unique_id,需要有一个用户,建议用用户id
team_iduint64团队 id (团队和项目至少要有一个)
folder_iduint64项目 id (如果项目id 不传,则归属给团队第一个项目;团队下没有项目时会新建一个)
namestring文件名 (长度限制 :1-100)
directory_iduint64文件夹id
descriptionstring描述 (长度限制 :0-200)
typeint文件类型(默认为设计文件;10:设计文件,11:原型文件,20:白板文件,31:AxureHtml文件)
enterprise_iduint64企业id
enterprise_unique_idstring第三方企业 unique_id
file_keystring文件key 特殊情况,可以指定文件的key创建,慎用
edit_seat_limitbool是否校验席位限制
extendmap[string]any扩展字段

注:unique_id和user_id至少传一个

shell
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,
}'

响应示例

json
{
  "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_keystring文件 key
namestring文件名(长度限制 :1-100)
descriptionstring描述 (长度限制 :0-200)
shell
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":"修改一个文件"
}'

响应示例

json
{
  "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_iduint64文件创作者 id
folder_iduint64项目 id
namestring文件名 (长度限制 :1-100)
descriptionstring描述 (长度限制 :0-200)
filefile静态文件压缩包
shell
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"''

响应示例

json
{
  "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_keystring文件 key
creator_iduint64文件创作者 id
namestring文件名 (长度限制 :1-100)
descriptionstring描述 (长度限制 :0-200)
filefile静态文件压缩包
shell
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"''

响应示例

json
{
  "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_iduint64项目id;没有传参时,放到团队的第一个项目
team_iduint64团队id;没有传参时
creator_iduint64文件创作者 id
namestring文件名 (长度限制 :1-100) 没有传参时用.pix文件名代替
descriptionstring描述 (长度限制 :0-200)
filefilepixso 设计文件压缩包 【可带图片】
edit_seat_limitbool是否校验席位限制
shell
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"''

响应示例

json
{
  "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_iduint64项目id;没有传参时,放到团队的第一个项目
team_iduint64团队id;没有传参时
creator_iduint64文件创作者 id
namestring文件名 (长度限制 :1-100) 没有传参时用.pix文件名代替
descriptionstring描述 (长度限制 :0-200)
filefilepixso 设计文件
edit_seat_limitbool是否校验席位限制
shell
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_keystring文件 key
shell
curl --location \
--request POST \
'{Prefix}/v1/file/download/static' \
--header 'Authorization: Bearer {AccessToken}' \
--data '{
    "file_key":"alZvADQgtVDfjdQviH6Vxg"
}'

获取文件信息

Router :/v1/file [GET]

参数名参数类型描述是否必传
file_keystring文件 key
shell
curl --location \
--request GET \
'{Prefix}/v1/file?file_key=9-oX-D4bpylghlJPyB03wg' \
--header 'Authorization: Bearer {AccessToken}'

响应示例

json
{
  "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 列表
shell
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"]
}'

响应示例

json
{
  "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_keystring文件 key
directory_iduint64文件夹id
team_iduint64团队 id (团队和项目至少要有一个)
folder_iduint64项目 id (如果项目id 不传,则归属给团队第一个项目)
unique_idstring用户 unique_id,需要有一个用户,建议用用户id
user_iduint64用户的id
edit_seat_limitbool是否校验席位限制

注:unique_id和user_id至少传一个

shell
curl --location \
--request POST \
'{Prefix}/v1/file/copy' \
--header 'Authorization: Bearer {AccessToken}'
--data-raw '{
    "file_key": "9jqU98ULQAQxxxoPLWXhfA",
    "folder_id": 1,
    "unique_id": "11"
}'

响应示例

json
{
  "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_keystring文件 key
team_iduint64团队 id (团队和项目至少要有一个)
folder_iduint64项目 id (如果项目id 不传,则归属给团队第一个项目)
directory_iduint64文件夹id
enterprise_iduint64指定子企业id
enterprise_unique_idstring指定子企业唯一键;都未指定时,默认当前企业
shell
curl --location \
--request POST \
'{Prefix}/v1/file/move' \
--header 'Authorization: Bearer {AccessToken}'
--data-raw '{
    "file_key": "w53-4GsMyvBwj3jmK_LFQQ",
    "folder_id": 1 
}'

响应示例

json
{
  "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_iduint64项目 id
shell
curl --location \
--request GET \
'{Prefix}/v1/folder/file/list?folder_id=100397' \
--header 'Authorization: Bearer {AccessToken}'

响应示例

json
{
  "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_iduint64用户id
levelint支持通过权限值过滤(数值范围:0,22,44,88)
shell
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
}'

响应示例

json
{
  "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_keystring文件 key
shell
curl --location \
--request DELETE \
'{Prefix}/v1/file?file_key=9-oX-D4bpylghlJPyB03wg' \
--header 'Authorization: Bearer {AccessToken}'

响应示例

json
{
  "code": 200,
  "msg": ""
}

通过文件邀请链接获取文件信息

Router :/v1/file/link/check [POST]

参数名参数类型描述是否必传
link_codestring文件分享链接码
shell
curl --location \
--request POST \
'{Prefix}/v1/file/link/check' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {AccessToken}' \
--data-raw '{
    "link_code": "8PN55lVmFpEABwNy9c3JR5VqF4dVowFl"
}'

响应示例

json
{
  "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_iduint64用户 id
file_keystring文件 key
shell
curl --location \
--request GET \
'{Prefix}/v1/file/role?file_key=nFWbmGS_H0GkOSZ5YG-Nzw&user_id=18552003' \
--header 'Authorization: Bearer {AccessToken}'

响应示例

json
{
  "code": 200,
  "msg": "",
  "data": {
    "level": 88,
    "file_key": "nFWbmGS_H0GkOSZ5YG-Nzw"
  }
}

添加文件成员

Router :/v1/file/member [POST]

参数名参数类型描述是否必传
user_iduint64用户 id
file_keystring文件 key
levelint权限值(有效值:22,44)
enterprise_iduint64指定子企业id
enterprise_unique_idstring指定子企业唯一键;都未指定时,默认当前企业
shell
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
}'

响应示例

json
{
  "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_liststring 列表文件 key 列表
user_id_listint 列表用户 id 列表
levelint权限值(有效值:22,44)
enterprise_iduint64指定子企业id
enterprise_unique_idstring指定子企业唯一键;都未指定时,默认当前企业

注:已存在在文件中的成员将会忽略,不更新权限,也不报错

shell
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
}'

响应示例

json
{
  "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_keystring文件 key
shell
curl --location \
--request GET \
'{Prefix}/v1/file/member?file_key=9-oX-D4bpylghlJPyB03wg' \
--header 'Authorization: Bearer {AccessToken}'

响应示例

json
{
  "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_iduint64用户 id
file_keyuint64文件 key
levelint权限值(有效值:22,44)
shell
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
}'

响应示例

json
{
  "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_iduint64用户 id
file_keyuint64文件 key
shell
curl --location \
--request DELETE \
'{Prefix}/v1/file/member?user_id=22798989&file_key=9-oX-D4bpylghlJPyB03wg' \
--header 'Authorization: Bearer {AccessToken}'

响应示例

json
{
  "code": 200,
  "msg": ""
}

批量删除文件列表中的用户

Router :/v1/file/multi-member [DELETE]

参数名参数类型描述是否必传
file_key_liststring 列表文件 key 列表
user_id_listint 列表用户 id 列表
shell
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"]
}'

响应示例

json
{
  "code": 200,
  "msg": ""
}

批量清空文件的成员

Router :/v1/file/member/all [DELETE]

参数名参数类型描述是否必传
enterprise_iduint64指定子企业id
enterprise_unique_idstring指定子企业唯一键;都未指定时,默认当前企业
file_key_liststring 列表文件 key 列表
shell
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]

参数名参数类型描述是否必传
owneruint64新的所有者
file_keystring文件 key
shell
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
}'

响应示例

json
{
  "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_iduint64新的所有者
unique_idstring新的所有者的unique_id
file_key_liststring array文件 key 列表

:user_id 和 unique_id二选一

shell
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"
}'

响应示例

json
{
  "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_iduint64团队id
folder_iduint64项目id
user_iduint64交接的用户id
unique_idstring交接的的unique_id
file_key_liststring array文件 key 列表

: 1、恢复对象为回收站的文件、已归档的文件 2、只传file_key_list会尝试将文件恢复到原来的地方,user_id和unique_id选一个,不传会交给原来的人(如果它还在的话)

shell
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"]
}'

响应示例

json
{
  "code": 200,
  "msg": "code-0",
  "data": {}
}

批量获取企业成员席位值

Router :/v1/file/file-level/list [POST]

参数名参数类型描述是否必传
staff_id_listuint64 列表企业员工 id 列表否 【有staff_id_list时,忽略unique_id_list】
unique_id_liststring 列表用户的唯一标识 列表
enterprise_iduint64指定子企业id
enterprise_unique_idstring指定子企业唯一键;都未指定时,默认当前企业
shell
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"]
}'

响应示例

json
{
  "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_iduint64企业员工 id
file_leveluint权限值(有效值:22,44)
shell
curl --location \
--request PUT \
'{Prefix}/v1/file/file-level' \
--header 'Authorization: Bearer {AccessToken}' \
--data-raw '{
    "staff_id":13,
    "file_level":44
}'

响应示例

json
{
  "code": 200,
  "msg": ""
}

修改企业员工的白板席位

Router :/v1/file/board/file-level [PUT]

参数名参数类型描述是否必传
staff_iduint64企业员工 id
file_leveluint权限值(有效值:22,44)
shell
curl --location \
--request PUT \
'{Prefix}/v1/file/board/file-level' \
--header 'Authorization: Bearer {AccessToken}' \
--data-raw '{
    "staff_id":13,
    "file_level":44
}'

响应示例

json
{
  "code": 200,
  "msg": ""
}

修改企业员工的原型席位

Router :/v1/file/proto/file-level [PUT]

参数名参数类型描述是否必传
staff_iduint64企业员工 id
file_leveluint权限值(有效值:22,44)
shell
curl --location \
--request PUT \
'{Prefix}/v1/file/proto/file-level' \
--header 'Authorization: Bearer {AccessToken}' \
--data-raw '{
    "staff_id":13,
    "file_level":44
}'

响应示例

json
{
  "code": 200,
  "msg": ""
}

从回收站中恢复文件

Router :/v1/file/recover [POST]

参数名参数类型描述是否必传
file_keystring待恢复文件的file_key
shell
curl --location \
--request POST \
'{Prefix}/v1/file/recover' \
--header 'Authorization: Bearer {AccessToken}' \
--header 'Content-Type: application/json' \
--data-raw '{
    "file_key": "6Q3SRMMfjWT39565NHoM0A"
}'

响应示例

json
{
  "code": 200,
  "msg": ""
}

从回收站中彻底删除文件

Router :/v1/file/destroy [POST]

参数名参数类型描述是否必传
file_keystring待彻底删除文件的file_key
shell
curl --location \
--request POST \
'{Prefix}/v1/file/destroy' \
--header 'Authorization: Bearer {AccessToken}' \
--header 'Content-Type: application/json' \
--data-raw '{
    "file_key": "6Q3SRMMfjWT39565NHoM0A"
}'

响应示例

json
{
  "code": 200,
  "msg": ""
}

从回收站中彻底删除文件【批量】

Router :/v1/file/destroy/batch [POST]

参数名参数类型描述是否必传
file_key_liststring 列表文件key列表
shell
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_liststring 列表封面唯一标识列表封面和文件标识至少要有一个
file_key_liststring 列表文件key列表
shell
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=="]
}'

响应示例

json
{
  "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_keystring文件key
levelint文件的分享权限值(有效值:0,11,22,44)[0:表示关闭分享]
public_accessboolean公开所有人可访问
cross_spaceboolean跨空间可访问;企业外部人员可访问
tourist_accessboolean游客(未登录用户)可访问
passwordboolean启用密码(此处只适用关闭密码,启用密码需要配合密码设置)
shell
curl --location \
--request POST \
'{Prefix}/v1/file/access' \
--header 'Authorization: Bearer {AccessToken}'
--data-raw '{
   "file_key":"A_dI-g6utc8aGS9m4HGa3Q",
    "password": false,
   "public_access":false
}'

响应示例

json
{
  "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_keystring文件 key
shell
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_keystring文件 key
typeint历史版本类型(0:所有版本,1:自动保存的版本,2:手动保存的版本,3:修改过的自动保存的版本,4:离线上报的版本)
shell
curl --location \
--request GET \
'{Prefix}/v1/file/version?file_key=qgQ_iuGIgiqEHh-Xrokn7g&type=1'
--header 'Authorization: Bearer {AccessToken}'

响应示例

历史版本信息字段说明

json
{
  "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_liststring 列表历史版本组合id列表
shell
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_keystring文件 key
typeint历史版本类型(1:自动保存的版本,2:手动保存的版本,3:修改过的自动保存的版本,4:离线上报的版本)
idstring历史版本唯一id
shell
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_keystring文件 key
typeint历史版本类型(1:自动保存的版本,2:手动保存的版本,3:修改过的自动保存的版本,4:离线上报的版本)
idstring历史版本唯一id
shell
curl --location \
--request GET \
'{Prefix}/v1/file/version/download?file_key=qgQ_iuGIgiqEHh-Xrokn7g&id=1677058855&type=2'
--header 'Authorization: Bearer {AccessToken}'

响应示例

json
{
  "code": 200,
  "msg": "",
  "data": {}
}

修改文件封面

Router :/v1/file/cover [PUT]

参数名参数类型描述是否必传
file_keystring文件的key 值
filefile静态文件压缩包
shell
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]

参数名参数类型描述是否必传
shastring图片的sha1 值
filefile静态文件压缩包
shell
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_keystring文件 key
shell
curl --location \
--request GET \
'{Prefix}/v1/file/library?file_key=R-b4Zpwp6ugHYo9MEJwqQg' \
--header 'Authorization: Bearer {AccessToken}'
--data-raw ''

响应示例

json
{
  "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_listuint64 列表团队id,不传不限制;
file_key_liststring 列表文件 key,不传不限制;
library_typeint资源库类型,不传不限制; 取值(0:企业资源库,1:团队资源库)
from_iduint64分组获取的起始id,首次调用不传,多组的情况下取上一组的last_id
sizeint分组获取的大小;默认值:20,范围 [1:20000]
shell
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
}'

响应示例

json
{
  "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_liststring 列表组件 key
shell
curl --location \
--request POST \
'{Prefix}/v1/file/component/list' \
--header 'Authorization: Bearer {AccessToken}'
--data '{
"component_key_list": [
"b806801437b15129b603ec6a416785f8bd33846f",
"5baf9071ee620da2f6c2e3f5fe5704c6b3cc6618",
"11111"
]
}'

响应示例

json
{
  "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_liststring 列表样式 key
shell
curl --location \
--request POST \
'{Prefix}/v1/file/style/list' \
--header 'Authorization: Bearer {AccessToken}'
--data '{
    "style_key_list": [
        "4a633cad7f91a005b53aab3d63d30e9c685a6c2b",
        "5619160f570b80a42f036d9c3e3c4695fdab7dc5",
        "111111111111111111111111111111111"
    ]
}'

响应示例

json
{
  "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_keystring资源库 key
shell
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_keystring资源库 key
shell
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_keystring资源库 key
shell
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]

参数名参数类型描述是否必传
productstring产品名称,可选值:Pixso、BoardMix,不传为全产品
interval_typestring间隔类型,按何种间隔统计,可选值:day、week、month
start_timeint64起始时间,秒级时间戳
end_timeint64终止时间,秒级时间戳
obj_typeint操作对象类型,可选值:1-pixs设计文件,2-pixso白板文件,3-pixso原型文件,4-pixsoAxure演示文件,不传查全部
space_idint64企业id,私有化传2
shell
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}'

响应示例

json
{
  "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]

参数名参数类型描述是否必传
productstring产品名称,可选值:Pixso、BoardMix,不传为全产品
interval_typestring间隔类型,按何种间隔统计,可选值:day、week、month
start_timeint64起始时间,秒级时间戳
end_timeint64终止时间,秒级时间戳
obj_typeint操作对象类型,可选值:1-pixs设计文件,2-pixso白板文件,3-pixso原型文件,4-pixsoAxure演示文件,不传查全部
space_idint64企业id,私有化传2
shell
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}'

响应示例

json
{
  "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]

参数名参数类型描述是否必传
productstring产品名称,可选值:Pixso、BoardMix,不传为全产品
interval_typestring间隔类型,按何种间隔统计,可选值:day、week、month
start_timeint64起始时间,秒级时间戳
end_timeint64终止时间,秒级时间戳
obj_typeint操作对象类型,可选值:1-pixs设计文件,2-pixso白板文件,3-pixso原型文件,4-pixsoAxure演示文件,不传查全部
space_idint64企业id,私有化传2
shell
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}'

响应示例

json
{
  "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_iduint64用户 id
statusstring离线功能设置状态;取值 [on,off,cancel]
shell
curl --location \
--request PUT \
'{Prefix}/v1/file/offline' \
--header 'Authorization: Bearer {AccessToken}'
--data '{"user_id":18552003, "status":"cancel"}'

响应示例

json
{
  "code": 200,
  "msg": ""
}

权益

获取企业权益列表

Router :/v1/file/license [GET]

参数名参数类型描述是否必传
space_iduint64空间id
shell
curl --location \
--request GET \
'{Prefix}/v1/file/license?space_id=2'
--header 'Authorization: Bearer {AccessToken}'

响应示例

权益信息字段说明

json
{
  "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_listuint64企业id 列表
shell
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_iduint64指定子企业id
enterprise_unique_idstring指定子企业唯一键;都未指定时,默认当前企业
license_typestring席位类型 design,board,proto
seat_quantityint编辑席位数量
shell
curl --location \
--request PUT \
'{Prefix}/v1/file/seat'
--header 'Authorization: Bearer {AccessToken}'
--data '{"enterprise_id":11,"license_type":"pixso","seat_quantity":10}'

其他说明

错误码

错误码错误信息描述
110001too may request接口访问触发限流
110002invalid parameter参数错误
110003out of level权限错误
110004not found对象不存在
110011internal server error服务器内部错误
149003signature err签名错误
190001server error服务器错误
190002out of level权限不足
190003invalid parameter参数错误
190101user not found用户不存在
190102enterprise not found企业不存在
190103enterprise error企业错误
190201team not found团队不存在
190301folder not found项目不存在
190304folder out of limit项目超出使用限制
190401file not found文件不存在
190402file type err文件类型错误
190501member not found成员不存在
190502member already exist成员已经存在
190503owner cannot modify所有者不允许被修改
190504same 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

v1.62

v1.58