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
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 } ] } }