Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Structure Service


Structure Service


A hierarchical tree structure(eg: cost structure) could be added and later retrieved from a project/object using the Structure service

 

Anchor
createStructure
createStructure

Create a new structure in a project
Deck of Cards
idbimcreateStructure
Card
defaulttrue
labelURL / Resource / JSON Structure
Resource: projects/<project_id>/structures 

URLhttps://api-stage.bimplus.net/v2/<team_slug>/projects/<project_id>/structures

Example:https://api-stage.bimplus.net/v2/bimplus/projects/622272da-f1ff-45ab-a3f0-c8f1255c80e8/structures

JSON Structure

Name

Mandatory / Optional

Type

Description

parentId

mandatory

string(guid)

Parent node id of the structure (for the first structure, projectId is the parentId)

name

mandatory

string

Name of the structure

description

optional

string

Description of the structure

typeoptionalstringType of the structure (eg: costStructure, specificationStructure)
nrwill be ignoredintegerThe index of the structure
coloroptionalintegerColor of the structure
idwill be ignoredstring(guid)Unique guid of the structure
startDateoptionalstring (date)Start date ( depends on type of structure )
endDateoptionalstring (date)End date ( depends on type of structure )


Card
labelHTTP Method
 POST
Card
labelDescription
 Create a new structure(eg: cost structure, specification structure) under a project
Card
labelRequest
Code Block
borderColorGreen
langxml
titleHeaders
Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088
Content-Type: application/json
Code Block
borderColorRed
langxml
titleJSON
{
    "name": "TestStructure",
    "description": "FullLifeCycleTest",
    "type": "CostStructure"
}
Card
labelResponse
Code Block
borderColorGreen
langxml
titleStatus
Status: 201 Created
Code Block
borderColorRed
langxml
titleJSON
{
    "parentId": "622272da-f1ff-45ab-a3f0-c8f1255c80e8",
    "name": "TestStructure",
    "description": "FullLifeCycleTest",
    "type": "CostStructure",
    "nr": 1,
    "color": 0,
    "id": "179439d6-df16-41cc-bd2c-74d05b7995d5"
}

Anchor
getStructureDetails
getStructureDetails

Get the structure details
Deck of Cards
idbimGetStructureDetails
Card
defaulttrue
labelURL / Resource / JSON Structure
Resource: structures/<structure_id> 

URLhttps://api-stage.bimplus.net/v2/<team_slug>/structures/<structure_id>

Example:https://api-stage.bimplus.net/v2/bimplus/structures/179439d6-df16-41cc-bd2c-74d05b7995d5

Card
labelHTTP Method
 GET
Card
labelDescription
 Get details of a specified structure.
Card
labelRequest
Code Block
borderColorGreen
langxml
titleHeaders
Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088
Content-Type: application/json
Card
labelResponse
Code Block
borderColorGreen
langxml
titleStatus
Status: 200 OK
Code Block
borderColorRed
langxml
titleJSON
{
    "name": "TestStructure",
    "description": "FullLifeCycleTest",
    "type": "CostStructure",
    "nr": 1,
    "color": 0,
    "id": "179439d6-df16-41cc-bd2c-74d05b7995d5"
}

Anchor
createSubStructure
createSubStructure

Create a sub-node under the structure
Deck of Cards
idbimcreateSubStructure
Card
defaulttrue
labelURL / Resource / JSON Structure
Resource: structures/<structure_id> 

URLhttps://api-stage.bimplus.net/v2/<team_slug>/structures/<structure_id> 

Example:https://api-stage.bimplus.net/v2/bimplus/structures/179439d6-df16-41cc-bd2c-74d05b7995d5

JSON Structure

Name

Mandatory / Optional

Type

Description

parentId

mandatory

string(guid)

Parent node id of the structure (the id specified in the resource url)

name

mandatory

string

Name of the structure

description

optional

string

Description of the structure

typeoptionalstringType of the structure (eg: costStructure, specificationStructure)
nrwill be ignoredintegerThe index of the structure
coloroptionalintegerColor of the structure
idwill be ignoredstring(guid)Unique guid of the structure


Card
labelHTTP Method
 POST
Card
labelDescription
 Create a sub-node under a particular structure
Card
labelRequest
Code Block
borderColorGreen
langxml
titleHeaders
Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088
Content-Type: application/json
Code Block
borderColorRed
langxml
titleJSON
{
  "name": "Node 1"
}
Card
labelResponse
Code Block
borderColorGreen
langxml
titleStatus
Status: 201 Created
Code Block
borderColorRed
langxml
titleJSON
{
    "parentId": "179439d6-df16-41cc-bd2c-74d05b7995d5",
    "name": "Node 1",
    "type": "TopologyStructure",
    "nr": 1,
    "color": 0,
    "id": "adf506ae-3628-4501-9af1-22bcf27e4ab4"
}

