Box服务
1.服务功能
- 云平台提供的Box服务,可以提供组织、项目、成员相关的增删改查功能,为协同服务做了有力的支撑
- Box服务不仅提供文件夹的增改查功能、也提供文件上传所需的签名等信息
- Box服务提供的文件分享功能,增强了用户对模型共享的便捷性
2.使用场景
- 云平台的协同服务是基于Box服务支持的,用户注册登录将文件上传到图模大师后,可查看模型或图纸;
注册登录服务
1.用户注册
POST https://api.cloud.pkpm.cn/bimserver/box/v3/users
请求体(BODY):
| 名称(Name) |
类型(Type) |
必填(Required) |
描述(Description) |
| clientId |
String |
否 |
ClientID |
| company |
String |
否 |
公司 |
| companyAddress |
String |
否 |
公司地址 |
| department |
String |
否 |
部门 |
| email |
String |
是 |
邮箱 |
| employeeNumber |
String |
否 |
工号 |
| kaptcha |
String |
是 |
验证码 |
| memberType |
String |
否 |
会员类型【FREE_MEMBER,SENIOR_MEMBER,SUPPER_MEMBER】 |
| origin |
String |
否 |
注册来源 |
| password |
String |
是 |
密码 |
| phoneNumber |
String |
否 |
手机号码 |
| realName |
String |
否 |
姓名 |
| referrer |
String |
否 |
推荐人 |
| remark |
String |
否 |
备注 |
| title |
String |
否 |
职称 |
| userType |
String |
否 |
用户类型:企业用户或个人用户 |
| username |
String |
否 |
用户名称 |
响应体(BODY):
| 名称(Name) |
类型(Type) |
描述(Description) |
| address |
String |
详细地址 |
| avatarLink |
String |
头像链接 |
| birthDate |
String |
生日 |
| cardSetting |
String |
名片设置 |
| city |
String |
所属城市 |
| company |
String |
所属公司/单位 |
| country |
String |
国家 |
| createAt |
Timestamp |
创建时间 |
| defaultAccountId |
String |
默认组织ID |
| department |
String |
所属部门 |
| displayName |
String |
展示名称 |
| district |
String |
所属区 |
| education |
String |
学历 |
| email |
String |
邮箱 |
| employeeNumber |
String |
工号 |
| enabled |
Boolean |
是否可用 |
| gender |
Integer |
性别 0:女 1:男 |
| id |
String |
ID |
| memberType |
String |
memberType |
| notifySettings |
Array |
通知设置 |
| origin |
String |
注册来源 |
| phoneNumber |
String |
手机号 |
| phoneNumberValidated |
Boolean |
手机号是否被验证 |
| postcode |
String |
邮政编码 |
| professionCertificate |
String |
职业资格证书 |
| province |
String |
所属省份 |
| qqNumber |
String |
QQ号 |
| realName |
String |
姓名 |
| remark |
String |
备注 |
| resumes |
Array |
履历 |
| roles |
Array |
用户的系统角色信息 |
| title |
String |
职称 |
| titleCertificate |
String |
职称证书 |
| updateAt |
String |
修改时间 |
| userid |
String |
用户ID |
| username |
String |
用户名 |
| workTime |
Timestamp |
参加工作时间 |
响应消息(MESSAGES):
| HTTP状态码 |
原因 |
| 201 |
Created |
| 400 |
数据已经接收到,但是数据格式和语法有问题,服务无法处理,请检查发送的数据。 |
| 401 |
Unauthorized |
| 403 |
无权访问请求的资源 |
| 404 |
Not Found |
| 409 |
邮箱已存在 |
请求示例演示:
请求路径:
https://api.cloud.pkpm.cn/bimserver/box/v3/users

2.获取邮箱验证码
GET https://api.cloud.pkpm.cn/bimserver/auth/v3/mail/code
请求体(BODY):
| 名称(Name) |
类型(Type) |
必填(Required) |
描述(Description) |
| codeType |
String |
是 |
类型,registry-注册 |
| mail |
String |
是 |
邮箱 |
响应消息(MESSAGES):
| HTTP状态码 |
原因 |
| 400 |
codeType:验证码类型不能为空 |
| 401 |
Unauthorized |
| 403 |
无权访问请求的资源 |
| 404 |
Not Found |
请求示例演示:
请求路径:
https://api.cloud.pkpm.cn/bimserver/auth/v3/mail/code

