Mercedes.Agency.Orchestration.API

<back to all web services

FiltersRequest

Filters
Requires Authentication
The following routes are available for this service:
GET/v1/filters/{vehicletype}Get filters by vehicle type
"use strict";
export class Model {
    /** @param {{Id?:number,Description?:string,DisplayName?:string,ImageUrlSmall?:string,ImageUrlMedium?:string,ImageUrlLarge?:string,Specialist?:boolean,Priority?:number,ExcludeFromOnlineShowroomFilters?:boolean}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {number} */
    Id;
    /** @type {?string} */
    Description;
    /** @type {?string} */
    DisplayName;
    /** @type {?string} */
    ImageUrlSmall;
    /** @type {?string} */
    ImageUrlMedium;
    /** @type {?string} */
    ImageUrlLarge;
    /** @type {boolean} */
    Specialist;
    /** @type {number} */
    Priority;
    /** @type {?boolean} */
    ExcludeFromOnlineShowroomFilters;
}
export class BodyStyle {
    /** @param {{Id?:number,Description?:string,Models?:Model[]}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {number} */
    Id;
    /** @type {?string} */
    Description;
    /** @type {?Model[]} */
    Models;
}
export class Brand {
    /** @param {{Id?:number,Description?:string,DisplayName?:string,BodyStyles?:BodyStyle[]}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {number} */
    Id;
    /** @type {?string} */
    Description;
    /** @type {?string} */
    DisplayName;
    /** @type {?BodyStyle[]} */
    BodyStyles;
}
export class Fuel {
    /** @param {{Id?:number,Description?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {number} */
    Id;
    /** @type {?string} */
    Description;
}
export class Line {
    /** @param {{Id?:number,Description?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {number} */
    Id;
    /** @type {?string} */
    Description;
}
export class Engine {
    /** @param {{Id?:number,Description?:string,BrandId?:number,Brand?:string,Badge?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {number} */
    Id;
    /** @type {?string} */
    Description;
    /** @type {?number} */
    BrandId;
    /** @type {?string} */
    Brand;
    /** @type {?string} */
    Badge;
}
export class Transmission {
    /** @param {{Id?:number,Description?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {number} */
    Id;
    /** @type {?string} */
    Description;
}
export class RetailerOpeningTime {
    /** @param {{Day?:string,OpenFrom?:string,OpenTo?:string,Special?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    Day;
    /** @type {string} */
    OpenFrom;
    /** @type {string} */
    OpenTo;
    /** @type {string} */
    Special;
}
export class RetailerOpeningTimes {
    /** @param {{New?:RetailerOpeningTime[],Used?:RetailerOpeningTime[]}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {RetailerOpeningTime[]} */
    New = [];
    /** @type {RetailerOpeningTime[]} */
    Used = [];
}
export class Retailer {
    /** @param {{Id?:number,GssnId?:string,Description?:string,Street?:string,City?:string,Postcode?:string,GoogleMapPostcode?:string,Phone?:string,Fax?:string,Email?:string,Website?:string,RetailerGroupId?:string,RetailerGroupName?:string,IsOnline?:boolean,IsNewCarRetailer?:boolean,IsUsedCarRetailer?:boolean,IsCentralRetailer?:boolean,ChatEnabled?:boolean,TradeInEnabled?:boolean,smart?:boolean,DisplayPhoneNumberNew?:string,DisplayPhoneNumberUsed?:string,Latitude?:number,Longitude?:number,smartDescription?:string,smartWebsite?:string,smartPhone?:string,LegacyId?:string,Agent?:boolean,MarketAreaId?:number,DigitalLoungeParentGssnId?:string,SendLeadsToDigitalLoungeParent?:boolean,OpeningTimes?:RetailerOpeningTimes}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {number} */
    Id;
    /** @type {string} */
    GssnId;
    /** @type {string} */
    Description;
    /** @type {string} */
    Street;
    /** @type {string} */
    City;
    /** @type {string} */
    Postcode;
    /** @type {string} */
    GoogleMapPostcode;
    /** @type {string} */
    Phone;
    /** @type {string} */
    Fax;
    /** @type {string} */
    Email;
    /** @type {string} */
    Website;
    /** @type {string} */
    RetailerGroupId;
    /** @type {string} */
    RetailerGroupName;
    /** @type {boolean} */
    IsOnline;
    /** @type {boolean} */
    IsNewCarRetailer;
    /** @type {boolean} */
    IsUsedCarRetailer;
    /** @type {boolean} */
    IsCentralRetailer;
    /** @type {boolean} */
    ChatEnabled;
    /** @type {boolean} */
    TradeInEnabled;
    /** @type {boolean} */
    smart;
    /** @type {string} */
    DisplayPhoneNumberNew;
    /** @type {string} */
    DisplayPhoneNumberUsed;
    /** @type {number} */
    Latitude;
    /** @type {number} */
    Longitude;
    /** @type {string} */
    smartDescription;
    /** @type {string} */
    smartWebsite;
    /** @type {string} */
    smartPhone;
    /** @type {string} */
    LegacyId;
    /** @type {boolean} */
    Agent;
    /** @type {number} */
    MarketAreaId;
    /** @type {?string} */
    DigitalLoungeParentGssnId;
    /** @type {boolean} */
    SendLeadsToDigitalLoungeParent;
    /** @type {?RetailerOpeningTimes} */
    OpeningTimes;
}
export class Colour {
    /** @param {{Id?:number,Description?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {number} */
    Id;
    /** @type {?string} */
    Description;
}
export class Upholstery {
    /** @param {{Id?:number,Description?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {number} */
    Id;
    /** @type {?string} */
    Description;
}
export class Package {
    /** @param {{Id?:number,Description?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {number} */
    Id;
    /** @type {?string} */
    Description;
}
export class DeliveryTime {
    /** @param {{Id?:number,Description?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {number} */
    Id;
    /** @type {?string} */
    Description;
}
export class RetailerGroup {
    /** @param {{Id?:number,RetailerGroupId?:string,Description?:string,RetailerGroupName?:string,GssnIds?:string[]}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {number} */
    Id;
    /** @type {?string} */
    RetailerGroupId;
    /** @type {string} */
    Description;
    /** @type {?string} */
    RetailerGroupName;
    /** @type {?string[]} */
    GssnIds;
}
export class MarketArea {
    /** @param {{Id?:number,MarketAreaName?:string,Description?:string,GssnIds?:string[]}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {number} */
    Id;
    /** @type {?string} */
    MarketAreaName;
    /** @type {string} */
    Description;
    /** @type {?string[]} */
    GssnIds;
}
export class NonOptimalReason {
    /** @param {{Id?:number,Description?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {number} */
    Id;
    /** @type {?string} */
    Description;
}
export class AccountRetailer {
    /** @param {{Name?:string,Gssn?:string,IsSmart?:boolean}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {?string} */
    Name;
    /** @type {?string} */
    Gssn;
    /** @type {boolean} */
    IsSmart;
}
export class LookupValue {
    /** @param {{Id?:number,Label?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {?number} */
    Id;
    /** @type {string} */
    Label;
}
export class Filters extends Filters {
    /** @param {{Fuels?:Fuel[],Lines?:Line[],Engines?:Engine[],Transmissions?:Transmission[],Colours?:Colour[],Upholsteries?:Upholstery[],Packages?:Package[],Brands?:Brand[],Equipment?:string[],Retailers?:Retailer[],Retailers?:AccountRetailer[],RetailerGroups?:RetailerGroup[],MarketAreas?:MarketArea[],CustomerLocations?:LookupValue[],AssistanceProviders?:LookupValue[],NonOptimalReasons?:NonOptimalReason[],Brands?:Brand[],Fuels?:Fuel[],Lines?:Line[],Engines?:Engine[],BodyStyles?:BodyStyle[],Models?:Model[],Transmissions?:Transmission[],ModelHierarchy?:Brand[],Retailers?:Retailer[],AllLines?:Line[],Colours?:Colour[],Upholsteries?:Upholstery[],Packages?:Package[],DeliveryTime?:DeliveryTime[],RetailerGroups?:RetailerGroup[],MarketAreas?:MarketArea[],NonOptimalReasons?:NonOptimalReason[]}} [init] */
    constructor(init) { super(init); Object.assign(this, init) }
    /** @type {Fuel[]} */
    Fuels = [];
    /** @type {Line[]} */
    Lines = [];
    /** @type {Engine[]} */
    Engines = [];
    /** @type {Transmission[]} */
    Transmissions = [];
    /** @type {Colour[]} */
    Colours = [];
    /** @type {Upholstery[]} */
    Upholsteries = [];
    /** @type {Package[]} */
    Packages = [];
    /** @type {Brand[]} */
    Brands = [];
    /** @type {string[]} */
    Equipment = [];
    /** @type {Retailer[]} */
    Retailers = [];
    /** @type {AccountRetailer[]} */
    Retailers = [];
    /** @type {RetailerGroup[]} */
    RetailerGroups = [];
    /** @type {MarketArea[]} */
    MarketAreas = [];
    /** @type {LookupValue[]} */
    CustomerLocations = [];
    /** @type {LookupValue[]} */
    AssistanceProviders = [];
    /** @type {NonOptimalReason[]} */
    NonOptimalReasons = [];
}
export class FiltersResponse {
    /** @param {{Filters?:Filters}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {Filters} */
    Filters;
}
export class FiltersRequest {
    /** @param {{vehicleType?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    vehicleType;
}
export class Filters {
    /** @param {{Brands?:Brand[],Fuels?:Fuel[],Lines?:Line[],Engines?:Engine[],BodyStyles?:BodyStyle[],Models?:Model[],Transmissions?:Transmission[],ModelHierarchy?:Brand[],Retailers?:Retailer[],AllLines?:Line[],Colours?:Colour[],Upholsteries?:Upholstery[],Packages?:Package[],DeliveryTime?:DeliveryTime[],RetailerGroups?:RetailerGroup[],MarketAreas?:MarketArea[],NonOptimalReasons?:NonOptimalReason[]}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {Brand[]} */
    Brands = [];
    /** @type {Fuel[]} */
    Fuels = [];
    /** @type {Line[]} */
    Lines = [];
    /** @type {Engine[]} */
    Engines = [];
    /** @type {BodyStyle[]} */
    BodyStyles = [];
    /** @type {Model[]} */
    Models = [];
    /** @type {Transmission[]} */
    Transmissions = [];
    /** @type {Brand[]} */
    ModelHierarchy = [];
    /** @type {Retailer[]} */
    Retailers = [];
    /** @type {Line[]} */
    AllLines = [];
    /** @type {Colour[]} */
    Colours = [];
    /** @type {Upholstery[]} */
    Upholsteries = [];
    /** @type {Package[]} */
    Packages = [];
    /** @type {?DeliveryTime[]} */
    DeliveryTime;
    /** @type {RetailerGroup[]} */
    RetailerGroups = [];
    /** @type {MarketArea[]} */
    MarketAreas = [];
    /** @type {NonOptimalReason[]} */
    NonOptimalReasons = [];
}