Anchor
getStructureTopology
getStructureTopology

Get the structure topology
Deck of Cards
idbimGetStructureTopology
Card
defaulttrue
labelURL / Resource / JSON Structure
Resource: structures/<structure_id>/topology 

URLhttps://api-stage.bimplus.net/v2/<team_slug>/structures/<structure_id>/topology

Example:https://api-stage.bimplus.net/v2/bimplus/structures/179439d6-df16-41cc-bd2c-74d05b7995d5/topology

Card
labelHTTP Method
 GET
Card
labelDescription
 Get details of a specified structure.
Card
labelRequest
Code Block
borderColorGreen
langxml
titleHeaders
Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088
Content-Type: application/json
Card
labelResponse
Code Block
borderColorGreen
langxml
titleStatus
Status: 200 OK
Code Block
borderColorRed
langxml
titleJSON
{
    "parent": null,
    "name": "TestStructure",
    "type": "Structure",
    "children": [
        {
            "parent": "179439d6-df16-41cc-bd2c-74d05b7995d5",
            "name": "Node 1",
            "type": "Structure",
            "children": [],
            "id": "adf506ae-3628-4501-9af1-22bcf27e4ab4"
        }
    ],
    "id": "179439d6-df16-41cc-bd2c-74d05b7995d5"
}

Anchor
assignStructure
assignStructure

Assign an object to the latest/last structure node
Deck of Cards
idbimassignStructure
Card
defaulttrue
labelURL / Resource / JSON Structure
Resource: structures/<structure_id>/assign/<object_id> 

URLhttps://api-stage.bimplus.net/v2/<team_slug>/structures/<structure_id>/assign/<object_id> 

Example:https://api-stage.bimplus.net/v2/bimplus/structures/179439d6-df16-41cc-bd2c-74d05b7995d5/assign/df4a81d6-42fb-4187-bbce-82a2fc093b2f

JSON Structure

Name

Mandatory / Optional

Type

Description

color

optional

string(guid)

The id of the last node to which an object will be assigned

objectId

will be ignored

string(guid)

The id of the object to whom a structure will be assigned

name

mandatory

string

The name of the structure-object connection

nrwill be ignoredintegerThe index of the structure-object connection
idwill be ignoredstring(guid)Unique guid of the structure-object connection
variantTypeoptionalstring(guid)Variant Type Id to whom the object will be assigned
IfcGloballyUniqueIdoptionalstringIFC globally unique ID


Card
labelHTTP Method
 POST
Card
labelDescription

 Assign an object to the latest/last structure node

 

Note :

Works with two different inputs

  1. Object ID is present in the url - this object ID is used
  2. Object ID is not present, but content json contains IfcGloballyUniqueId - a corresponding Bimplus object is found and used as input object ID
    - if this IFC id is not found -> return "404 Not Found", if present multiple times -> return "409 Conflict"

Card
labelRequest
Code Block
borderColorGreen
langxml
titleHeaders
Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088
Content-Type: application/json
Code Block
borderColorRed
langxml
titleJSON
{
  "name": "WallConnection",
  "variantType" : "35b986c2-e9cd-482e-9281-6000671a49f0"
}
Card
labelResponse
Code Block
borderColorGreen
langxml
titleStatus
Status: 201 Created
Code Block
borderColorRed
langxml
titleJSON
{
    "structureId": "adf506ae-3628-4501-9af1-22bcf27e4ab4",
    "objectId": "df4a81d6-42fb-4187-bbce-82a2fc093b2f",
    "name": "WallConnection",
    "nr": 1,
    "id": "35b986c2-e9cd-482e-9281-6000671a49f0"
}

Anchor
assignAdditionalObjects
assignAdditionalObjects


Assign additional objects to the latest structureElement node
Deck of Cards
idbimAssignAdditionalObjects
Card
labelUrl

 Resource: structures/<structureElement_id>/assign/<object_id> 

URLhttps://api-stage.bimplus.net/v2/<team_slug>/structures/<structureElement_id>/assign/<object_id> 

Example:https://api-stage.bimplus.net/v2/bimplus/structures/179439d6-df16-41cc-bd2c-74d05b7995d5/assign/df4a81d6-42fb-4187-bbce-82a2fc093b2f

Card
labelHttpMethod

POST

