| POST,OPTIONS | /v1/projects/{ProjectID}/bluebeam/import/commit |
|---|
"use strict";
export class BluebeamRow {
/** @param {{RowNo?:number,Subject?:string,PageLabel?:string,PageIndex?:number,Author?:string,Date?:string,Status?:string,Color?:string,Comments?:string,Label?:string,Layer?:string,Space?:string,Length?:number,Area?:number,Count?:number,Volume?:number,Measurement?:string,X?:number,Y?:number,Width?:number,Height?:number,Extras?:{ [index:string]: string; }}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {number} */
RowNo;
/** @type {string} */
Subject;
/** @type {string} */
PageLabel;
/** @type {?number} */
PageIndex;
/** @type {string} */
Author;
/** @type {string} */
Date;
/** @type {string} */
Status;
/** @type {string} */
Color;
/** @type {string} */
Comments;
/** @type {string} */
Label;
/** @type {string} */
Layer;
/** @type {string} */
Space;
/** @type {?number} */
Length;
/** @type {?number} */
Area;
/** @type {?number} */
Count;
/** @type {?number} */
Volume;
/** @type {string} */
Measurement;
/** @type {?number} */
X;
/** @type {?number} */
Y;
/** @type {?number} */
Width;
/** @type {?number} */
Height;
/** @type {{ [index:string]: string; }} */
Extras = {};
}
export class BluebeamMappedRow {
/** @param {{RowNo?:number,Target?:string,Title?:string,Description?:string,Area?:string,Trade?:string,AssignedSub?:string,Priority?:string,Quantity?:number,QuantityKind?:string,Unit?:string,TaskSeq?:number,Reason?:string,Source?:BluebeamRow}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {number} */
RowNo;
/** @type {string} */
Target;
/** @type {string} */
Title;
/** @type {string} */
Description;
/** @type {string} */
Area;
/** @type {string} */
Trade;
/** @type {string} */
AssignedSub;
/** @type {string} */
Priority;
/** @type {?number} */
Quantity;
/** @type {string} */
QuantityKind;
/** @type {string} */
Unit;
/** @type {?number} */
TaskSeq;
/** @type {string} */
Reason;
/** @type {BluebeamRow} */
Source;
}
export class BluebeamCommitResult {
/** @param {{PunchCreated?:number,RfisCreated?:number,Skipped?:number,Created?:string[],Quantities?:BluebeamMappedRow[],Errors?:string[]}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {number} */
PunchCreated;
/** @type {number} */
RfisCreated;
/** @type {number} */
Skipped;
/** @type {string[]} */
Created = [];
/** @type {BluebeamMappedRow[]} */
Quantities = [];
/** @type {string[]} */
Errors = [];
}
export class BluebeamCommitResponse {
/** @param {{ResponseStatus?:ResponseStatus,Result?:BluebeamCommitResult,QuantitiesCsv?:string,QuantitiesWritten?:number}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {ResponseStatus} */
ResponseStatus;
/** @type {BluebeamCommitResult} */
Result;
/** @type {string} */
QuantitiesCsv;
/** @type {number} */
QuantitiesWritten;
}
export class BluebeamCommitRequest {
/** @param {{ProjectID?:number,FileName?:string,Rows?:BluebeamMappedRow[],RfpDocumentUID?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {number} */
ProjectID;
/** @type {string} */
FileName;
/** @type {BluebeamMappedRow[]} */
Rows = [];
/** @type {?string} */
RfpDocumentUID;
}
JavaScript 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
}