| POST | /v1/AllAvailableVehicles/{vehicleType}/{includeBackOrderAccounts} | Get all available vehicles |
|---|
const std = @import("std");
pub const BaseAllAvailableVehiclesRequest = struct {
vehicleType: ?[]const u8 = null,
includeBackOrderAccounts: bool = false,
};
pub const BasicBackOrderVehicle = struct {
commissionNumber: ?[]const u8 = null,
description: ?[]const u8 = null,
model: ?[]const u8 = null,
colour: ?[]const u8 = null,
fuelType: ?[]const u8 = null,
transmission: ?[]const u8 = null,
packages: ?[]const u8 = null,
lines: ?[]const u8 = null,
upholstery: ?[]const u8 = null,
emissionCombined: ?[]const u8 = null,
actualPrice: f64 = 0,
usageCode: ?[]const u8 = null,
secured: bool = false,
account: ?[]const u8 = null,
securedTime: ?[]const u8 = null,
securedReason: ?[]const u8 = null,
securedByGasId: ?[]const u8 = null,
securedDate: ?[]const u8 = null,
confirmedProductionDate: ?[]const u8 = null,
forecastedArrivalDate: ?[]const u8 = null,
};
pub const BackOrderVehicle = struct {
commissionNumber: ?[]const u8 = null,
description: ?[]const u8 = null,
model: ?[]const u8 = null,
colour: ?[]const u8 = null,
fuelType: ?[]const u8 = null,
transmission: ?[]const u8 = null,
packages: ?[]const u8 = null,
lines: ?[]const u8 = null,
upholstery: ?[]const u8 = null,
emissionCombined: ?[]const u8 = null,
actualPrice: f64 = 0,
usageCode: ?[]const u8 = null,
secured: bool = false,
account: ?[]const u8 = null,
securedTime: ?[]const u8 = null,
securedReason: ?[]const u8 = null,
securedByGasId: ?[]const u8 = null,
securedDate: ?[]const u8 = null,
confirmedProductionDate: ?[]const u8 = null,
forecastedArrivalDate: ?[]const u8 = null,
id: i32 = 0,
vin: ?[]const u8 = null,
vehicleType: ?[]const u8 = null,
vid: ?[]const u8 = null,
fin: ?[]const u8 = null,
chassisNumber: ?[]const u8 = null,
modelYear: ?[]const u8 = null,
modelYearCode: ?[]const u8 = null,
halfModelYearCode: ?[]const u8 = null,
fullModelYearCode: ?[]const u8 = null,
salesDescriptionLong: ?[]const u8 = null,
vehicleClass: ?[]const u8 = null,
retailPrice_ExVAT: f64 = 0,
retailPrice_IncVAT: f64 = 0,
otr: f64 = 0,
bodyStyle: ?[]const u8 = null,
productRange: ?[]const u8 = null,
engine: ?[]const u8 = null,
isAMG: bool = false,
colourGroup: ?[]const u8 = null,
upholsteryCode: ?[]const u8 = null,
nst: ?[]const u8 = null,
bm7NST: ?[]const u8 = null,
acceleration: ?f64 = null,
bootCapacity: ?i32 = null,
topSpeed: ?f64 = null,
driveConcept: ?[]const u8 = null,
combustionPowerHp: ?f64 = null,
electricPowerKw: ?f64 = null,
electricPowerHp: ?f64 = null,
combinedPowerKw: ?f64 = null,
combinedPowerHP: ?f64 = null,
electricRange: ?f64 = null,
electricConsumption: ?f64 = null,
emission: ?f64 = null,
emissionDirective: ?[]const u8 = null,
emissionExtraUrban: ?[]const u8 = null,
emissionUrban: ?[]const u8 = null,
energyEfficiencyClass: ?[]const u8 = null,
wltpEmissionCombined: ?[]const u8 = null,
wltpCombined: ?[]const u8 = null,
wltpLow: ?[]const u8 = null,
wltpMedium: ?[]const u8 = null,
wltpHigh: ?[]const u8 = null,
wltpExtraHigh: ?[]const u8 = null,
portArrivalDate: ?[]const u8 = null,
creationDate: ?[]const u8 = null,
lastUpdated: ?[]const u8 = null,
isDisplayStock: bool = false,
displayStockAgent: ?[]const u8 = null,
isSpecialistCar: bool = false,
location: ?[]const u8 = null,
cesarIdShipToParty: ?[]const u8 = null,
isSellable: bool = false,
underOffer: bool = false,
baumuster: ?[]const u8 = null,
};
pub const StockManagementResponse = struct {
totalVehicles: i32 = 0,
vehicles: []BackOrderVehicle = &.{},
};
pub const CampaignExclusion = struct {
vin: [][]const u8 = &.{},
commissionNumber: [][]const u8 = &.{},
modelYearCode: ?[]const u8 = null,
equipmentCode: ?[]const u8 = null,
gssn: [][]const u8 = &.{},
};
pub const RegistrationDate = struct {
from: ?[]const u8 = null,
to: ?[]const u8 = null,
};
pub const Age = struct {
date: ?[]const u8 = null,
min: i32 = 0,
max: i32 = 0,
includePipelineStock: bool = false,
};
pub const PortArrivalDate = struct {
pipelineStock: bool = false,
from: ?[]const u8 = null,
to: ?[]const u8 = null,
};
pub const VehicleSearchV3Criteria = struct {
vin: [][]const u8 = &.{},
model: []i32 = &.{},
fuel: []i32 = &.{},
transmission: []i32 = &.{},
engine: []i32 = &.{},
line: [][]const u8 = &.{},
mappedLine: []i32 = &.{},
commissionNumber: [][]const u8 = &.{},
vehicleType: ?[]const u8 = null,
exclusion: ?CampaignExclusion = null,
regNo: ?[]const u8 = null,
includeOffline: bool = false,
registrationDate: ?RegistrationDate = null,
age: ?Age = null,
portArrivalDate: ?PortArrivalDate = null,
isAvailableOnline: ?bool = null,
isBackOrdered: ?bool = null,
isSellable: ?bool = null,
isUnderOffer: ?bool = null,
mbukSecured: ?bool = null,
account: [][]const u8 = &.{},
baumuster: [][]const u8 = &.{},
colours: []i32 = &.{},
upholstery: []i32 = &.{},
package: []i32 = &.{},
nst: [][]const u8 = &.{},
usageCode: [][]const u8 = &.{},
};
pub const AllAvailableVehiclesByCriteriaRequest = struct {
vehicleType: ?[]const u8 = null,
includeBackOrderAccounts: bool = false,
criteria: ?VehicleSearchV3Criteria = null,
};
Zig 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
}