3.用户登录
POST https://api.cloud.pkpm.cn/bimserver/box/v3/auth/password?captchaKey={captcha}
请求参数(Query):
| 名称(Name) |
类型(Type) |
必填(Required) |
描述(Description) |
| captchaKey |
String |
是 |
验证码 |
请求体(BODY):
| 名称(Name) |
类型(Type) |
必填(Required) |
描述(Description) |
| captcha |
String |
是 |
验证码 |
| loginFrom |
String |
否 |
登录来源,web-网页端、pc-PC端、mobile-移动端、revit-Revit插件、navisworks-Navisworks插件 |
| macAddress |
String |
否 |
登录设备的mac地址,多个可用逗号隔开 |
| password |
String |
是 |
登录密码 |
| username |
String |
是 |
登录账号 |
响应消息(MESSAGES):
| HTTP状态码 |
原因 |
| 201 |
Created |
| 401 |
Unauthorized |
| 403 |
Forbidden |
| 404 |
Not Found |
请求示例演示:
请求路径:
https://api.cloud.pkpm.cn/bimserver/box/v3/auth/password?captchaKey=captcha:code:c8d

4.获取登录验证码
GET https://api.cloud.pkpm.cn/bimserver/box/v3/auth/captcha
请求参数(Query):
| 名称(Name) |
类型(Type) |
必填(Required) |
描述(Description) |
| width |
Integer |
否 |
width |
| height |
Integer |
否 |
height |
| len |
Integer |
否 |
len |
响应体(BODY):
| 名称(Name) |
类型(Type) |
描述(Description) |
| captchaKey |
String |
captcha key |
| captchaImage |
String |
captcha image |
响应消息(MESSAGES):
| HTTP状态码 |
原因 |
| 401 |
Unauthorized |
| 403 |
Forbidden |
| 404 |
Not Found |
请求示例演示:
请求路径:
https://api.cloud.pkpm.cn/bimserver/box/v3/auth/captcha

初次登录成功
5.获取组织(默认返回我参与的组织)
GET https://api.cloud.pkpm.cn/bimserver/box/v3/accounts
注:每个用户都有一个个人组织,个人组织下有一个默认项目,名为【我的空间】。当接口返回的owner字段等于当前用户id,并且type字段等于PERSONAL时,则判断该组织为个人组织。若存在个人组织,则不需要调用下一步-创建默认组织并自动生成默认项目
授权(Authorization):
| 名称(Name) |
值(Value) |
描述(Description) |
| Type |
Bearer Token |
Token拼装形式 |
| Token |
token值 |
|
请求参数(Query):
| 名称(Name) |
类型(Type) |
必填(Required) |
描述(Description) |
| all |
Boolean |
否 |
为true时查询所有Account,默认false |
| hideUsers |
Boolean |
否 |
为true时隐藏permissionGroups字段,默认false |
| open |
Boolean |
否 |
为true时查询所有公开(public)的 Account,默认false |
| accountType |
String |
否 |
组织类型[FREE_ACCOUNT,TRIAL_ACCOUNT,PRESENT_ACCOUNT,PAY_ACCOUNT] |
| type |
String |
否 |
组织类型[PERSONAL,ENTERPRISE] |
| origin |
String |
否 |
组织创建来源[BOX_ADMIN,BOX_CONTRACT_ADMIN,BOX_USER] |
| order |
Array |
否 |
排序的字段。name:ASC/DESC 按名称排序,createAt:ASC |
| pageNumber |
Integer |
否 |
pageNumber |
| pageSize |
Integer |
否 |
pageSize |
响应体(BODY):
| 名称(Name) |
类型(Type) |
描述(Description) |
| accountType |
String |
Account 的类型[FREE_ACCOUNT,TRIAL_ACCOUNT,PRESENT_ACCOUNT,PAY_ACCOUNT] |
| adminMembers |
Array |
管理员信息 |
| appDataProjectId |
String |
Account 对下appData项目的ID |
| clientId |
String |
创建这个 Account 的 Client 的 ID |
| config |
AccountConfigModel |
Account 对当前 config信息 |
| createAt |
Timestamp |
Account 的创建时间 |
| currentMemberCount |
Integer |
当前组织已用成员数 |
| currentProjectCount |
Integer |
当前组织已用项目数 |
| currentSpaceSize |
Number |
当前组织已用空间容量 |
| defaultAccount |
Boolean |
是否是默认组织 |
| defaultProjectId |
String |
默认项目的id |
| description |
String |
Account 的描述 |
| disableAt |
Timestamp |
Account 最后一次禁用时间 |
| distributableSpaceSize |
Number |
可分配组织空间大小 |
| durationDays |
Integer |
组织可用时间(单位:天) |
| enabled |
Boolean |
Account 的状态(禁用/启用) |
| externalId |
String |
Account 的外部关联 ID |
| id |
String |
Account 的 id |
| memberActive |
Boolean |
AccountMember 对当前 Account 的是否是启用状态 |
| memberCapacity |
Integer |
组织成员容量 |
| memberState |
Integer |
AccountMember 对当前 Account 的状态 |
| name |
String |
Account 的名称 |
| notes |
String |
备注 |
| open |
Boolean |
Account 是否公开 |
| origin |
String |
Account 的创建来源 |
| owner |
String |
创建这个 Account 的 User 的 UserName |
| profile |
AccountProfileModel |
Account 对当前 profile信息 |
| projectCapacity |
Integer |
组织项目容量 |
| spaceCapacity |
Number |
组织空间容量 |
| type |
String |
Account 的类型 = ['TEMPLATE', 'PERSONAL', 'ENTERPRISE'] |
| updateAt |
Timestamp |
Account 最后一次更新时间 |
| userData |
String |
Account 的用户数据 |
响应消息(MESSAGES):
| HTTP状态码 |
原因 |
| 401 |
未授权,请检查Authorization的Header的Access Token是否设置正确 |
| 403 |
无权访问请求的资源 |
| 404 |
Not Found |
| 409 |
返回对象的存放数据的数组为空,不会返回NOT_FOUND |
| 409 |
服务内部错误,请查看详细的错误原因 |
请求示例演示:
请求路径:
https://api.cloud.pkpm.cn/bimserver/box/v3/accounts

