Trendsic Platform Service

<back to all web services

RfpApproveRequest

Requires Authentication
Requires any of the roles:Agent, Administrator
The following routes are available for this service:
POST,OPTIONS/v1/Rfp/{RfpDocumentUID}/Approve
RfpApproveRequest Parameters:
NameParameterData TypeRequiredDescription
RfpDocumentUIDpathGuidNo
ProposalbodyProjectProposalNo
ProjectProposal Parameters:
NameParameterData TypeRequiredDescription
RfpDocumentIDformintNo
ProjectNameformstringNo
ClientNameformstringNo
ProjectTypeformstringNo
ProjectLocationformstringNo
ScopeformstringNo
ProjectDescriptionformstringNo
ContractDurationDaysformint?No
BidDueDateformstringNo
EstimatedStartDateformDateTime?No
EstimatedEndDateformDateTime?No
TasksformList<ProposedTask>No
ProposedTask Parameters:
NameParameterData TypeRequiredDescription
SeqformintNo
NameformstringNo
CategoryformstringNo
Quantityformdouble?No
UnitformstringNo
SourceItemNumberformstringNo
SourceReferenceformstringNo
NotesformstringNo
ResourcingformTaskResourcingNo
DurationDaysformdouble?No
DependsOnformList<int>No
EstimatedStartDateformDateTime?No
EstimatedEndDateformDateTime?No
TaskResourcing Parameters:
NameParameterData TypeRequiredDescription
PositionsformList<ResourcedPosition>No
EquipmentformList<ResourcedEquipment>No
MaterialsformList<ResourcedMaterial>No
ResourcedPosition Parameters:
NameParameterData TypeRequiredDescription
PositionTagformstringNo
Hoursformdouble?No
Headcountformint?No
SourceReferenceformstringNo
NotesformstringNo
IsInCatalogformboolNo
ContactIDformint?No
ResourcedEquipment Parameters:
NameParameterData TypeRequiredDescription
EquipmentIDformintNo
EquipmentNameformstringNo
MakeModelformstringNo
Quantityformdouble?No
DurationDaysformdouble?No
SourceReferenceformstringNo
NotesformstringNo
IsInCatalogformboolNo
SuggestedEquipmentIDformintNo
SuggestedEquipmentNameformstringNo
ResourcedMaterial Parameters:
NameParameterData TypeRequiredDescription
MaterialIDformintNo
MaterialNameformstringNo
MakeModelformstringNo
Quantityformdouble?No
UnitformstringNo
SourceReferenceformstringNo
NotesformstringNo
IsInCatalogformboolNo
SuggestedMaterialIDformintNo
SuggestedMaterialNameformstringNo
RfpApproveResponse Parameters:
NameParameterData TypeRequiredDescription
ResponseStatusformResponseStatusNo
RfpDocumentIDformintNo
ProjectIDformintNo
ProjectUIDformGuidNo
RfpApprovalIDformintNo
JobIDsformList<int>No
OpenPositionCountformintNo
DiffformProposalDiffNo
ProposalDiff Parameters:
NameParameterData TypeRequiredDescription
TasksAddedformList<string>No
TasksRemovedformList<string>No
TasksformList<TaskDiff>No
HasChangesformboolNo
TaskDiff Parameters:
NameParameterData TypeRequiredDescription
TaskNameformstringNo
PositionsAddedformList<string>No
PositionsRemovedformList<string>No
PositionsStaffedformList<string>No
EquipmentAddedformList<int>No
EquipmentRemovedformList<int>No
MaterialsAddedformList<int>No
MaterialsRemovedformList<int>No
HasChangesformboolNo

To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv

HTTP + JSV

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

POST /v1/Rfp/{RfpDocumentUID}/Approve HTTP/1.1 
Host: api.dev.dynamics.trendsic.com 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	RfpDocumentUID: 00000000000000000000000000000000,
	Proposal: 
	{
		RfpDocumentID: 0,
		ProjectName: String,
		ClientName: String,
		ProjectType: String,
		ProjectLocation: String,
		Scope: String,
		ProjectDescription: String,
		ContractDurationDays: 0,
		BidDueDate: String,
		EstimatedStartDate: 0001-01-01,
		EstimatedEndDate: 0001-01-01,
		Tasks: 
		[
			{
				Seq: 0,
				Name: String,
				Category: String,
				Quantity: 0,
				Unit: String,
				SourceItemNumber: String,
				SourceReference: String,
				Notes: String,
				Resourcing: 
				{
					Positions: 
					[
						{
							PositionTag: String,
							Hours: 0,
							Headcount: 0,
							SourceReference: String,
							Notes: String,
							IsInCatalog: False,
							ContactID: 0
						}
					],
					Equipment: 
					[
						{
							EquipmentID: 0,
							EquipmentName: String,
							MakeModel: String,
							Quantity: 0,
							DurationDays: 0,
							SourceReference: String,
							Notes: String,
							IsInCatalog: False,
							SuggestedEquipmentID: 0,
							SuggestedEquipmentName: String
						}
					],
					Materials: 
					[
						{
							MaterialID: 0,
							MaterialName: String,
							MakeModel: String,
							Quantity: 0,
							Unit: String,
							SourceReference: String,
							Notes: String,
							IsInCatalog: False,
							SuggestedMaterialID: 0,
							SuggestedMaterialName: String
						}
					]
				},
				DurationDays: 0,
				DependsOn: 
				[
					0
				],
				EstimatedStartDate: 0001-01-01,
				EstimatedEndDate: 0001-01-01
			}
		]
	}
}
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
		}
	},
	RfpDocumentID: 0,
	ProjectID: 0,
	ProjectUID: 00000000000000000000000000000000,
	RfpApprovalID: 0,
	JobIDs: 
	[
		0
	],
	OpenPositionCount: 0,
	Diff: 
	{
		TasksAdded: 
		[
			String
		],
		TasksRemoved: 
		[
			String
		],
		Tasks: 
		[
			{
				TaskName: String,
				PositionsAdded: 
				[
					String
				],
				PositionsRemoved: 
				[
					String
				],
				PositionsStaffed: 
				[
					String
				],
				EquipmentAdded: 
				[
					0
				],
				EquipmentRemoved: 
				[
					0
				],
				MaterialsAdded: 
				[
					0
				],
				MaterialsRemoved: 
				[
					0
				],
				HasChanges: True
			}
		],
		HasChanges: True
	}
}