| POST,OPTIONS | /v1/quote |
|---|
import Foundation
import ServiceStack
public class CreateQuoteRequest : Codable
{
public var quote:Quote
required public init(){}
}
public class Quote : Codable
{
public var quoteID:Int
public var quoteUID:String
public var tenantId:String?
public var branchId:String?
public var projectID:Int
public var projectUID:String?
public var projectName:String
public var name:String
public var status:String
public var total:Double?
public var notes:String
public var currency:String
public var fromName:String
public var fromPhone:String
public var fromEmail:String
public var fromAddress:String
public var toName:String
public var toPhone:String
public var toEmail:String
public var toAddress:String
public var expiresAt:Date?
public var isLocked:Bool?
public var finalPriceAfterCompletion:Bool?
public var approvedByName:String
public var approvedAt:Date?
public var declinedByName:String
public var declinedAt:Date?
public var declineReason:String
public var createdBy:String
public var createdAt:Date?
public var updatedBy:String
public var updatedAt:Date?
public var items:[QuoteItem] = []
required public init(){}
}
public class QuoteItem : Codable
{
public var quoteItemID:Int
public var quoteID:Int
public var itemType:String
public var sourceRefId:Int?
public var jobID:Int?
public var name:String
public var Description:String
public var quantity:Double?
public var unitPrice:Double?
public var isTaxable:Bool?
public var displayOrder:Int?
public var isDeleted:Bool?
required public init(){}
}
public class QuoteResponse : Codable
{
public var responseStatus:ResponseStatus
public var quote:Quote
required public init(){}
}
To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /v1/quote HTTP/1.1
Host: api.dev.dynamics.trendsic.com
Accept: application/xml
Content-Type: application/xml
Content-Length: length
<CreateQuoteRequest xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/CRM.AgencyPlatform.API.Internal">
<Quote>
<ApprovedAt>0001-01-01T00:00:00</ApprovedAt>
<ApprovedByName>String</ApprovedByName>
<BranchId>00000000-0000-0000-0000-000000000000</BranchId>
<CreatedAt>0001-01-01T00:00:00</CreatedAt>
<CreatedBy>String</CreatedBy>
<Currency>String</Currency>
<DeclineReason>String</DeclineReason>
<DeclinedAt>0001-01-01T00:00:00</DeclinedAt>
<DeclinedByName>String</DeclinedByName>
<ExpiresAt>0001-01-01T00:00:00</ExpiresAt>
<FinalPriceAfterCompletion>false</FinalPriceAfterCompletion>
<FromAddress>String</FromAddress>
<FromEmail>String</FromEmail>
<FromName>String</FromName>
<FromPhone>String</FromPhone>
<IsLocked>false</IsLocked>
<Items>
<QuoteItem>
<Description>String</Description>
<DisplayOrder>0</DisplayOrder>
<IsDeleted>false</IsDeleted>
<IsTaxable>false</IsTaxable>
<ItemType>String</ItemType>
<JobID>0</JobID>
<Name>String</Name>
<Quantity>0</Quantity>
<QuoteID>0</QuoteID>
<QuoteItemID>0</QuoteItemID>
<SourceRefId>0</SourceRefId>
<UnitPrice>0</UnitPrice>
</QuoteItem>
</Items>
<Name>String</Name>
<Notes>String</Notes>
<ProjectID>0</ProjectID>
<ProjectName>String</ProjectName>
<ProjectUID>00000000-0000-0000-0000-000000000000</ProjectUID>
<QuoteID>0</QuoteID>
<QuoteUID>00000000-0000-0000-0000-000000000000</QuoteUID>
<Status>String</Status>
<TenantId>00000000-0000-0000-0000-000000000000</TenantId>
<ToAddress>String</ToAddress>
<ToEmail>String</ToEmail>
<ToName>String</ToName>
<ToPhone>String</ToPhone>
<Total>0</Total>
<UpdatedAt>0001-01-01T00:00:00</UpdatedAt>
<UpdatedBy>String</UpdatedBy>
</Quote>
</CreateQuoteRequest>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length
<QuoteResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/CRM.AgencyPlatform.API.Internal">
<Quote>
<ApprovedAt>0001-01-01T00:00:00</ApprovedAt>
<ApprovedByName>String</ApprovedByName>
<BranchId>00000000-0000-0000-0000-000000000000</BranchId>
<CreatedAt>0001-01-01T00:00:00</CreatedAt>
<CreatedBy>String</CreatedBy>
<Currency>String</Currency>
<DeclineReason>String</DeclineReason>
<DeclinedAt>0001-01-01T00:00:00</DeclinedAt>
<DeclinedByName>String</DeclinedByName>
<ExpiresAt>0001-01-01T00:00:00</ExpiresAt>
<FinalPriceAfterCompletion>false</FinalPriceAfterCompletion>
<FromAddress>String</FromAddress>
<FromEmail>String</FromEmail>
<FromName>String</FromName>
<FromPhone>String</FromPhone>
<IsLocked>false</IsLocked>
<Items>
<QuoteItem>
<Description>String</Description>
<DisplayOrder>0</DisplayOrder>
<IsDeleted>false</IsDeleted>
<IsTaxable>false</IsTaxable>
<ItemType>String</ItemType>
<JobID>0</JobID>
<Name>String</Name>
<Quantity>0</Quantity>
<QuoteID>0</QuoteID>
<QuoteItemID>0</QuoteItemID>
<SourceRefId>0</SourceRefId>
<UnitPrice>0</UnitPrice>
</QuoteItem>
</Items>
<Name>String</Name>
<Notes>String</Notes>
<ProjectID>0</ProjectID>
<ProjectName>String</ProjectName>
<ProjectUID>00000000-0000-0000-0000-000000000000</ProjectUID>
<QuoteID>0</QuoteID>
<QuoteUID>00000000-0000-0000-0000-000000000000</QuoteUID>
<Status>String</Status>
<TenantId>00000000-0000-0000-0000-000000000000</TenantId>
<ToAddress>String</ToAddress>
<ToEmail>String</ToEmail>
<ToName>String</ToName>
<ToPhone>String</ToPhone>
<Total>0</Total>
<UpdatedAt>0001-01-01T00:00:00</UpdatedAt>
<UpdatedBy>String</UpdatedBy>
</Quote>
<ResponseStatus xmlns:d2p1="http://schemas.servicestack.net/types">
<d2p1:ErrorCode>String</d2p1:ErrorCode>
<d2p1:Message>String</d2p1:Message>
<d2p1:StackTrace>String</d2p1:StackTrace>
<d2p1:Errors>
<d2p1:ResponseError>
<d2p1:ErrorCode>String</d2p1:ErrorCode>
<d2p1:FieldName>String</d2p1:FieldName>
<d2p1:Message>String</d2p1:Message>
<d2p1:Meta xmlns:d5p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d5p1:KeyValueOfstringstring>
<d5p1:Key>String</d5p1:Key>
<d5p1:Value>String</d5p1:Value>
</d5p1:KeyValueOfstringstring>
</d2p1:Meta>
</d2p1:ResponseError>
</d2p1:Errors>
<d2p1:Meta xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d3p1:KeyValueOfstringstring>
<d3p1:Key>String</d3p1:Key>
<d3p1:Value>String</d3p1:Value>
</d3p1:KeyValueOfstringstring>
</d2p1:Meta>
</ResponseStatus>
</QuoteResponse>