6.创建默认组织并自动生成默认项目
POST https://api.cloud.pkpm.cn/bimserver/box/v3/accounts/personal
授权(Authorization):
| 名称(Name) |
值(Value) |
描述(Description) |
| Type |
Bearer Token |
Token拼装形式 |
| Token |
token值 |
|
响应体(BODY):
| 名称(Name) |
类型(Type) |
描述(Description) |
| accountType |
String |
Account 的类型[FREE_ACCOUNT,TRIAL_ACCOUNT,PRESENT_ACCOUNT,PAY_ACCOUNT] |
| adminMembers |
Array |
管理员信息 |
| appDataProjectId |
String |
Account 对下appData项目的ID |
| clientId |
String |
创建这个 Account 的 Client 的 ID |
| config |
AccountConfigModel |
Account 对当前 config信息 |
| createAt |
Timestamp |
Account 的创建时间 |
| currentMemberCount |
Integer |
当前组织已用成员数 |
| currentProjectCount |
Integer |
当前组织已用项目数 |
| currentSpaceSize |
Number |
当前组织已用空间容量 |
| defaultAccount |
Boolean |
是否是默认组织 |
| defaultProjectId |
String |
默认项目的id |
| description |
String |
Account 的描述 |
| disableAt |
Timestamp |
Account 最后一次禁用时间 |
| distributableSpaceSize |
Number |
可分配组织空间大小 |
| durationDays |
Integer |
组织可用时间(单位:天) |
| enabled |
Boolean |
Account 的状态(禁用/启用) |
| externalId |
String |
Account 的外部关联 ID |
| id |
String |
Account 的 id |
| memberActive |
Boolean |
AccountMember 对当前 Account 的是否是启用状态 |
| memberCapacity |
Integer |
组织成员容量 |
| memberState |
Integer |
AccountMember 对当前 Account 的状态 |
| name |
String |
Account 的名称 |
| notes |
String |
备注 |
| open |
Boolean |
Account 是否公开 |
| origin |
String |
Account 的创建来源 |
| owner |
String |
创建这个 Account 的 User 的 UserName |
| profile |
AccountProfileModel |
Account 对当前 profile信息 |
| projectCapacity |
Integer |
组织项目容量 |
| spaceCapacity |
Number |
组织空间容量 |
| type |
String |
Account 的类型 = ['TEMPLATE', 'PERSONAL', 'ENTERPRISE'] |
| updateAt |
Timestamp |
Account 最后一次更新时间 |
| userData |
String |
Account 的用户数据 |
响应消息(MESSAGES):
| HTTP状态码 |
原因 |
| 201 |
Created |
| 401 |
Unauthorized |
| 403 |
Forbidden |
| 404 |
Not Found |
请求示例演示:
请求路径:
https://api.cloud.pkpm.cn/bimserver/box/v3/accounts/personal