Card
labelJson
{
    "structureId": "adf506ae-3628-4501-9af1-22bcf27e4ab4",
    "objectId": "df4a81d6-42fb-4187-bbce-82a2fc093b2f",
    "name": "WallConnection",
    "nr": 1,
    "id": "35b986c2-e9cd-482e-9281-6000671a49f0",
    "variantType" : "35b986c2-e9cd-482e-9281-6000671a49f0"
}

 

Anchor
removeAssignedObject
removeAssignedObject

Remove assigned object from the latest structureElement node
Deck of Cards
idbimRemoveAssignedObject
Card
labelUrl / Resource

Resource: structures/<structureElement_id>/delete/<object_id> 

URLhttps://api-stage.bimplus.net/v2/<team_slug>/structures/<structureElement_id>/delete/<object_id> 

Example: https://api-stage.bimplus.net/v2/bimplus/structures/35b986c2-e9cd-482e-9281-6000671a49f0/delete/df4a81d6-42fb-4187-bbce-82a2fc093b2f


Card
labelHttpMethod

 DELETE

Card
labelresponse

HttpStatusCode.OK

Anchor
copyStructure
copyStructure

Copy Structure
Deck of Cards
idbimCopyStructure
Card
labelUrl / Resource /Json

Resource: structures/<structure_id>/copy

URLhttps://api-stage.bimplus.net/v2/<team_slug>/structures/<structure_id>/copy

Example: https://api-stage.bimplus.net/v2/bimplus/structures/35b986c2-e9cd-482e-9281-6000671a49f0/copy

 

JSON Structure

 

Name

Mandatory / Optional

Type

Description

 

 

 

 

name

mandatory

string

Name of the new structure

 

 

 

 

typeoptionalstringType of the new structure (eg: costStructure, specificationStructure)
nrwill be ignoredintegerThe index of the new structure
coloroptionalintegerColor of the new structure
idwill be ignoredstring(guid)Unique guid of the structure
startDateoptionalstring (date)Start date ( depends on type of structure )
endDateoptionalstring (date)End date ( depends on type of structure )

 

Card
labelHttpMethod

POST

 

Anchor
updateStructure
updateStructure

Update the structure
Deck of Cards
idbimUpdateStructure
Card
defaulttrue
labelURL / Resource / JSON Structure
Resource: structures/<structure_id>

URLhttps://api-stage.bimplus.net/v2/<team_slug>/structures/<structure_id> 

Example:https://api-stage.bimplus.net/v2/bimplus/structures/179439d6-df16-41cc-bd2c-74d05b7995d5

JSON Structure

Name

Mandatory / Optional

Type

Description

parentId

optional

string(guid)

Parent node id of the structure (for the first structure, projectId is the parentId)

name

optional

string

Name of the structure

description

optional

string

Description of the structure

typeoptionalstringType of the structure (eg: costStructure, specificationStructure)
nroptionalintegerThe index of the structure
coloroptionalintegerColor of the structure
idwill be ignoredstring(guid)Unique guid of the structure
Card
labelHTTP Method
 PUT
Card
labelDescription
 Update the specified structure
Card
labelRequest
Code Block
borderColorGreen
langxml
titleHeaders
Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088
Content-Type: application/json
Code Block
borderColorRed
langxml
titleJSON
{
  "name": "Updated Structure"
}
Card
labelResponse
Code Block
borderColorGreen
langxml
titleStatus
Status: 200 OK
Code Block
borderColorRed
langxml
titleJSON
{
    "parentId": "622272da-f1ff-45ab-a3f0-c8f1255c80e8",
    "name": "Updated Structure",
    "description": "FullLifeCycleTest",
    "type": "CostStructure",
    "nr": 1,
    "color": 0,
    "id": "179439d6-df16-41cc-bd2c-74d05b7995d5"
}

Anchor
deleteStructure
deleteStructure

Delete the structure
Deck of Cards
idbimDeleteStructure
Card
defaulttrue
labelURL / Resource / JSON Structure

Resource: structures/<structure_id> 

URLhttps://api-stage.bimplus.net/v2/<team_slug>/structures/<structure_id>

Example:https://api-stage.bimplus.net/v2/bimplus/structures/db540336-47a3-426e-b3bf-1e532bfac8ea

Card
labelHTTP Method
 DELETE
Card
labelDescription
 Deletes a specified structure.
Card
labelRequest
Code Block
borderColorGreen
langxml
titleHeaders
Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088
Content-Type: application/json
Card
labelResponse
Code Block
borderColorGreen
langxml
titleStatus
Status: 200 OK

 

 

Card
defaulttrue
labelURL / Resource / JSON Structure
Resource: structures/<structure_id>

URLhttps://api-stage.bimplus.net/v2/<team_slug>/structures/<structure_id> 

