Trendsic Platform Service

<back to all web services

PortalQuoteRequest

The following routes are available for this service:
GET,OPTIONS/portal/{Token}/quote

export class QuoteItem
{
    public QuoteItemID: number;
    public QuoteID: number;
    public ItemType: string;
    public SourceRefId?: number;
    public JobID?: number;
    public Name: string;
    public Description: string;
    public Quantity?: number;
    public UnitPrice?: number;
    public IsTaxable?: boolean;
    public DisplayOrder?: number;
    public IsDeleted?: boolean;

    public constructor(init?: Partial<QuoteItem>) { (Object as any).assign(this, init); }
}

export class PortalQuoteResponse
{
    public ResponseStatus: ResponseStatus;
    public Name: string;
    public Status: string;
    public Currency: string;
    public Total: number;
    public Notes: string;
    public FromName: string;
    public FromAddress: string;
    public ToName: string;
    public ToAddress: string;
    public ExpiresAt?: string;
    public IsLocked: boolean;
    public FinalPriceAfterCompletion: boolean;
    public ApprovedByName: string;
    public ApprovedAt?: string;
    public DeclinedByName: string;
    public DeclinedAt?: string;
    public DeclineReason: string;
    public LineItems: QuoteItem[] = [];

    public constructor(init?: Partial<PortalQuoteResponse>) { (Object as any).assign(this, init); }
}

export class PortalQuoteRequest
{
    public Token: string;

    public constructor(init?: Partial<PortalQuoteRequest>) { (Object as any).assign(this, init); }
}

TypeScript PortalQuoteRequest DTOs

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

To embed the response in a jsonp callback, append ?callback=myCallback

HTTP + JSON

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

GET /portal/{Token}/quote HTTP/1.1 
Host: api.dev.dynamics.trendsic.com 
Accept: application/json
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: length

{"ResponseStatus":{"ErrorCode":"String","Message":"String","StackTrace":"String","Errors":[{"ErrorCode":"String","FieldName":"String","Message":"String","Meta":{"String":"String"}}],"Meta":{"String":"String"}},"Name":"String","Status":"String","Currency":"String","Total":0,"Notes":"String","FromName":"String","FromAddress":"String","ToName":"String","ToAddress":"String","ExpiresAt":"0001-01-01T00:00:00.0000000","IsLocked":false,"FinalPriceAfterCompletion":false,"ApprovedByName":"String","ApprovedAt":"0001-01-01T00:00:00.0000000","DeclinedByName":"String","DeclinedAt":"0001-01-01T00:00:00.0000000","DeclineReason":"String","LineItems":[{"QuoteItemID":0,"QuoteID":0,"ItemType":"String","SourceRefId":0,"JobID":0,"Name":"String","Description":"String","Quantity":0,"UnitPrice":0,"IsTaxable":false,"DisplayOrder":0,"IsDeleted":false}]}