展示文件夹列表服务
7.获取文件夹信息
GET https://api.cloud.pkpm.cn/bimserver/box/v3/accounts/{accountId}/projects/{projectId}/folders/{folderId}
授权(Authorization):
| 名称(Name) |
值(Value) |
描述(Description) |
| Type |
Bearer Token |
Token拼装形式 |
| Token |
token值 |
|
请求参数(Path):
| 名称(Name) |
类型(Type) |
必填(Required) |
描述(Description) |
| accountId |
String |
是 |
Account ID |
| projectId |
String |
是 |
Project ID |
| folderId |
String |
是 |
Folder ID |
请求参数(Query):
| 名称(Name) |
类型(Type) |
必填(Required) |
描述(Description) |
| filterType |
Boolean |
否 |
filterType |
| filterState |
Boolean |
否 |
filterState |
| pageNumber |
Integer |
否 |
pageNumber |
| pageSize |
Integer |
否 |
pageSize |
响应体(BODY):
| 名称(Name) |
类型(Type) |
描述(Description) |
| data |
FileEntryModelList |
数据内容 |
| first |
Boolean |
是否是第一次 |
| hasNext |
Boolean |
是否有下一页 |
| hasPrevious |
Boolean |
是否有上一页 |
| last |
Boolean |
是否是最后一次 |
| pageNumber |
Integer |
当前是第几页 |
| pageSize |
Integer |
当前页的最大记录数 |
| totalElements |
Integer |
内容总共有多少条 |
| totalPage |
Integer |
总共有多少页 |
响应消息(MESSAGES):
| HTTP状态码 |
原因 |
| 401 |
未授权,请检查Authorization的Header的Access Token是否设置正确 |
| 403 |
无权访问请求的资源 |
| 404 |
Not Found |
| 409 |
将要创建的资源已经存在,拒绝重复创建 |
| 500 |
服务内部错误,请查看详细的错误原因 |
请求示例演示:
请求路径:
https://api.cloud.pkpm.cn/bimserver/box/v3/accounts/4ux/projects/OIo/folders/5iU

8.创建文件夹
POST https://api.cloud.pkpm.cn/bimserver/box/v3/accounts/{accountId}/projects/{projectId}/parent/{parentId}/folder
授权(Authorization):
| 名称(Name) |
值(Value) |
描述(Description) |
| Type |
Bearer Token |
Token拼装形式 |
| Token |
token值 |
|
请求参数(Path):
| 名称(Name) |
类型(Type) |
必填(Required) |
描述(Description) |
| accountId |
String |
是 |
Account ID |
| projectId |
String |
是 |
Project ID |
| parentId |
String |
是 |
新建的 Folder 的父 Folder 的 ID |
请求体(BODY):
| 名称(Name) |
类型(Type) |
必填(Required) |
描述(Description) |
| name |
String |
是 |
Folder 的名称 |
响应体(BODY):
| 名称(Name) |
类型(Type) |
描述(Description) |
| accountId |
String |
BoxFolderModel accountId |
| active |
Boolean |
Folder 是否活动。如果非活动,表示已经被标记为删除 |
| clientId |
String |
Folder 所属的 client |
| createAt |
String |
BoxFolderModel 创建时间 |
| folderId |
String |
BoxFolderModel SFS 中的 FolderId |
| name |
String |
BoxFolderModel name |
| owner |
String |
Folder 的所有者 |
| parentId |
String |
BoxFolderModel parent_id |
| path |
String |
文件系统路径(不包括本身) |
| projectId |
String |
BoxFolderModel projectId |
| updateAt |
String |
BoxFolderModel 更新时间 |
响应消息(MESSAGES):
| HTTP状态码 |
原因 |
| 201 |
Created |
| 401 |
未授权,请检查Authorization的Header的Access Token是否设置正确 |
| 403 |
无权访问请求的资源 |
| 404 |
Not Found |
| 409 |
请求的资源不存在 |
| 500 |
服务内部错误,请查看详细的错误原因 |
请求示例演示:
请求路径:
https://api.cloud.pkpm.cn/bimserver/box/v3/accounts/4ux/projects/OIo/parent/5iU/folder

