| POST,OPTIONS | /v1/projects/{ProjectID}/bluebeam/import/commit |
|---|
import Foundation
import ServiceStack
public class BluebeamCommitRequest : Codable
{
public var projectID:Int
public var fileName:String
public var rows:[BluebeamMappedRow] = []
public var rfpDocumentUID:String?
required public init(){}
}
public class BluebeamMappedRow : Codable
{
public var rowNo:Int
public var target:String
public var title:String
public var Description:String
public var area:String
public var trade:String
public var assignedSub:String
public var priority:String
public var quantity:Double?
public var quantityKind:String
public var unit:String
public var taskSeq:Int?
public var reason:String
public var source:BluebeamRow
required public init(){}
}
public class BluebeamRow : Codable
{
public var rowNo:Int
public var subject:String
public var pageLabel:String
public var pageIndex:Int?
public var author:String
public var date:String
public var status:String
public var color:String
public var comments:String
public var label:String
public var layer:String
public var space:String
public var length:Double?
public var area:Double?
public var count:Double?
public var volume:Double?
public var measurement:String
public var x:Double?
public var y:Double?
public var width:Double?
public var height:Double?
public var extras:[String:String] = [:]
required public init(){}
}
public class BluebeamCommitResponse : Codable
{
public var responseStatus:ResponseStatus
public var result:BluebeamCommitResult
public var quantitiesCsv:String
public var quantitiesWritten:Int
required public init(){}
}
public class BluebeamCommitResult : Codable
{
public var punchCreated:Int
public var rfisCreated:Int
public var skipped:Int
public var created:[String] = []
public var quantities:[BluebeamMappedRow] = []
public var errors:[String] = []
required public init(){}
}
Swift BluebeamCommitRequest DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /v1/projects/{ProjectID}/bluebeam/import/commit HTTP/1.1
Host: api.dev.dynamics.trendsic.com
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
ProjectID: 0,
FileName: String,
Rows:
[
{
RowNo: 0,
Target: String,
Title: String,
Description: String,
Area: String,
Trade: String,
AssignedSub: String,
Priority: String,
Quantity: 0,
QuantityKind: String,
Unit: String,
TaskSeq: 0,
Reason: String,
Source:
{
RowNo: 0,
Subject: String,
PageLabel: String,
PageIndex: 0,
Author: String,
Date: String,
Status: String,
Color: String,
Comments: String,
Label: String,
Layer: String,
Space: String,
Length: 0,
Area: 0,
Count: 0,
Volume: 0,
Measurement: String,
X: 0,
Y: 0,
Width: 0,
Height: 0,
Extras:
{
String: String
}
}
}
],
RfpDocumentUID: 00000000000000000000000000000000
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
ResponseStatus:
{
ErrorCode: String,
Message: String,
StackTrace: String,
Errors:
[
{
ErrorCode: String,
FieldName: String,
Message: String,
Meta:
{
String: String
}
}
],
Meta:
{
String: String
}
},
Result:
{
PunchCreated: 0,
RfisCreated: 0,
Skipped: 0,
Created:
[
String
],
Quantities:
[
{
RowNo: 0,
Target: String,
Title: String,
Description: String,
Area: String,
Trade: String,
AssignedSub: String,
Priority: String,
Quantity: 0,
QuantityKind: String,
Unit: String,
TaskSeq: 0,
Reason: String,
Source:
{
RowNo: 0,
Subject: String,
PageLabel: String,
PageIndex: 0,
Author: String,
Date: String,
Status: String,
Color: String,
Comments: String,
Label: String,
Layer: String,
Space: String,
Length: 0,
Area: 0,
Count: 0,
Volume: 0,
Measurement: String,
X: 0,
Y: 0,
Width: 0,
Height: 0,
Extras:
{
String: String
}
}
}
],
Errors:
[
String
]
},
QuantitiesCsv: String,
QuantitiesWritten: 0
}