POST | /v1/AllAvailableVehicles/{vehicleType}/{includeBackOrderAccounts} | Get all available vehicles |
---|
"use strict";
export class BaseAllAvailableVehiclesRequest {
/** @param {{vehicleType?:string,includeBackOrderAccounts?:boolean}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {string} */
vehicleType;
/** @type {boolean} */
includeBackOrderAccounts;
}
export class BasicBackOrderVehicle {
/** @param {{commissionNumber?:string,description?:string,model?:string,colour?:string,fuelType?:string,transmission?:string,packages?:string,lines?:string,upholstery?:string,emissionCombined?:string,actualPrice?:number,usageCode?:string,secured?:boolean,account?:string,securedTime?:string,securedReason?:string,securedByGasId?:string,securedDate?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {string} */
commissionNumber;
/** @type {string} */
description;
/** @type {string} */
model;
/** @type {string} */
colour;
/** @type {string} */
fuelType;
/** @type {string} */
transmission;
/** @type {string} */
packages;
/** @type {string} */
lines;
/** @type {string} */
upholstery;
/** @type {string} */
emissionCombined;
/** @type {number} */
actualPrice;
/** @type {string} */
usageCode;
/** @type {boolean} */
secured;
/** @type {string} */
account;
/** @type {?string} */
securedTime;
/** @type {?string} */
securedReason;
/** @type {?string} */
securedByGasId;
/** @type {?string} */
securedDate;
}
export class BackOrderVehicle extends BasicBackOrderVehicle {
/** @param {{id?:number,vin?:string,vehicleType?:string,vid?:string,fin?:string,chassisNumber?:string,modelYear?:string,modelYearCode?:string,halfModelYearCode?:string,fullModelYearCode?:string,salesDescriptionLong?:string,vehicleClass?:string,retailPrice_ExVAT?:number,retailPrice_IncVAT?:number,otr?:number,bodyStyle?:string,productRange?:string,engine?:string,isAMG?:boolean,colourGroup?:string,upholsteryCode?:string,nst?:string,bm7NST?:string,acceleration?:number,bootCapacity?:number,topSpeed?:number,driveConcept?:string,combustionPowerHp?:number,electricPowerKw?:number,electricPowerHp?:number,combinedPowerKw?:number,combinedPowerHP?:number,electricRange?:number,electricConsumption?:number,emission?:number,emissionDirective?:string,emissionExtraUrban?:string,emissionUrban?:string,energyEfficiencyClass?:string,wltpEmissionCombined?:string,wltpCombined?:string,wltpLow?:string,wltpMedium?:string,wltpHigh?:string,wltpExtraHigh?:string,productionDate?:string,portArrivalDate?:string,creationDate?:string,lastUpdated?:string,isDisplayStock?:boolean,displayStockAgent?:string,isSpecialistCar?:boolean,location?:string,cesarIdShipToParty?:string,isSellable?:boolean,underOffer?:boolean,baumuster?:string,commissionNumber?:string,description?:string,model?:string,colour?:string,fuelType?:string,transmission?:string,packages?:string,lines?:string,upholstery?:string,emissionCombined?:string,actualPrice?:number,usageCode?:string,secured?:boolean,account?:string,securedTime?:string,securedReason?:string,securedByGasId?:string,securedDate?:string}} [init] */
constructor(init) { super(init); Object.assign(this, init) }
/** @type {number} */
id;
/** @type {string} */
vin;
/** @type {string} */
vehicleType;
/** @type {string} */
vid;
/** @type {string} */
fin;
/** @type {string} */
chassisNumber;
/** @type {string} */
modelYear;
/** @type {string} */
modelYearCode;
/** @type {string} */
halfModelYearCode;
/** @type {string} */
fullModelYearCode;
/** @type {string} */
salesDescriptionLong;
/** @type {string} */
vehicleClass;
/** @type {number} */
retailPrice_ExVAT;
/** @type {number} */
retailPrice_IncVAT;
/** @type {number} */
otr;
/** @type {string} */
bodyStyle;
/** @type {string} */
productRange;
/** @type {string} */
engine;
/** @type {boolean} */
isAMG;
/** @type {string} */
colourGroup;
/** @type {string} */
upholsteryCode;
/** @type {string} */
nst;
/** @type {string} */
bm7NST;
/** @type {?number} */
acceleration;
/** @type {?number} */
bootCapacity;
/** @type {?number} */
topSpeed;
/** @type {string} */
driveConcept;
/** @type {?number} */
combustionPowerHp;
/** @type {?number} */
electricPowerKw;
/** @type {?number} */
electricPowerHp;
/** @type {?number} */
combinedPowerKw;
/** @type {?number} */
combinedPowerHP;
/** @type {?number} */
electricRange;
/** @type {?number} */
electricConsumption;
/** @type {?number} */
emission;
/** @type {string} */
emissionDirective;
/** @type {string} */
emissionExtraUrban;
/** @type {string} */
emissionUrban;
/** @type {string} */
energyEfficiencyClass;
/** @type {string} */
wltpEmissionCombined;
/** @type {string} */
wltpCombined;
/** @type {string} */
wltpLow;
/** @type {string} */
wltpMedium;
/** @type {string} */
wltpHigh;
/** @type {string} */
wltpExtraHigh;
/** @type {?string} */
productionDate;
/** @type {?string} */
portArrivalDate;
/** @type {string} */
creationDate;
/** @type {?string} */
lastUpdated;
/** @type {boolean} */
isDisplayStock;
/** @type {string} */
displayStockAgent;
/** @type {boolean} */
isSpecialistCar;
/** @type {string} */
location;
/** @type {string} */
cesarIdShipToParty;
/** @type {boolean} */
isSellable;
/** @type {boolean} */
underOffer;
/** @type {string} */
baumuster;
}
export class StockManagementResponse {
/** @param {{totalVehicles?:number,vehicles?:BackOrderVehicle[]}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {number} */
totalVehicles;
/** @type {BackOrderVehicle[]} */
vehicles;
}
export class CampaignExclusion {
/** @param {{vin?:string[],commissionNumber?:string[],modelYearCode?:string,equipmentCode?:string,gssn?:string[]}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {string[]} */
vin = [];
/** @type {string[]} */
commissionNumber = [];
/** @type {string} */
modelYearCode;
/** @type {string} */
equipmentCode;
/** @type {string[]} */
gssn = [];
}
export class RegistrationDate {
/** @param {{from?:string,to?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {string} */
from;
/** @type {string} */
to;
}
export class Age {
/** @param {{date?:string,min?:number,max?:number,includePipelineStock?:boolean}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {string} */
date;
/** @type {number} */
min;
/** @type {number} */
max;
/** @type {boolean} */
includePipelineStock;
}
export class PortArrivalDate {
/** @param {{pipelineStock?:boolean,from?:string,to?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {boolean} */
pipelineStock;
/** @type {string} */
from;
/** @type {string} */
to;
}
export class VehicleSearchV3Criteria {
/** @param {{vin?:string[],model?:number[],fuel?:number[],transmission?:number[],engine?:number[],line?:string[],mappedLine?:number[],commissionNumber?:string[],vehicleType?:string,exclusion?:CampaignExclusion,regNo?:string,includeOffline?:boolean,registrationDate?:RegistrationDate,age?:Age,portArrivalDate?:PortArrivalDate,isAvailableOnline?:boolean,isBackOrdered?:boolean,isSellable?:boolean,isUnderOffer?:boolean,mbukSecured?:boolean,account?:string[],baumuster?:string[],colours?:number[],upholstery?:number[],package?:number[],nst?:string[],usageCode?:string[]}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {string[]} */
vin = [];
/** @type {number[]} */
model = [];
/** @type {number[]} */
fuel = [];
/** @type {number[]} */
transmission = [];
/** @type {number[]} */
engine = [];
/** @type {string[]} */
line = [];
/** @type {number[]} */
mappedLine = [];
/** @type {string[]} */
commissionNumber = [];
/** @type {string} */
vehicleType;
/** @type {CampaignExclusion} */
exclusion;
/** @type {string} */
regNo;
/** @type {boolean} */
includeOffline;
/** @type {RegistrationDate} */
registrationDate;
/** @type {Age} */
age;
/** @type {PortArrivalDate} */
portArrivalDate;
/** @type {?boolean} */
isAvailableOnline;
/** @type {?boolean} */
isBackOrdered;
/** @type {?boolean} */
isSellable;
/** @type {?boolean} */
isUnderOffer;
/** @type {?boolean} */
mbukSecured;
/** @type {string[]} */
account = [];
/** @type {string[]} */
baumuster = [];
/** @type {number[]} */
colours = [];
/** @type {number[]} */
upholstery = [];
/** @type {number[]} */
package = [];
/** @type {string[]} */
nst = [];
/** @type {string[]} */
usageCode = [];
}
export class AllAvailableVehiclesByCriteriaRequest extends BaseAllAvailableVehiclesRequest {
/** @param {{criteria?:VehicleSearchV3Criteria,vehicleType?:string,includeBackOrderAccounts?:boolean}} [init] */
constructor(init) { super(init); Object.assign(this, init) }
/** @type {VehicleSearchV3Criteria} */
criteria;
}
JavaScript AllAvailableVehiclesByCriteriaRequest 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.
POST /v1/AllAvailableVehicles/{vehicleType}/{includeBackOrderAccounts} HTTP/1.1
Host: uat-api-vehicle-mgt-mb-dhc.rapp-customers.co.uk
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
criteria:
{
vin:
[
String
],
model:
[
0
],
fuel:
[
0
],
transmission:
[
0
],
engine:
[
0
],
line:
[
String
],
mappedLine:
[
0
],
commissionNumber:
[
String
],
vehicleType: String,
exclusion:
{
vin:
[
String
],
commissionNumber:
[
String
],
modelYearCode: String,
equipmentCode: String,
gssn:
[
String
]
},
regNo: String,
includeOffline: False,
registrationDate:
{
from: 0001-01-01,
to: 0001-01-01
},
age:
{
date: 0001-01-01,
min: 0,
max: 0,
includePipelineStock: False
},
portArrivalDate:
{
pipelineStock: False,
from: 0001-01-01,
to: 0001-01-01
},
isAvailableOnline: False,
isBackOrdered: False,
isSellable: False,
isUnderOffer: False,
mbukSecured: False,
account:
[
String
],
baumuster:
[
String
],
colours:
[
0
],
upholstery:
[
0
],
package:
[
0
],
nst:
[
String
],
usageCode:
[
String
]
},
vehicleType: String,
includeBackOrderAccounts: False
}
HTTP/1.1 200 OK Content-Type: text/jsv Content-Length: length { "totalVehicles": 0, "vehicles": null }