9.重命名文件夹名称
PUT https://api.cloud.pkpm.cn/bimserver/box/v3/accounts/{accountId}/projects/{projectId}/folders/{folderId}
授权(Authorization):
| 名称(Name) |
值(Value) |
描述(Description) |
| Type |
Bearer Token |
Token拼装形式 |
| Token |
token值 |
|
请求参数(Path):
| 名称(Name) |
类型(Type) |
必填(Required) |
描述(Description) |
| accountId |
String |
是 |
Account ID |
| projectId |
String |
是 |
Project ID |
| folderId |
String |
是 |
Folder ID |
请求体(BODY):
| 名称(Name) |
类型(Type) |
必填(Required) |
描述(Description) |
| external_id |
String |
否 |
Folder 对应的一个 外部系统的 ID,方便系统间的相互引用 |
| name |
String |
是 |
Folder 的名称 |
| owner |
String |
否 |
Folder创建者的用户名 |
| user_data |
String |
否 |
Folder 附属的用户数据 (User Data),用来存放一些自定义的数据 |
响应体(BODY):
| 名称(Name) |
类型(Type) |
描述(Description) |
| accountId |
String |
BoxFolderModel accountId |
| active |
Boolean |
Folder 是否活动。如果非活动,表示已经被标记为删除 |
| clientId |
String |
Folder 所属的 client |
| createAt |
String |
BoxFolderModel 创建时间 |
| folderId |
String |
BoxFolderModel SFS 中的 FolderId |
| name |
String |
BoxFolderModel name |
| owner |
String |
Folder 的所有者 |
| parentId |
String |
BoxFolderModel parent_id |
| path |
String |
文件系统路径(不包括本身) |
| projectId |
String |
BoxFolderModel projectId |
| updateAt |
String |
BoxFolderModel 更新时间 |
响应消息(MESSAGES):
| HTTP状态码 |
原因 |
| 201 |
Created |
| 401 |
未授权,请检查Authorization的Header的Access Token是否设置正确 |
| 403 |
无权访问请求的资源 |
| 404 |
Not Found |
| 409 |
将要创建的资源已经存在,拒绝重复创建 |
| 500 |
服务内部错误,请查看详细的错误原因 |
请求示例演示:
请求路径:
https://api.cloud.pkpm.cn/bimserver/box/v3/accounts/4ux/projects/OIo/folders/5zD

上传文件服务
10.获取文件上传需要的签名等信息
GET https://api.cloud.pkpm.cn/bimserver/box/v3/uploadUrl
授权(Authorization):
| 名称(Name) |
值(Value) |
描述(Description) |
| Type |
Bearer Token |
Token拼装形式 |
| Token |
token值 |
|
请求参数(Query):
| 名称(Name) |
类型(Type) |
必填(Required) |
描述(Description) |
| type |
Integer |
是 |
需要获取的url的类型,固定值 5 |
| accountId |
String |
是 |
Account ID |
| expire |
Long |
是 |
超时时间 |
| projectId |
String |
否 |
Project ID |
| folderId |
String |
否 |
文件所在的文件夹 |
| fileId |
String |
否 |
文件 ID |
| versionId |
String |
否 |
文件版本 |
| appId |
String |
否 |
应用 ID |
| path |
String |
否 |
路径 |
| fileName |
String |
否 |
文件名称 |
| bucketKey |
String |
否 |
Bucket Key |
| objectKey |
String |
否 |
Object Key |
响应体(BODY):
| 名称(Name) |
类型(Type) |
描述(Description) |
| callbackUrl |
String |
回调的URL |
| description |
String |
关于接口的描述 |
| expire |
Integer |
过期时间,单位为秒 |
| signature |
String |
签名 |
| type |
Integer |
URL的类型 |
| uploadUrl |
String |
文件上传的URL |
响应消息(MESSAGES):
| HTTP状态码 |
原因 |
| 401 |
未授权,请检查Authorization的Header的Access Token是否设置正确 |
| 403 |
无权访问请求的资源 |
| 404 |
Not Found |
| 409 |
请求的资源不存在 |
| 500 |
服务内部错误,请查看详细的错误原因 |
请求示例演示:
请求路径:
https://api.cloud.pkpm.cn/bimserver/box/v3/uploadUrl?type=5&accountId=4ux&projectId=OIof&folderId=@root&expire=60000