Example:https://api-stage.bimplus.net/v2/bimplus/structures/179439d6-df16-41cc-bd2c-74d05b7995d5

JSON Structure

Name

Mandatory / Optional

Type

Description

parentId

optional

string(guid)

Parent node id of the structure (for the first structure, projectId is the parentId)

name

optional

string

Name of the structure

description

optional

string

Description of the structure

typeoptionalstringType of the structure (eg: costStructure, specificationStructure)
nroptionalintegerThe index of the structure
coloroptionalintegerColor of the structure
idwill be ignoredstring(guid)Unique guid of the structure

 

Anchor
createVariant
createVariant

Create a new variant in a project
Deck of Cards
idbimcreateVariant
Card
defaulttrue
labelURL / Resource / JSON Structure
Resource: projects/<project_id>/variants 

URLhttps://api-stage.bimplus.net/v2/<team_slug>/projects/<project_id>/variants

Example:https://api-stage.bimplus.net/v2/bimplus/projects/622272da-f1ff-45ab-a3f0-c8f1255c80e8/variants

JSON Structure

Name

Mandatory / Optional

Type

Description

name

mandatory

string

Name of the variant

description

optional

string

Description of the variant

idwill be ignoredstring(guid)Unique guid of the structure


Card
labelHTTP Method
 POST
Card
labelDescription
 Create a new variant of defined structure(eg: cost structure, specification structure) under a project
Card
labelRequest
Code Block
borderColorGreen
langxml
titleHeaders
Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088
Content-Type: application/json
Code Block
borderColorRed
langxml
titleJSON
{
    "name": "TestVariant",
    "description": "Description of the Test variant"
}
Card
labelResponse
Code Block
borderColorGreen
langxml
titleStatus
Status: 201 Created
Code Block
borderColorRed
langxml
titleJSON
{
  "name": "TestVariant",
  "description": "Description of the Test variant",
  "id": "733e429a-e232-4e5d-a41e-9bd50aa9763c"
}

Anchor
getVariantDetails
getVariantDetails

Get the variant details
Deck of Cards
idbimGetVariantDetails
Card
defaulttrue
labelURL / Resource / JSON Structure
Resource: projects/<project_id>/variants/<variant_id> 

URLhttps://api-stage.bimplus.net/v2/<team_slug>/projects/<project_id>/variants/<variant_id>

Example:https://api-stage.bimplus.net/v2/bimplus/projects/622272da-f1ff-45ab-a3f0-c8f1255c80e8/variants/733e429a-e232-4e5d-a41e-9bd50aa9763c 

Card
labelHTTP Method
 GET
Card
labelDescription
 Get details of a specified variant.
Card
labelRequest
Code Block
borderColorGreen
langxml
titleHeaders
Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088
Content-Type: application/json
Card
labelResponse
Code Block
borderColorGreen
langxml
titleStatus
Status: 200 OK
Code Block
borderColorRed
langxml
titleJSON
{
  "name": "TestVariant",
  "description": "Description of the Test variant",
  "id": "733e429a-e232-4e5d-a41e-9bd50aa9763c"
}

Anchor
getVariantList
getVariantList

Get the list of existing variants inside a project
Deck of Cards
idbimGetVariantList
Card
defaulttrue
labelURL / Resource / JSON Structure

Resource: projects/<project_id>/variants

URLhttps://api-stage.bimplus.net/v2/<team_slug>/projects/<project_id>/variants

Example:https://api-stage.bimplus.net/v2/bimplus/projects/622272da-f1ff-45ab-a3f0-c8f1255c80e8/variants 

Card
labelHTTP Method
 GET
Card
labelDescription
 Gets the list of existing variants inside a project.
Card
labelRequest
Code Block
borderColorGreen
langxml
titleHeaders
Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088
Content-Type: application/json
Card
labelResponse
Code Block
borderColorGreen
langxml
titleStatus
Status: 200 OK
Code Block
borderColorRed
langxml
titleJSON
[
  {
    "name": "TestVariant1",
    "description": "Description of the Test variant 1",
    "id": "6dc03014-8601-49fd-bae9-ef5b185603b6"
  },
  {
    "name": "TestVariant2",
    "description": "Description of the Test variant 2",
    "id": "4c1fda6b-7fd9-42a7-a4ae-88eababd3082"
  },
  {
    "name": "TestVariant3",
    "description": "Description of the Test variant 3",
    "id": "f2cf9b21-c1bb-463d-bbee-a6fbfb5e8b3e"
  },
  {
    "name": "TestVariant4",
    "description": "Description of the Test variant 4",
    "id": "733e429a-e232-4e5d-a41e-9bd50aa9763c"
  }
]