BIMFACE服务器端API接口
应用访问凭证获取
BIMFACE所有的RESTful API都有对应的鉴权机制保护,目前BIMFACE支持两种鉴权方式:
- Access Token
-
代表自身应用的身份,使用应用的appkey, secret,通过调用/oauth2/token接口获取。
- View Token
-
代表对单个模型/集成模型/模型对比的访问权限,使用Access Token,通过调用/view/token或其他相关接口获得。
使用Access Token,可以对自己应用内的文件发起文件上传,下载,删除,模型转换,模型集成,模型对比等操作,
同时也能访问所有BIMFACE的数据接口获取转换后的模型BIM信息;而View Token只代表对单个模型/集成模型/模型对比的临时的访问凭证,
只能访问对应模型的数据接口,通过使用应用的Access Token调用下面的接口可以获得。
通常情况下,View Token可以直接传入前端JSSDK用来加载/浏览模型
Access Token有效期为7天, 除非Token被注销,Access Token在7天内不会发生改变; 而View Token只是一个临时的访问凭证,有效期为12小时。但是为了减少用户重复请求View Token的次数, 每次使用View Token都会重置有效期为12小时。这样如果你的模型持续有人访问,View Token会一直有效, 只有在12小时内,没有使用View Token的任何调用,View Token才会失效。 |
Access Token只能使用appkey, secret通过/oauth2/token接口获取; 类似的,View Token必须通过有效的Access Token并提供对应的源文件Id以及集成模型Id信息来获取。 |
View Token的使用方法是在调用对应的数据接口的时候,添加一个查询参数(Query parameter): view_token={your_view_token} |
只有在文件转换或模型集成任务成功以后,才能获取View Token。 |
- 关于请求中的header Authorization的使用
-
获取Access Token接口中使用的Authorization,是将字符串appKey:appSecret 拼接后(中间用冒号连接),对其进行BASE64编码, 然后在编码后的字符串前添加字符串Basic和一个空格, 即:“Basic [Base64Encode(“appKey:appSecret”)]“。 其他接口中使用的header Authorization, 是将你的Access Token的字符串前添加字符串bearer和一个空格, 即:“bearer [Access Token]"
获取Access Token
POST https://api.bimface.com/oauth2/token
参数
类型 | 名称 | 说明 | 类型 |
---|---|---|---|
Header |
Authorization |
将字符串 appKey:appSecret 拼接后(中间用冒号连接),对其进行BASE64编码, 然后在编码后的字符串前添加字符串Basic和一个空格, 即:“Basic” + “ ” + Base64Encode(appKey + “:” + appSecret) |
string |
获取模型的View Token
GET https://api.bimface.com/view/token
说明
通过fileId, integrateId, compareId 获取View Token, 然后把View Token传入前端JavaScript组件提供的接口中,即可加载和浏览文件所包含的三维模型或二维图纸。
参数
类型 | 名称 | 说明 | 类型 |
---|---|---|---|
Header |
Authorization |
bearer {accessToken} |
string |
Query |
compareId |
模型对比ID(与文件转换ID、集成模型ID,三选一) |
integer (int64) |
Query |
fileId |
文件转换ID(与集成模型ID、模型对比ID,三选一) |
integer (int64) |
Query |
integrateId |
集成模型ID(与文件转换ID、模型对比ID,三选一) |
integer (int64) |
错误码
code | 说明 |
---|---|
system.error |
BIMFACE系统异常 |
authentication.failed |
API访问合法性校验失败 |
file.has.not.translated |
文件未转换,不能获取viewToken |
file.translate.failed |
文件转换失败,不能获取viewToken |
file.is.translating |
文件转换中,不能获取viewToken |
integration.not.found |
集成模型不存在,不能获取viewToken |
files.is.integrating |
集成中,不能获取viewToken |
files.integrate.failed |
集成失败,不能获取viewToken |
model.compare.not.found |
对比模型不存在,不能获取viewToken |
model.compare.not.finished |
对比未完成,不能获取viewToken |
model.compare.failed |
对比失败,不能获取viewToken |
获取子文件的View Token
POST https://api.bimface.com/data/v2/integrations/{integrateId}/files/{fileId}/viewToken
参数
类型 | 名称 | 说明 | 类型 |
---|---|---|---|
Header |
Authorization |
bearer {accessToken} |
string |
Path |
fileId |
文件ID |
integer (int64) |
Path |
integrateId |
集成ID |
integer (int64) |
数据实体类
AccessTokenBean
名称 | 说明 | 类型 |
---|---|---|
expireTime |
样例 : |
string |
token |
样例 : |
string |
BakeDatabagInfo
名称 | 说明 | 类型 |
---|---|---|
databagId |
样例 : |
string |
databagVersion |
样例 : |
string |
modelId |
样例 : |
integer (int64) |
originalDatabagId |
样例 : |
string |
status |
样例 : |
string |
BatchDeleteResultBean«long»
名称 | 说明 | 类型 |
---|---|---|
deleted |
样例 : |
< integer (int64) > array |
nonexistence |
样例 : |
< integer (int64) > array |
BusinessAssociationBean
名称 | 说明 | 类型 |
---|---|---|
associationId |
样例 : |
integer (int64) |
config |
样例 : |
object |
createTime |
样例 : |
string |
integrateId |
样例 : |
integer (int64) |
name |
样例 : |
string |
reason |
样例 : |
string |
ruleFileIds |
样例 : |
< integer (int64) > array |
sourceId |
样例 : |
string |
status |
样例 : |
string |
BusinessAssociationRequest
名称 | 说明 | 类型 |
---|---|---|
callback |
样例 : |
string |
config |
样例 : |
object |
integrateId |
样例 : |
integer (int64) |
name |
样例 : |
string |
ruleFileIds |
样例 : |
< object > array |
sourceId |
样例 : |
string |
CompareRequest
名称 | 说明 | 类型 |
---|---|---|
callback |
样例 : |
string |
comparedEntityType |
样例 : |
string |
config |
样例 : |
< string, string > map |
followingId |
样例 : |
integer (int64) |
name |
样例 : |
string |
previousId |
样例 : |
integer (int64) |
sourceId |
样例 : |
string |
DatabagDerivativeBean
名称 | 说明 | 类型 |
---|---|---|
createTime |
样例 : |
string |
databagVersion |
样例 : |
string |
length |
样例 : |
integer (int64) |
reason |
样例 : |
string |
status |
样例 : |
string |
ElementPropertyOverride
名称 | 说明 | 类型 |
---|---|---|
keyToMatch |
样例 : |
string |
keyToOverride |
样例 : |
string |
targetFileIds |
样例 : |
< object > array |
valueOverrides |
样例 : |
< ElementPropertyValueOverride > array |
ElementPropertyValueOverride
名称 | 说明 | 类型 |
---|---|---|
valueToMatch |
样例 : |
string |
valueToOverride |
样例 : |
string |
FileIntegrateBean
名称 | 说明 | 类型 |
---|---|---|
createTime |
样例 : |
string |
integrateId |
样例 : |
integer (int64) |
name |
样例 : |
string |
reason |
样例 : |
string |
sourceId |
样例 : |
string |
status |
样例 : |
string |
thumbnail |
样例 : |
< object > array |
type |
样例 : |
string |
FileIntegrateDetailBean
名称 | 说明 | 类型 |
---|---|---|
cost |
样例 : |
integer (int32) |
createTime |
样例 : |
string |
databagId |
样例 : |
string |
integrateId |
样例 : |
integer (int64) |
name |
样例 : |
string |
offlineDatabagStatus |
样例 : |
string |
reason |
样例 : |
string |
shareToken |
样例 : |
string |
shareUrl |
样例 : |
string |
sourceId |
样例 : |
string |
status |
样例 : |
string |
thumbnail |
样例 : |
< string > array |
type |
样例 : |
string |
workerType |
样例 : |
string |
FileIntegrateRequest
名称 | 说明 | 类型 |
---|---|---|
callback |
样例 : |
string |
config |
样例 : |
< string, string > map |
floorMapping |
样例 : |
< FloorMappingItem > array |
floorSort |
样例 : |
< string > array |
internalConfigMap |
样例 : |
< string, string > map |
name |
样例 : |
string |
parentIntegrateId |
样例 : |
integer (int64) |
propertyOverrides |
样例 : |
< ElementPropertyOverride > array |
ruleFileIds |
样例 : |
< object > array |
sourceId |
样例 : |
string |
sources |
样例 : |
< IntegrateSource > array |
specialtySort |
样例 : |
< string > array |
FileTranslateBean
名称 | 说明 | 类型 |
---|---|---|
createTime |
样例 : |
string |
databagId |
样例 : |
string |
fileId |
样例 : |
integer (int64) |
name |
样例 : |
string |
reason |
样例 : |
string |
status |
样例 : |
string |
thumbnail |
样例 : |
< object > array |
FileTranslateDetailBean
名称 | 说明 | 类型 |
---|---|---|
appKey |
样例 : |
string |
cost |
样例 : |
integer (int32) |
createTime |
样例 : |
string |
databagId |
样例 : |
string |
fileId |
样例 : |
integer (int64) |
length |
样例 : |
integer (int64) |
name |
样例 : |
string |
offlineDatabagStatus |
样例 : |
string |
reason |
样例 : |
string |
retry |
样例 : |
boolean |
shareToken |
样例 : |
string |
shareUrl |
样例 : |
string |
sourceId |
样例 : |
string |
status |
样例 : |
string |
supportOfflineDatabag |
样例 : |
boolean |
thumbnail |
样例 : |
< string > array |
type |
样例 : |
string |
FileTranslateRequest
名称 | 说明 | 类型 |
---|---|---|
callback |
样例 : |
string |
config |
样例 : |
< string, string > map |
source |
样例 : TranslateSource |
FloorMappingItem
名称 | 说明 | 类型 |
---|---|---|
fileFloorId |
样例 : |
string |
projectFloorId |
样例 : |
string |
projectFloorName |
样例 : |
string |
GeneralResponse
名称 | 说明 | 类型 |
---|---|---|
code |
样例 : |
string |
data |
样例 : |
object |
message |
样例 : |
string |
GeneralResponse«AccessTokenBean»
名称 | 说明 | 类型 |
---|---|---|
code |
样例 : |
string |
data |
样例 : AccessTokenBean |
|
message |
样例 : |
string |
GeneralResponse«BatchDeleteResultBean«long»»
名称 | 说明 | 类型 |
---|---|---|
code |
样例 : |
string |
data |
||
message |
样例 : |
string |
GeneralResponse«BusinessAssociationBean»
名称 | 说明 | 类型 |
---|---|---|
code |
样例 : |
string |
data |
||
message |
样例 : |
string |
GeneralResponse«DatabagDerivativeBean»
名称 | 说明 | 类型 |
---|---|---|
code |
样例 : |
string |
data |
||
message |
样例 : |
string |
GeneralResponse«FileIntegrateBean»
名称 | 说明 | 类型 |
---|---|---|
code |
样例 : |
string |
data |
样例 : FileIntegrateBean |
|
message |
样例 : |
string |
GeneralResponse«FileTranslateBean»
名称 | 说明 | 类型 |
---|---|---|
code |
样例 : |
string |
data |
样例 : FileTranslateBean |
|
message |
样例 : |
string |
GeneralResponse«InsecureShareLinkBean»
名称 | 说明 | 类型 |
---|---|---|
code |
样例 : |
string |
data |
||
message |
样例 : |
string |
GeneralResponse«List«DatabagDerivativeBean»»
名称 | 说明 | 类型 |
---|---|---|
code |
样例 : |
string |
data |
样例 : |
< DatabagDerivativeBean > array |
message |
样例 : |
string |
GeneralResponse«List«ProjectIntegrateBean»»
名称 | 说明 | 类型 |
---|---|---|
code |
样例 : |
string |
data |
样例 : |
< ProjectIntegrateBean > array |
message |
样例 : |
string |
GeneralResponse«List«ProjectOperationBean»»
名称 | 说明 | 类型 |
---|---|---|
code |
样例 : |
string |
data |
样例 : |
< ProjectOperationBean > array |
message |
样例 : |
string |
GeneralResponse«ModelCompareBean»
名称 | 说明 | 类型 |
---|---|---|
code |
样例 : |
string |
data |
样例 : ModelCompareBean |
|
message |
样例 : |
string |
GeneralResponse«ModelVersionInfo»
名称 | 说明 | 类型 |
---|---|---|
code |
样例 : |
string |
data |
样例 : ModelVersionInfo |
|
message |
样例 : |
string |
GeneralResponse«PagedList«FileIntegrateDetailBean»»
名称 | 说明 | 类型 |
---|---|---|
code |
样例 : |
string |
data |
||
message |
样例 : |
string |
GeneralResponse«PagedList«FileTranslateDetailBean»»
名称 | 说明 | 类型 |
---|---|---|
code |
样例 : |
string |
data |
||
message |
样例 : |
string |
GeneralResponse«PagedList«ModelCompareBean»»
名称 | 说明 | 类型 |
---|---|---|
code |
样例 : |
string |
data |
||
message |
样例 : |
string |
GeneralResponse«PagedList«ShareLinkBean»»
名称 | 说明 | 类型 |
---|---|---|
code |
样例 : |
string |
data |
||
message |
样例 : |
string |
GeneralResponse«ProjectBean»
名称 | 说明 | 类型 |
---|---|---|
code |
样例 : |
string |
data |
样例 : ProjectBean |
|
message |
样例 : |
string |
GeneralResponse«ShareLinkBean»
名称 | 说明 | 类型 |
---|---|---|
code |
样例 : |
string |
data |
样例 : ShareLinkBean |
|
message |
样例 : |
string |
GeneralResponse«boolean»
名称 | 说明 | 类型 |
---|---|---|
code |
样例 : |
string |
data |
样例 : |
boolean |
message |
样例 : |
string |
GeneralResponse«string»
名称 | 说明 | 类型 |
---|---|---|
code |
样例 : |
string |
data |
样例 : |
string |
message |
样例 : |
string |
InsecureShareLinkBean
名称 | 说明 | 类型 |
---|---|---|
appKey |
样例 : |
string |
expireTime |
样例 : |
string |
passwordProtect |
样例 : |
boolean |
sourceId |
样例 : |
integer (int64) |
sourceType |
样例 : |
string |
url |
样例 : |
string |
IntegrateDrawingsInfo
名称 | 说明 | 类型 |
---|---|---|
databagId |
样例 : |
string |
databagVersion |
样例 : |
string |
drawingIntegrateId |
样例 : |
integer (int64) |
status |
样例 : |
string |
IntegrateQueryRequest
名称 | 说明 | 类型 |
---|---|---|
appKey |
样例 : |
string |
endDate |
样例 : |
string (date-time) |
fileName |
样例 : |
string |
integrateId |
样例 : |
integer (int64) |
integrateType |
样例 : |
string |
pageNo |
样例 : |
integer (int32) |
pageSize |
样例 : |
integer (int32) |
sortType |
样例 : |
string |
sourceId |
样例 : |
string |
startDate |
样例 : |
string (date-time) |
status |
样例 : |
integer (int32) |
IntegrateSource
名称 | 说明 | 类型 |
---|---|---|
building |
样例 : |
string |
databagId |
样例 : |
string |
fileId |
样例 : |
integer (int64) |
fileName |
样例 : |
string |
floor |
样例 : |
string |
floorSort |
样例 : |
number (float) |
specialty |
样例 : |
string |
specialtySort |
样例 : |
number (float) |
transform |
样例 : |
< number (double) > array |
ModelAndView
名称 | 说明 | 类型 |
---|---|---|
empty |
样例 : |
boolean |
model |
样例 : |
object |
modelMap |
样例 : |
< string, object > map |
reference |
样例 : |
boolean |
status |
样例 : |
enum (100, 101, 102, 103, 200, 201, 202, 203, 204, 205, 206, 207, 208, 226, 300, 301, 302, 303, 304, 305, 307, 308, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 426, 428, 429, 431, 451, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511) |
view |
样例 : View |
|
viewName |
样例 : |
string |
ModelCompareBean
名称 | 说明 | 类型 |
---|---|---|
compareId |
样例 : |
integer (int64) |
cost |
样例 : |
integer (int32) |
createTime |
样例 : |
string |
name |
样例 : |
string |
offlineDatabagStatus |
样例 : |
string |
reason |
样例 : |
string |
sourceId |
样例 : |
string |
status |
样例 : |
string |
thumbnail |
样例 : |
< object > array |
type |
样例 : |
string |
workerType |
样例 : |
string |
ModelCompareItem
名称 | 说明 | 类型 |
---|---|---|
followingDatabagId |
样例 : |
string |
followingFileId |
样例 : |
integer (int64) |
followingFileName |
样例 : |
string |
previousDatabagId |
样例 : |
string |
previousFileId |
样例 : |
integer (int64) |
previousFileName |
样例 : |
string |
ModelCompareQueryRequest
名称 | 说明 | 类型 |
---|---|---|
appKey |
样例 : |
string |
compareId |
样例 : |
integer (int64) |
endDate |
样例 : |
string (date-time) |
fileName |
样例 : |
string |
pageNo |
样例 : |
integer (int32) |
pageSize |
样例 : |
integer (int32) |
sortType |
样例 : |
string |
sourceId |
样例 : |
string |
startDate |
样例 : |
string (date-time) |
status |
样例 : |
integer (int32) |
type |
样例 : |
string |
ModelCompareRequest
名称 | 说明 | 类型 |
---|---|---|
callback |
样例 : |
string |
name |
样例 : |
string |
sourceId |
样例 : |
string |
sources |
样例 : |
< ModelCompareItem > array |
ModelVersionInfo
名称 | 说明 | 类型 |
---|---|---|
bake |
样例 : BakeDatabagInfo |
|
config |
样例 : |
< string, string > map |
databagId |
样例 : |
string |
integrateDrawings |
||
isSupportComponentProperty |
样例 : |
boolean |
isSupportDrawing |
样例 : |
boolean |
isSupportFamilyTypeList |
样例 : |
boolean |
isSupportMaterialProperty |
样例 : |
boolean |
isSupportMiniMap |
样例 : |
boolean |
isSupportModelTree |
样例 : |
boolean |
isSupportRoomArea |
样例 : |
boolean |
isSupportWalk |
样例 : |
boolean |
jsSDKVersion |
样例 : |
string |
modelId |
样例 : |
integer (int64) |
modelType |
样例 : |
string |
name |
样例 : |
string |
renderType |
样例 : |
string |
renderVersion |
样例 : |
string |
subRenders |
样例 : |
< RenderInfo > array |
type |
最小值 : |
integer (int32) |
workerType |
样例 : |
string |
Page
名称 | 说明 | 类型 |
---|---|---|
htmlDisplay |
样例 : |
string |
nextPage |
样例 : |
integer (int32) |
pageNo |
样例 : |
integer (int32) |
pageSize |
样例 : |
integer (int32) |
prePage |
样例 : |
integer (int32) |
startIndex |
样例 : |
integer (int32) |
totalCount |
样例 : |
integer (int32) |
totalPages |
样例 : |
integer (int32) |
PagedList«FileIntegrateDetailBean»
名称 | 说明 | 类型 |
---|---|---|
list |
样例 : |
< FileIntegrateDetailBean > array |
page |
样例 : Page |
PagedList«FileTranslateDetailBean»
名称 | 说明 | 类型 |
---|---|---|
list |
样例 : |
< FileTranslateDetailBean > array |
page |
样例 : Page |
PagedList«ModelCompareBean»
名称 | 说明 | 类型 |
---|---|---|
list |
样例 : |
< ModelCompareBean > array |
page |
样例 : Page |
PagedList«ShareLinkBean»
名称 | 说明 | 类型 |
---|---|---|
list |
样例 : |
< ShareLinkBean > array |
page |
样例 : Page |
ProjectBean
名称 | 说明 | 类型 |
---|---|---|
createTime |
样例 : |
string |
id |
样例 : |
integer (int64) |
integrateId |
样例 : |
integer (int64) |
integrateStatus |
样例 : |
string |
name |
样例 : |
string |
ProjectCreateRequest
名称 | 说明 | 类型 |
---|---|---|
callback |
样例 : |
string |
integrate |
样例 : FileIntegrateRequest |
|
materialOverrideSetFileId |
样例 : |
integer (int64) |
metaFileId |
样例 : |
integer (int64) |
name |
样例 : |
string |
segmentFileId |
样例 : |
integer (int64) |
ProjectIntegrateBean
名称 | 说明 | 类型 |
---|---|---|
active |
样例 : |
boolean |
createTime |
样例 : |
string |
integrateId |
样例 : |
integer (int64) |
parentIntegrateId |
样例 : |
integer (int64) |
status |
样例 : |
string |
ProjectModifyRequest
名称 | 说明 | 类型 |
---|---|---|
addedFileIds |
样例 : |
< object > array |
callback |
样例 : |
string |
changedFileIds |
样例 : |
< Diff > array |
deletedFileIds |
样例 : |
< object > array |
materialOverrideSetFileId |
样例 : |
integer (int64) |
metaFileId |
样例 : |
integer (int64) |
segmentFileId |
样例 : |
integer (int64) |
transformMap |
样例 : |
< string, < number (double) > array > map |
ProjectOperationBean
名称 | 说明 | 类型 |
---|---|---|
addedFiles |
样例 : |
string |
callbackStatus |
样例 : |
integer (int32) |
callbackTimes |
最小值 : |
integer (int32) |
callbackUrl |
样例 : |
string |
changedFiles |
样例 : |
string |
createTime |
样例 : |
integer (int64) |
deletedFiles |
样例 : |
string |
id |
样例 : |
integer (int64) |
integrate |
样例 : |
boolean |
jobId |
样例 : |
integer (int64) |
jobSourceId |
样例 : |
integer (int64) |
metaFileId |
样例 : |
integer (int64) |
mosFileId |
样例 : |
integer (int64) |
projectId |
样例 : |
integer (int64) |
segmentFileId |
样例 : |
integer (int64) |
status |
最小值 : |
integer (int32) |
transform |
样例 : |
string |
workerCode |
样例 : |
string |
workerMessage |
样例 : |
string |
ProjectOperationFixRequest
名称 | 说明 | 类型 |
---|---|---|
callback |
样例 : |
string |
replaceFileMap |
样例 : |
< string, integer (int64) > map |
transformMap |
样例 : |
< string, < number (double) > array > map |
RenderInfo
名称 | 说明 | 类型 |
---|---|---|
isSupportComponentProperty |
样例 : |
boolean |
isSupportFamilyTypeList |
样例 : |
boolean |
isSupportMiniMap |
样例 : |
boolean |
isSupportModelTree |
样例 : |
boolean |
jsSDKVersion |
样例 : |
string |
renderType |
样例 : |
string |
renderVersion |
样例 : |
string |
ShareLinkBean
名称 | 说明 | 类型 |
---|---|---|
appKey |
样例 : |
string |
expireTime |
样例 : |
string |
password |
样例 : |
string |
sourceId |
样例 : |
integer (int64) |
sourceName |
样例 : |
string |
sourceType |
样例 : |
string |
url |
样例 : |
string |
TranslateQueryRequest
名称 | 说明 | 类型 |
---|---|---|
appKey |
样例 : |
string |
endDate |
样例 : |
string (date-time) |
fileId |
样例 : |
integer (int64) |
fileName |
样例 : |
string |
pageNo |
样例 : |
integer (int32) |
pageSize |
样例 : |
integer (int32) |
sortType |
样例 : |
string |
sourceId |
样例 : |
string |
startDate |
样例 : |
string (date-time) |
status |
样例 : |
integer (int32) |
suffix |
样例 : |
string |