11.上传文件( 基于上一步 )
PUT {uploadUrl}
授权(Authorization):
| 名称(Name) |
值(Value) |
描述(Description) |
| Type |
Bearer Token |
Token拼装形式 |
| Token |
token值 |
|
请求参数(Path):
| 名称(Name) |
类型(Type) |
必填(Required) |
描述(Description) |
| uploadUrl |
String |
是 |
上传Url,取自上一个接口的返回数据(uploadUrl) |
| 名称(Name) |
类型(Type) |
必填(Required) |
描述(Description) |
| x-bimserver-upload-url |
String |
是 |
File Upload Header,取自上一个接口的返回数据(signature) |
| Content-Type |
String |
是 |
固定值 multipart/form-data |
请求体(BODY):
| 名称(Name) |
类型(Type) |
必填(Required) |
描述(Description) |
| md5 |
String |
是 |
文件指纹md5值,如果此参数值不为空,则认为是使用秒传 |
| file_name |
String |
否 |
File 的名称,如果没有指定则使用文件默认的名称。如果传递了md5值,即使用秒传功能,则此字段为必填 |
| file_external_id |
String |
否 |
File 对应的一个外部 ID |
| file_user_data |
String |
否 |
file 附属的自定义数据 |
| version_external_id |
String |
否 |
version 对应的一个外部 ID |
| version_user_data |
String |
否 |
version 附属的用户自定义数据 |
| version_comments |
String |
否 |
Version 的描述和注释性信息 |
| extAttr |
String |
否 |
文件扩展属性 |
| file |
file |
否 |
文件(File)内容,秒传时此字段可为null,即不用上传文件流 |
| path |
String |
否 |
上传文件夹时文件的路径 |
响应体(BODY):
| 名称(Name) |
类型(Type) |
描述(Description) |
| active |
Boolean |
File 是否活动。如果非活动,表示已经被标记为删除 |
| client_id |
String |
File 所属的 client |
| create_at |
Timestamp |
File 的创建时间的时间戳 |
| current_version |
Integer |
当前文件的版本 |
| current_version_size |
Integer |
当前版本文件的大小 |
| ext_attr |
object |
用户自定义扩展属性值 |
| external_id |
String |
External ID |
| id |
String |
File Id |
| locked |
Boolean |
'锁'的状态,表示锁是否生效;默认为:true |
| lockedAt |
Timestamp |
锁定时间 |
| lockedBy |
String |
锁定者,锁定资源的人,由Client自定一个其本身可识别的值 |
| name |
String |
File 名称 |
| owner |
String |
File 的所有者 |
| parent_id |
String |
File 的父级 ID |
| path |
String |
文件系统路径(不包括本身) |
| project_id |
String |
File 所属的 Project |
| update_at |
Timestamp |
File 的最后一次更新时间的时间戳 |
| user_data |
String |
User Data |
| versions |
Array[FileVersionModel] |
文件的所有版本信息 |
响应消息(MESSAGES):
| HTTP状态码 |
原因 |
| 201 |
Created |
| 401 |
未授权,请检查Authorization的Header的Access Token是否设置正确 |
| 403 |
无权访问请求的资源 |
| 404 |
Not Found |
| 409 |
请求的资源不存在 |
| 500 |
服务内部错误,请查看详细的错误原因 |
请求示例演示:
请求路径:
https://api.cloud.pkpm.cn/zuul/bimserver/sfs/v3/projects/4t0/parent/5lm/file

12.发起文件转换
POST https://api.cloud.pkpm.cn/bimserver/box/v3/job
授权(Authorization):
| 名称(Name) |
值(Value) |
描述(Description) |
| Type |
Bearer Token |
Token拼装形式 |
| Token |
token值 |
|
请求体(BODY):
| 名称(Name) |
类型(Type) |
必填(Required) |
描述(Description) |
| seed |
String |
是 |
seeds,格式【urn:bimbox.file:{projectId}/{fileId}?version={version}】 |
| jobType |
String |
是 |
转换类型 |
响应体(BODY):
| 名称(Name) |
类型(Type) |
描述(Description) |
| id |
String |
存储id值 |
| previousPosition |
String |
曾任职务 |
| workYears |
Integer |
工作年限 |
响应消息(MESSAGES):
| HTTP状态码 |
原因 |
| 401 |
未授权,请检查Authorization的Header的Access Token是否设置正确 |
| 403 |
无权访问请求的资源 |
| 404 |
Not Found |
| 409 |
将要创建的资源已经存在,拒绝重复创建 |
| 500 |
服务内部错误,请查看详细的错误原因 |
请求示例演示:
请求路径:
https://api.cloud.pkpm.cn/bimserver/box/v3/job