JavaScript FiltersRequest 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.

GET /v1/filters/{vehicletype} HTTP/1.1 
Host: prod-api-agency-orch-mb-dhc.rapp-customers.co.uk 
Accept: text/jsv
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	Filters: 
	{
		Fuels: 
		[
			{
				Id: 0,
				Description: String
			}
		],
		Lines: 
		[
			{
				Id: 0,
				Description: String
			}
		],
		Engines: 
		[
			{
				Id: 0,
				Description: String,
				BrandId: 0,
				Brand: String,
				Badge: String
			}
		],
		Transmissions: 
		[
			{
				Id: 0,
				Description: String
			}
		],
		Colours: 
		[
			{
				Id: 0,
				Description: String
			}
		],
		Upholsteries: 
		[
			{
				Id: 0,
				Description: String
			}
		],
		Packages: 
		[
			{
				Id: 0,
				Description: String
			}
		],
		Brands: 
		[
			{
				Id: 0,
				Description: String,
				DisplayName: String,
				BodyStyles: 
				[
					{
						Id: 0,
						Description: String,
						Models: 
						[
							{
								Id: 0,
								Description: String,
								DisplayName: String,
								ImageUrlSmall: String,
								ImageUrlMedium: String,
								ImageUrlLarge: String,
								Specialist: False,
								Priority: 0,
								ExcludeFromOnlineShowroomFilters: False
							}
						]
					}
				]
			}
		],
		Equipment: 
		[
			String
		],
		Retailers: 
		[
			{
				Gssn: String,
				Description: String,
				CampaignExcluded: False
			}
		],
		Retailers: 
		[
			{
				Name: String,
				Gssn: String,
				IsSmart: False
			}
		],
		RetailerGroups: 
		[
			{
				Id: 0,
				RetailerGroupId: String,
				Description: String,
				RetailerGroupName: String,
				GssnIds: 
				[
					String
				]
			}
		],
		MarketAreas: 
		[
			{
				Id: 0,
				MarketAreaName: String,
				Description: String,
				GssnIds: 
				[
					String
				]
			}
		],
		CustomerLocations: 
		[
			{
				
			}
		],
		AssistanceProviders: 
		[
			{
				
			}
		],
		NonOptimalReasons: 
		[
			{
				Id: 0,
				Description: String
			}
		],
		BodyStyles: 
		[
			{
				Id: 0,
				Description: String,
				Models: 
				[
					{
						Id: 0,
						Description: String,
						DisplayName: String,
						ImageUrlSmall: String,
						ImageUrlMedium: String,
						ImageUrlLarge: String,
						Specialist: False,
						Priority: 0,
						ExcludeFromOnlineShowroomFilters: False
					}
				]
			}
		],
		Models: 
		[
			{
				Id: 0,
				Description: String,
				DisplayName: String,
				ImageUrlSmall: String,
				ImageUrlMedium: String,
				ImageUrlLarge: String,
				Specialist: False,
				Priority: 0,
				ExcludeFromOnlineShowroomFilters: False
			}
		],
		ModelHierarchy: 
		[
			{
				Id: 0,
				Description: String,
				DisplayName: String,
				BodyStyles: 
				[
					{
						Id: 0,
						Description: String,
						Models: 
						[
							{
								Id: 0,
								Description: String,
								DisplayName: String,
								ImageUrlSmall: String,
								ImageUrlMedium: String,
								ImageUrlLarge: String,
								Specialist: False,
								Priority: 0,
								ExcludeFromOnlineShowroomFilters: False
							}
						]
					}
				]
			}
		],
		AllLines: 
		[
			{
				Id: 0,
				Description: String
			}
		],
		DeliveryTime: 
		[
			{
				Id: 0,
				Description: String
			}
		]
	}
}