Trendsic Platform Service

<back to all web services

CourierBookQuoteRequest

The following routes are available for this service:
POST,OPTIONS/v1/book/{Slug}/quote
"use strict";
export class CourierBookQuoteLine {
    /** @param {{Kind?:string,Amount?:number,Qty?:number,Rate?:number}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    Kind;
    /** @type {number} */
    Amount;
    /** @type {?number} */
    Qty;
    /** @type {?number} */
    Rate;
}
export class CourierBookQuoteResponse {
    /** @param {{Zone?:string,Miles?:number,Lines?:CourierBookQuoteLine[],Total?:number,ResponseStatus?:ResponseStatus}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    Zone;
    /** @type {?number} */
    Miles;
    /** @type {CourierBookQuoteLine[]} */
    Lines = [];
    /** @type {number} */
    Total;
    /** @type {ResponseStatus} */
    ResponseStatus;
}
export class CourierBookQuoteRequest {
    /** @param {{Slug?:string,Profile?:string,Level?:string,Units?:number,Zip?:string,Lat?:number,Lng?:number,DropLat?:number,DropLng?:number}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    Slug;
    /** @type {string} */
    Profile;
    /** @type {string} */
    Level;
    /** @type {number} */
    Units;
    /** @type {string} */
    Zip;
    /** @type {?number} */
    Lat;
    /** @type {?number} */
    Lng;
    /** @type {?number} */
    DropLat;
    /** @type {?number} */
    DropLng;
}

JavaScript CourierBookQuoteRequest DTOs

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/book/{Slug}/quote HTTP/1.1 
Host: api.dev.dynamics.trendsic.com 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	Slug: String,
	Profile: String,
	Level: String,
	Units: 0,
	Zip: String,
	Lat: 0,
	Lng: 0,
	DropLat: 0,
	DropLng: 0
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	Zone: String,
	Miles: 0,
	Lines: 
	[
		{
			Kind: String,
			Amount: 0,
			Qty: 0,
			Rate: 0
		}
	],
	Total: 0,
	ResponseStatus: 
	{
		ErrorCode: String,
		Message: String,
		StackTrace: String,
		Errors: 
		[
			{
				ErrorCode: String,
				FieldName: String,
				Message: String,
				Meta: 
				{
					String: String
				}
			}
		],
		Meta: 
		{
			String: String
		}
	}
}