查看文件服务
13.获取文件转化状态
GET https://api.cloud.pkpm.cn/bimserver/translation/v3/jobs
授权(Authorization):
| 名称(Name) |
值(Value) |
描述(Description) |
| Type |
Bearer Token |
Token拼装形式 |
| Token |
token值 |
|
请求参数(Query):
| 名称(Name) |
类型(Type) |
必填(Required) |
描述(Description) |
| urn |
String |
是 |
urn,格式【urn:bimbox.file:{projectId}/{fileId}?version={version}】 |
| jobType |
String |
否 |
jobType |
响应体(BODY):
| 名称(Name) |
类型(Type) |
描述(Description) |
| client_id |
String |
Job 的 Client ID |
| converter_meta |
String |
Job处理使用的converter元数据信息 |
| create_at |
Timestamp |
Job 的创建时间的时间戳 |
| id |
String |
Job ID |
| job_logs |
Array[TranslationJobLogModel] |
Job 的日志信息 |
| job_type |
String |
转换任务的类型 |
| need_notify |
Boolean |
是否需要发送转换结果通知,默认值为true |
| owner |
String |
Job 的 Owner |
| parameters |
Array[JobParameterModel] |
Job 标准化参数 |
| priority |
Integer |
任务优先级 |
| progress |
String |
任务执行进度 |
| reason |
String |
关于当前 State 的原因描述信息 |
| result |
String |
任务结果保存位置 |
| seed |
String |
源文件的资源唯一标识符,一般是 URN |
| seed_md5 |
String |
源文件的md5值 |
| state |
String |
Job 的状态 |
| task_id |
String |
Task ID |
| time_out |
Integer |
任务超时时间,单位为秒 |
| translation_Key |
String |
转换的Key |
| translation_bucket_name |
String |
转换所使用的bucketName |
| update_at |
Timestamp |
Job 最后的更新时间的时间戳 |
| worker |
TranslationWorkerModel |
指定的Worker |
响应消息(MESSAGES):
| HTTP状态码 |
原因 |
| 401 |
Unauthorized |
| 403 |
Forbidden |
| 404 |
Not Found |
请求示例演示:
请求路径:
https://api.cloud.pkpm.cn/bimserver/translation/v3/jobs?urn=urn:bimbox.file:OIo/53Z?version=2

14.获取文件信息
GET https://api.cloud.pkpm.cn/bimserver/box/v3/accounts/{accountId}/projects/{projectId}/files/{fileId}/info
授权(Authorization):
| 名称(Name) |
值(Value) |
描述(Description) |
| Type |
Bearer Token |
Token拼装形式 |
| Token |
token值 |
|
请求参数(Path):
| 名称(Name) |
类型(Type) |
必填(Required) |
描述(Description) |
| accountId |
String |
是 |
Account ID |
| projectId |
String |
是 |
Project ID |
| fileId |
String |
是 |
File ID |
响应体(BODY):
| 名称(Name) |
类型(Type) |
描述(Description) |
| active |
Boolean |
File 是否活动。如果非活动,表示已经被标记为删除 |
| client_id |
String |
File 所属的 client |
| create_at |
Timestamp |
File 的创建时间的时间戳 |
| current_version |
Integer |
当前文件的版本 |
| current_version_size |
Integer |
当前版本文件的大小 |
| ext_attr |
Object |
用户自定义扩展属性值 |
| external_id |
String |
External ID |
| id |
String |
File Id |
| locked |
Boolean |
'锁'的状态,表示锁是否生效;默认为:true |
| lockedAt |
Timestamp |
锁定时间 |
| lockedBy |
String |
锁定者,锁定资源的人,由Client自定一个其本身可识别的值 |
| name |
String |
File 名称 |
| owner |
String |
File 的所有者 |
| parent_id |
String |
File 的所有者 |
| path |
String |
文件系统路径(不包括本身) |
| project_id |
String |
File 所属的 Project |
| update_at |
Timestamp |
File 的最后一次更新时间的时间戳 |
| user_data |
String |
User Data |
| user_data |
Array[FileVersionModel] |
文件的所有版本信息 |
响应消息(MESSAGES):
| HTTP状态码 |
原因 |
| 401 |
未授权,请检查Authorization的Header的Access Token是否设置正确 |
| 403 |
无权访问请求的资源 |
| 404 |
Not Found |
| 409 |
请求的资源不存在 |
| 500 |
服务内部错误,请查看详细的错误原因 |
请求示例演示:
请求路径:
https://api.cloud.pkpm.cn/bimserver/box/v3/accounts/4ux/projects/OIo/files/5iU/info

