Topic Service
- Create issue
- Get details of the issue
- Get all the issue types
- Get details of the issue type
- Create a new pin for the issue
- Get all the pins of the issue
- Delete all the pins from the issue
- Create a new comment for the issue
- Get all the comments of the issue
- Delete all the comments from the issue
- Create a new attachment for the issue
- Get the attachment list from the issue
- Delete all the attachments from the issue
- Working with hyperlinks belonging to an issue
- Update the issue
- Delete the issue
Topic Service
Issues are problems or remarks which can be assigned to any project. Comments or attachments can be added to the issue. Please see the detailed structure of the issue in the Object Model
Create issue
URL: https://api-stage.bimplus.net/v2/<team_slug>/projects/<project_id>/issues
Example: https://api-stage.bimplus.net/v2/bimplus/projects/0d2ce2cc-3588-45d6-a59a-f6b89ebed34e/issues
JSON Structure:
Name |
Mandatory / Optional |
Type |
Description |
---|---|---|---|
shortId | will be ignored | number | Readable unique issue number (always starts with 1 for each project) |
projectId |
will be ignored |
string (guid) |
Id of the project |
name |
optional |
string |
Name of the issue |
description |
optional |
string |
Description of the issue |
author |
optional |
object |
Author of the issue |
responsible | optional | object | Responsible person for the issue |
status |
optional |
string |
Status of the issue. Should have one of the values: Open, Solved or Closed. Default value is Open. |
createdAt |
will be ignored |
string (date) |
Creation date of the issue |
dueDate |
optional |
string (date) |
The date in which the issue is planned to be finished |
type | optional | string | Type of the issues. Possible values : Problem, Remark, Task, Appointment, Document, Contact, Clash. Default values is Problem. |
solution |
optional |
string |
The proposed solution for the issue |
classification |
optional |
string |
The classification to which the issues belongs |
priority |
optional |
string |
The priority of the issue. Should have one of the values: Low, Medium or High |
tag | optional | string | custom classification |
modifiedAt | optional | string | Modified date of the issue |
scene | optional | Fixed template | Scene/View of this topic. The pre-defined template is present here |
cc | optional | array of string | List of emails, of users that will be additionally informed about changes in the issue. |
clashId | optional | string ( guid ) | Id of the clash ( only if issue type = Clash ) |
attachmentsCount | will be ignored | int | Count of attachments attached to the issue |
pinsCount | will be ignored | int | Count of pins of the issue |
commentsCount | will be ignored | int | Count of comments to the issue |
hyperlinksCount | will be ignored | int | Count of hyperlinks attached to the issue |
Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088 Content-Type: application/json
{ "name" : "Wall info wrong", "description" : "This wall is wrong", "responsible" : { "id" : "0132ecbe-2ac5-4ae1-945d-d38fc3bc1e82" }, "status" : "Open", "type" : "Problem", "solution" : "MySolution", "priority" : "High", "tag" : "Wall problems", "classification" : "Problems", "cc" : [ "testuser@bimplus.net" ] }
Status: 201 Created
{ "name": "Wall info wrong", "author": { "id": "7c555899-5a5f-44d1-930e-284930678bed", "email": "testuser1@allplan.com", "firstname": "Test", "lastname": "User1", "company": "Allplan Bratislava", "fullname": "Test User1" }, "responsible": { "id": "0132ecbe-2ac5-4ae1-945d-d38fc3bc1e82", "email": "testuser1@allplan.com", "firstname": "Test", "lastname": "User2", "company": "Allplan Bratislava", "fullname": "Test User2" }, "scene": null, "attachmentsCount": 0, "pinsCount": 0, "commentsCount": 0, "hyperlinksCount": 0, "shortId": 4, "projectId": "de87fc4d-cb5d-44ba-b2ea-1d96ac564a8a", "description": "This wall is wrong", "status": "Open", "createdAt": "2016-02-15T08:12:49.9831726+01:00", "modifiedAt": "2016-02-15T08:12:49.9831726+01:00", "dueDate": null, "solution": "MySolution", "type": "Problem", "classification": "Problems", "priority": "High", "cc": [ "abc@bimplus.net" ], "id": "01b5768a-bd19-4049-b72e-b44485514ef8" }
Get details of the issue
URL: https://api-stage.bimplus.net/v2/<team_slug>/issues/<issue_id>
Example: https://api-stage.bimplus.net/v2/bimplus/issues/8ead8bfe-ab23-4340-ac47-38181e83bff3
Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088 Content-Type: application/json
Status: 200 OK
{ "name": "Wall info wrong", "author": { "id": "7c555899-5a5f-44d1-930e-284930678bed", "email": "testuser1@allplan.com", "firstname": "Test", "lastname": "User1", "company": "Allplan Bratislava", "fullname": "Test User1" }, "responsible": { "id": "0132ecbe-2ac5-4ae1-945d-d38fc3bc1e82", "email": "testuser1@allplan.com", "firstname": "Test", "lastname": "User2", "company": "Allplan Bratislava", "fullname": "Test User2" }, "scene": null, "attachmentsCount": 0, "pinsCount": 0, "commentsCount": 0, "hyperlinksCount": 0, "shortId": 4, "projectId": "de87fc4d-cb5d-44ba-b2ea-1d96ac564a8a", "description": "This wall is wrong", "status": "Open", "createdAt": "2016-02-15T08:12:49.9831726+01:00", "modifiedAt": "2016-02-15T08:12:49.9831726+01:00", "dueDate": null, "solution": "MySolution", "type": "Problem", "classification": "Problems", "priority": "High", "cc": [ "abc@bimplus.net" ], "id": "01b5768a-bd19-4049-b72e-b44485514ef8" }
Get all the issue types (Not implemented)
URL: https://api-stage.bimplus.net/v2/<team_slug>/issues/types
Example: https://api-stage.bimplus.net/v2/bimplus/issues/types
Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088 Content-Type: application/json
Status: 200 OK
Get details of the issue type (Not implemented)
URL: https://api-stage.bimplus.net/v2/<team_slug>/issues/types/<type_id>
Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088 Content-Type: application/json
Status: 200 OK
Create a new pin for the issue
URL: https://api-stage.bimplus.net/v2//issues//pins
Example: https://api-stage.bimplus.net/v2//issues/8ead8bfe-ab23-4340-ac47-38181e83bff3/pins
JSON Structure:
Name |
Mandatory / Optional |
Type |
Description |
---|---|---|---|
issueId |
will be ignored |
string (guid) |
The id of the issue to which the pin is related |
objectId |
mandatory |
string (guid) |
The id of the object to which the pin is related |
topologyNodeId |
will be ignored |
string (guid) |
The id of the topology to which the pin is attached |
position |
optional |
object |
The position of the issue in the building (x,y,z co-ordinates) |
normalVector |
optional |
object |
The direction of the issue in the 3D space (x,y,z co-ordinates) |
createdAt |
will be ignored |
date |
Creation date of the pin |
Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088 Content-Type: application/json
{ "objectId": "7cf910cb-e357-43f6-aa3a-b45c26380f75", "position": { "x": "123.45", "y": "234.56", "z": "345.67" }, "normalVector": { "x": "0", "y": "1", "z": "2" } }
Status: 201 Created
{ "issueId": "8ead8bfe-ab23-4340-ac47-38181e83bff3", "objectId": "7cf910cb-e357-43f6-aa3a-b45c26380f75", "topologyNodeId": "387fa6cc-b6f9-4470-8c42-c07982aba660", "position": { "x": "123.45", "y": "234.56", "z": "345.67" }, "normalVector": { "x": "0", "y": "1", "z": "2" }, "createdAt": "2013-06-07T10:07:00+00:00", "id": "8836308d-f09f-4bb7-b6d2-354a2db205a6" }
Get all the pins of the issue
URL: https://api-stage.bimplus.net/v2//issues//pins
Example: https://api-stage.bimplus.net/v2/bimplus/issues/8ead8bfe-ab23-4340-ac47-38181e83bff3/pins
Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088 Content-Type: application/json
Status: 200 OK
[ { "issueId": "8ead8bfe-ab23-4340-ac47-38181e83bff3", "objectId": "00000000-0000-0000-0000-000000000000", "topologyNodeId": "387fa6cc-b6f9-4470-8c42-c07982aba660", "position": { "x": 123.45, "y": 234.56, "z": 345.67 }, "normalVector": { "x": 0, "y": 1, "z": 2 }, "createdAt": "2013-06-07T10:07:00", "id": "8836308d-f09f-4bb7-b6d2-354a2db205a6" } ]
Delete all the pins from the issue
URL: https://api-stage.bimplus.net/v2/<team_slug>/issues/<issue_id>/pins
Example: https://api-stage.bimplus.net/v2/bimplus/issues/8ead8bfe-ab23-4340-ac47-38181e83bff3/pins
Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088 Content-Type: application/json
Status: 200 OK
Create a new comment for the issue
Please note that you can also use the Bimplus Object Service for working with the comments belonging to an issue
URL: https://api-stage.bimplus.net/v2/<team_slug>/issues/<issue_id>/comments
Example: https://api-stage.bimplus.net/v2//issues/cb96a9b1-48c9-4d97-8c9e-262476c1c6b2/comments
JSON Structure:
Name |
Mandatory / Optional |
Type |
Description |
---|---|---|---|
issueId | will be ignored | string(guid) | The id of the issue |
text |
mandatory |
string |
The comment text |
createdAt |
will be ignored |
string (date) |
Creation date of the comment |
modifiedAt | will be ignored | string (date) | Modified date of the comment |
author |
will be ignored |
object |
The author of the comment |
Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088 Content-Type: application/json
{ "text": "The fire exit should be x:120, y: 120; z: 340" }
Status: 201 Created
{ "issueId": "cb96a9b1-48c9-4d97-8c9e-262476c1c6b2", "text": "The fire exit should be x:120, y: 120; z: 340", "createdAt": "2013-07-02T13:26:18.8932853+00:00", "author": { "id": "00000000-0000-0000-0000-000000000000", "email": "", "firstname": "Unknown", "lastname": "User", "company": "", "fullname": "Unknown User", "displayname": "Unknown User", "info": "", "gender": "", "phoneWork": "", "phoneHome": "", "fax": "", "mobile": "", "birthDate": "0000-00-00", "address": { "street": "", "streetNr": "", "zip": "", "city": "", "country": "" }, "preferedLanguage": null }, "id": "d258c905-c8af-4463-b0d8-ac09dbcfc255" }
Get all the comments of the issue
URL: https://api-stage.bimplus.net/v2/<team_slug>/issues/<issue_id>/comments
Example: https://api-stage.bimplus.net/v2//issues/cb96a9b1-48c9-4d97-8c9e-262476c1c6b2/comments
Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088 Content-Type: application/json
Status: 200 OK
[ { "issueId": "cb96a9b1-48c9-4d97-8c9e-262476c1c6b2", "text": "The fire exit should be x:120, y: 120; z: 340", "createdAt": "2013-07-02T13:26:18+00:00", "modifiedAt": "2013-07-03T13:26:18+00:00", "author": { "id": "00000000-0000-0000-0000-000000000000", "email": "", "firstname": "Unknown", "lastname": "User", "company": "", "fullname": "Unknown User", "displayname": "Unknown User", "info": "", "gender": "", "phoneWork": "", "phoneHome": "", "fax": "", "mobile": "", "birthDate": "0000-00-00", "address": { "street": "", "streetNr": "", "zip": "", "city": "", "country": "" }, "preferedLanguage": null }, "id": "d258c905-c8af-4463-b0d8-ac09dbcfc255" } ]
Delete all the comments from the issue
URL: https://api-stage.bimplus.net/v2/<team_slug>/issues/<issue_id>/comments
Example: https://api-stage.bimplus.net/v2//issues/cb96a9b1-48c9-4d97-8c9e-262476c1c6b2/comments
Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088 Content-Type: application/json
Status: 200 OK
Create a new attachment for the issue
Please note that you can also use the Bimplus Object Service for working with the attachments belonging to an issue
URL: https://api-stage.bimplus.net/v2//issues/<issue_id>/attachments
Example:https://api-stage.bimplus.net/v2/bimplus/issues/8ead8bfe-ab23-4340-ac47-38181e83bff3/attachments
Bimplus supports creating and updating of attachments only using requests with multipart/form-data content type. By standard, multipart/form-data content consists of several parts, each part containing a file data.
But Bimplus supports only one file sent per call, so only first part of multipart form data content is used, the rest are ignored. The parts are separated by boundaries, each part contains content headers and content data.
Examples :
Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088 Content-Type: multipart/form-data; boundary=----MyFormBoundarytlTJWL8i2mvYwGPW
------MyFormBoundarytlTJWL8i2mvYwGPW Content-Disposition: form-data; name="TestFile"; filename="TestFile.xml"; classification="Report"; tag="ABCDE" Content-Type: application/xml **** Here are file data ****** ------MyFormBoundarytlTJWL8i2mvYwGPW
Where :
- name and filename are mandatory saved as attachment's "name" and "filename" properties
- classification and tag are optional, and are saved as attachment's properties "tag" and "classification"
- Content-Type is mandatory and is saved as attachment's property "type"
Status: 201 Created
{ "objectIds": [ "0d2ce2cc-3588-45d6-a59a-f6b89ebed34e" ], "fileName": "TestFile.xml", "type": "application/xml", "size": 211258, "createdAt": "2013-12-11T10:47:39", "creator": { "id": "e18941f4-a809-2d01-d27d-cd251f2b6cb6", "email": "test@bimplus.net", "firstname": "First Name", "lastname": "Second Name", "company": "Best-Company", "fullname": "First Name Second Name", "displayname": "Best-Company", }, "changed" : "2013-12-11T10:47:39", "changedBy" : { "id": "e18941f4-a809-2d01-d27d-cd251f2b6cb6", "email": "test@bimplus.net", }, "hash": "68a59c1f-1914-43b8-92fc-1cee4ad1c90c", "attachmentType" : "Document", "classification" : "Report", "tag" : "ABCDE", "sizeMB" : "0,21", "version" : "1", "relatedId" : "0d2ce2cc-3588-45d6-a59a-f6b89ebed34e", "rights" : { "update" : true, "share" : true, "delete" : true, "download" : true }, "id": "6cea110a-88f4-43ac-9a00-ebaf677be333" }
Get the attachment list from the issue
URL: https://api-stage.bimplus.net/v2/<team_slug>/issues/<issue_id>/attachments
Example: https://api-stage.bimplus.net/v2/bimplus/issues/8ead8bfe-ab23-4340-ac47-38181e83bff3/attachments
Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088 Content-Type: application/json
Status: 200 OK
[ { "objectIds": [ "0d2ce2cc-3588-45d6-a59a-f6b89ebed34e" ], "fileName": "TestFile.xml", "type": "application/xml", "size": 211258, "createdAt": "2013-12-11T10:47:39", "creator": { "id": "e18941f4-a809-2d01-d27d-cd251f2b6cb6", "email": "test@bimplus.net", "firstname": "First Name", "lastname": "Second Name", "company": "Best-Company", "fullname": "First Name Second Name", "displayname": "Best-Company", }, "changed" : "2013-12-11T10:47:39", "changedBy" : { "id": "e18941f4-a809-2d01-d27d-cd251f2b6cb6", "email": "test@bimplus.net", }, "hash": "68a59c1f-1914-43b8-92fc-1cee4ad1c90c", "attachmentType" : "Document", "classification" : "Report", "tag" : "ABCDE", "sizeMB" : "0,21", "version" : "1", "relatedId" : "0d2ce2cc-3588-45d6-a59a-f6b89ebed34e", "rights" : { "update" : true, "share" : true, "delete" : true, "download" : true }, "id": "6cea110a-88f4-43ac-9a00-ebaf677be333" }, ... ]
Delete all the attachments from the issue
URL: https://api-stage.bimplus.net/v2//issues/<issue_id>/attachments
Example:https://api-stage.bimplus.net/v2/bimplus/issues/8ead8bfe-ab23-4340-ac47-38181e83bff3/attachments
Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088 Content-Type: application/json
Status: 200 OK
Working with hyperlinks belonging to an issue
Please use the Bimplus Object Service for working with hyperlinks belonging to an issue
Update the issue
URL: https://api-stage.bimplus.net/v2/<team_slug>/issues/<issue_id>
Example: https://api-stage.bimplus.net/v2/bimplus/issues/8ead8bfe-ab23-4340-ac47-38181e83bff3
JSON Structure:
Name |
Mandatory / Optional |
Type |
Description |
---|---|---|---|
shortId | will be ignored | number | Readable unique issue number(always starts with 1 for each project) |
projectId |
will be ignored |
string (guid) |
Id of the project |
name |
optional |
string |
Name of the issue |
description |
optional |
string |
Description of the issue |
author |
optional |
object |
Author of the issue |
responsible | optional | object | Responsible person for the issue |
status |
optional |
string |
Status of the issue. Should have one of the values: Open, Solved or Closed |
createdAt |
will be ignored |
string (date) |
Creation date of the issue |
dueDate |
optional |
string (date) |
The date in which the issue is planned to be finished |
solution |
optional |
string |
The proposed solution for the issue |
classification |
optional |
string |
The classification to which the issues belongs |
priority |
optional |
string |
The priority of the issue. Should have one of the values: Low, Medium or High |
Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088 Content-Type: application/json
{ "name": "Fire Exit Wrong", "description": "The fire exit is in the wrong place(x:120, y: 120; z: 340)", "author": "Mr. Smart", "status": "open" }
Status: 200 OK
Delete the issue
URL: https://api-stage.bimplus.net/v2/<team_slug>/issues/<issue_id>
Example: https://api-stage.bimplus.net/v2/bimplus/issues/8ead8bfe-ab23-4340-ac47-38181e83bff3
Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088 Content-Type: application/json
Status: 200 OK
Bimplus supports creating and updating of attachments only using requests with multipart/form-data content type. By standard, multipart/form-data content consists of several parts, each part containing a file data.
But Bimplus supports only one file sent per call, so only first part of multipart form data content is used, the rest are ignored. The parts are separated by boundaries, each part contains content headers and content data.
Examples :
Where :
- name and filename are mandatory saved as attachment's "name" and "filename" properties
- classification and tag are optional, and are saved as attachment's properties "tag" and "classification"
- Content-Type is mandatory and is saved as attachment's property "type"