Structure Service
- Create a new structure in a project
- Get the structure details
- Create a sub-node under the structure
- Get the structure topology
- Assign an object to the latest/last structure node
- Assign additional objects to the latest structureElement node
- Update the structure
- Delete the structure
Structure Service
A hierarchical tree structure(eg: cost structure) could be added and later retrieved from a project/object using the Structure service
Create a new structure in a project
URL: https://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 |
type | optional | string | Type of the structure (eg: costStructure, specificationStructure) |
nr | will be ignored | integer | The index of the structure |
color | optional | integer | Color of the structure |
id | will be ignored | string(guid) | Unique guid of the structure |
startDate | optional | string (date) | Start date ( depends on type of structure ) |
endDate | optional | string (date) | End date ( depends on type of structure ) |
Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088 Content-Type: application/json
{ "name": "TestStructure", "description": "FullLifeCycleTest", "type": "CostStructure" }
Status: 201 Created
{ "parentId": "622272da-f1ff-45ab-a3f0-c8f1255c80e8", "name": "TestStructure", "description": "FullLifeCycleTest", "type": "CostStructure", "nr": 1, "color": 0, "id": "179439d6-df16-41cc-bd2c-74d05b7995d5" }
Get the structure details
URL: https://api-stage.bimplus.net/v2/<team_slug>/structures/<structure_id>
Example:https://api-stage.bimplus.net/v2/bimplus/structures/179439d6-df16-41cc-bd2c-74d05b7995d5
Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088 Content-Type: application/json
Status: 200 OK
{ "name": "TestStructure", "description": "FullLifeCycleTest", "type": "CostStructure", "nr": 1, "color": 0, "id": "179439d6-df16-41cc-bd2c-74d05b7995d5" }
Create a sub-node under the structure
URL: https://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 |
type | optional | string | Type of the structure (eg: costStructure, specificationStructure) |
nr | will be ignored | integer | The index of the structure |
color | optional | integer | Color of the structure |
id | will be ignored | string(guid) | Unique guid of the structure |
Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088 Content-Type: application/json
{ "name": "Node 1" }
Status: 201 Created
{ "parentId": "179439d6-df16-41cc-bd2c-74d05b7995d5", "name": "Node 1", "type": "TopologyStructure", "nr": 1, "color": 0, "id": "adf506ae-3628-4501-9af1-22bcf27e4ab4" }
Get the structure topology
URL: https://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
Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088 Content-Type: application/json
Status: 200 OK
{ "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" }
Assign an object to the latest/last structure node
URL: https://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 |
---|---|---|---|
structureId |
will be ignored |
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 |
nr | will be ignored | integer | The index of the structure-object connection |
id | will be ignored | string(guid) | Unique guid of the structure-object connection |
Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088 Content-Type: application/json
{ "name": "WallConnection" }
Status: 201 Created
{ "structureId": "adf506ae-3628-4501-9af1-22bcf27e4ab4", "objectId": "df4a81d6-42fb-4187-bbce-82a2fc093b2f", "name": "WallConnection", "nr": 1, "id": "35b986c2-e9cd-482e-9281-6000671a49f0" }
Assign additional objects to the latest structureElement node
Resource: structures/<structureElement_id>/assign/<object_id>
URL: https://api-stage.bimplus.net/v2/<team_slug>/structures/<structureElement_id>/assign/<object_id>
Example: https://api-stage.bimplus.net/v2/bimplus/structures/35b986c2-e9cd-482e-9281-6000671a49f0/assign/df4a81d6-42fb-4187-bbce-82a2fc093b2f
use the response from previous call for 'StructureElement.id'
POST
is the same like previous call
Remove assigned object from the latest structureElement node
Resource: structures/<structureElement_id>/delete/<object_id>
URL: https://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
DELETE
HttpStatusCode.OK
Copy Structure
Resource: structures/<structure_id>/copy
URL: https://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
Update the structure
URL: https://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 |
type | optional | string | Type of the structure (eg: costStructure, specificationStructure) |
nr | optional | integer | The index of the structure |
color | optional | integer | Color of the structure |
id | will be ignored | string(guid) | Unique guid of the structure |
Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088 Content-Type: application/json
{ "name": "Updated Structure" }
Status: 200 OK
{ "parentId": "622272da-f1ff-45ab-a3f0-c8f1255c80e8", "name": "Updated Structure", "description": "FullLifeCycleTest", "type": "CostStructure", "nr": 1, "color": 0, "id": "179439d6-df16-41cc-bd2c-74d05b7995d5" }
Delete the structure
Resource: structures/<structure_id>
URL: https://api-stage.bimplus.net/v2/<team_slug>/structures/<structure_id>
Example:https://api-stage.bimplus.net/v2/bimplus/structures/db540336-47a3-426e-b3bf-1e532bfac8ea
Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088 Content-Type: application/json
Status: 200 OK
URL: https://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 |
type | optional | string | Type of the structure (eg: costStructure, specificationStructure) |
nr | optional | integer | The index of the structure |
color | optional | integer | Color of the structure |
id | will be ignored | string(guid) | Unique guid of the structure |