15.模型加载
加载3D模型
加载2D模型
加载Doc模型
加载两个3D模型
加载两个2D模型
加载两个Doc模型
通过视图加载模型
加载多个视图
模型组装
分享文件
16.创建分享链接
POST https://api.cloud.pkpm.cn/bimserver/box/v3/accounts/{accountId}/projects/{projectId}/files/{fileId}/share
授权(Authorization):
| 名称(Name) |
值(Value) |
描述(Description) |
| Type |
Bearer Token |
Token拼装形式 |
| Token |
token值 |
|
请求参数(Path):
| 名称(Name) |
类型(Type) |
必填(Required) |
描述(Description) |
| accountId |
String |
是 |
Account ID |
| projectId |
String |
是 |
Project ID |
| fileId |
String |
是 |
File ID |
请求体(BODY):
| 名称(Name) |
类型(Type) |
必填(Required) |
描述(Description) |
| expiration |
Integer |
是 |
分享链接的有效期,单位为天,可以设置最小值为1天,最大值为3650天,值为-1时表示'永久分享'。如果不在此范围,默认设置为7天 |
| name |
String |
是 |
资源名称 |
| privilege |
String |
是 |
分享的权限。 view: 只能够在线的浏览文件的内容; download: 能够在线的浏览文件的内容,并且可以下载分享的文件 |
| type |
String |
是 |
分享的类型。public:公开的分享,访问分享链接不需要密码。 secret: 私密的分享,访问分享链接需要输入密码 |
响应体(BODY):
| 名称(Name) |
类型(Type) |
描述(Description) |
| accountId |
String |
Share 的 Account Id |
| active |
Boolean |
Share 的 激活状态用于判断源文件是否存在 |
| createAt |
String |
Share 创建时间 |
| expiration |
Integer |
Share 的过期时间,单位:天 |
| id |
String |
Share 的 ID |
| name |
String |
Share 名称 |
| owner |
String |
Share 的创建者 |
| password |
String |
Share 的 password,'secret'类型的分享才会生成 |
| privilege |
String |
Share 权限:支持'view'和'download'两种 |
| projectId |
String |
Share 的 Project Id |
| type |
String |
Share 的类型:支持'public'和'secret'两种 |
| updateAt |
String |
Share 更新时间 |
| urn |
String |
Share 的 urn(或者保存了targetUrn参数) |
| urns |
Array[ShareUrnModel] |
模型组装分享时的UNR列表 |
响应消息(MESSAGES):
| HTTP状态码 |
原因 |
| 401 |
未授权,请检查Authorization的Header的Access Token是否设置正确 |
| 403 |
无权访问请求的资源 |
| 404 |
Not Found |
| 500 |
服务内部错误,请查看详细的错误原因 |
请求示例演示:
请求路径:
https://api.cloud.pkpm.cn/bimserver/box/v3/accounts/4ux/projects/OIo/files/53Z/share

下载文件
17.获取文件下载链接
POST https://api.cloud.pkpm.cn/bimserver/sfs/v3/projects/{projectId}/file/download/signedUrl
授权(Authorization):
| 名称(Name) |
值(Value) |
描述(Description) |
| Type |
Bearer Token |
Token拼装形式 |
| Token |
token值 |
|
请求参数(Path):
| 名称(Name) |
类型(Type) |
必填(Required) |
描述(Description) |
| projectId |
String |
是 |
Project ID |
请求体(BODY):
| 名称(Name) |
类型(Type) |
必填(Required) |
描述(Description) |
| expire |
Integer |
是 |
过期时间,单位为秒 |
| urn |
String |
是 |
SFS File URN |
响应体(BODY):
| 名称(Name) |
类型(Type) |
描述(Description) |
| data |
String |
下载链接 |
响应消息(MESSAGES):
| HTTP状态码 |
原因 |
| 201 |
Created |
| 401 |
Unauthorized |
| 403 |
Forbidden |
| 404 |
Not Found |
请求示例演示:
请求路径:
https://api.cloud.pkpm.cn/bimserver/sfs/v3/projects/OIo/file/download/signedUrl

18.下载文件(基于上一步)
根据上一步【data】中的下载链接下载文件,例如:打开浏览器,在新窗口的地址栏中输入已获取的下载链接,即可下载文件