| POST | /v1/vehicle | Get Vehicle by Vin | Get Vehicle by Vin |
|---|
export class GetVehicleRequest
{
public Vin: string;
public IncludeAllocatedToOrder: boolean;
public Gssn: string;
public IsOneAdmin: boolean;
public constructor(init?: Partial<GetVehicleRequest>) { (Object as any).assign(this, init); }
}
export class Model
{
public Id: number;
public Description?: string;
public DisplayName?: string;
public ImageUrlSmall?: string;
public ImageUrlMedium?: string;
public ImageUrlLarge?: string;
public Specialist: boolean;
public Priority?: number;
public ExcludeFromOnlineShowroomFilters?: boolean;
public constructor(init?: Partial<Model>) { (Object as any).assign(this, init); }
}
export class BodyStyle
{
public Id: number;
public Description?: string;
public Models?: Model[];
public constructor(init?: Partial<BodyStyle>) { (Object as any).assign(this, init); }
}
export class Brand
{
public Id: number;
public Description?: string;
public DisplayName?: string;
public BodyStyles?: BodyStyle[];
public constructor(init?: Partial<Brand>) { (Object as any).assign(this, init); }
}
export class Engine
{
public Id?: number;
public Badge: string;
public constructor(init?: Partial<Engine>) { (Object as any).assign(this, init); }
}
export class Media
{
public NoImage: boolean;
public MainImageUrl: string;
public constructor(init?: Partial<Media>) { (Object as any).assign(this, init); }
}
export enum OfferPriceProductType
{
LIST_PRICE = 'LIST_PRICE',
NUMBER_PLATE_FEE = 'NUMBER_PLATE_FEE',
DELIVERY_CHARGE = 'DELIVERY_CHARGE',
FUEL_CHARGE = 'FUEL_CHARGE',
MANUFACTURER_OFFER = 'MANUFACTURER_OFFER',
PERSONALISED_MONEYOFFER = 'PERSONALISED_MONEYOFFER',
PERSONALISED_NONMONEYOFFER = 'PERSONALISED_NONMONEYOFFER',
PERSONALISED_NONMONEYOFFER_NEG = 'PERSONALISED_NONMONEYOFFER_NEG',
SERVICE = 'SERVICE',
SERVICE_NEG = 'SERVICE_NEG',
GOVERNMENT_GRANT = 'GOVERNMENT_GRANT',
OUTRIGHT_PURCHASE_DISCOUNT = 'OUTRIGHT_PURCHASE_DISCOUNT',
VIP_OFFER = 'VIP_OFFER',
WALLBOX_OFFER = 'WALLBOX_OFFER',
WALLBOX_OFFER_NEG = 'WALLBOX_OFFER_NEG',
ROAD_FUND_LICENCE = 'ROAD_FUND_LICENCE',
FIRST_REGISTRATION_FEE = 'FIRST_REGISTRATION_FEE',
NOT_FOUND = 'NOT_FOUND',
ACCESSORY_OFFER = 'ACCESSORY_OFFER',
ACCESSORY_OFFER_NEG = 'ACCESSORY_OFFER_NEG',
MOTABILITY_DISCOUNT = 'MOTABILITY_DISCOUNT',
}
export class Price
{
public Id: string;
public Description: string;
public Net: number;
public VAT: number;
public Gross: number;
public Product: OfferPriceProductType;
public constructor(init?: Partial<Price>) { (Object as any).assign(this, init); }
}
export class RetailerOpeningTime
{
public Day: string;
public OpenFrom: string;
public OpenTo: string;
public Special: string;
public constructor(init?: Partial<RetailerOpeningTime>) { (Object as any).assign(this, init); }
}
export class RetailerOpeningTimes
{
public New: RetailerOpeningTime[] = [];
public Used: RetailerOpeningTime[] = [];
public constructor(init?: Partial<RetailerOpeningTimes>) { (Object as any).assign(this, init); }
}
export class Retailer
{
public Id: number;
public GssnId: string;
public Description: string;
public Street: string;
public City: string;
public Postcode: string;
public GoogleMapPostcode: string;
public Phone: string;
public Fax: string;
public Email: string;
public Website: string;
public RetailerGroupId: string;
public RetailerGroupName: string;
public IsOnline: boolean;
public IsNewCarRetailer: boolean;
public IsUsedCarRetailer: boolean;
public IsCentralRetailer: boolean;
public ChatEnabled: boolean;
public TradeInEnabled: boolean;
public smart: boolean;
public DisplayPhoneNumberNew: string;
public DisplayPhoneNumberUsed: string;
public Latitude: number;
public Longitude: number;
public smartDescription: string;
public smartWebsite: string;
public smartPhone: string;
public LegacyId: string;
public Agent: boolean;
public MarketAreaId: number;
public DigitalLoungeParentGssnId?: string;
public SendLeadsToDigitalLoungeParent: boolean;
public OpeningTimes?: RetailerOpeningTimes;
public constructor(init?: Partial<Retailer>) { (Object as any).assign(this, init); }
}
export class VehicleConsumption
{
public Id: number;
public Lkm: number;
public Mpg: number;
public constructor(init?: Partial<VehicleConsumption>) { (Object as any).assign(this, init); }
}
export class Equipment
{
public Id?: number;
public Code?: string;
public Description?: string;
public constructor(init?: Partial<Equipment>) { (Object as any).assign(this, init); }
}
export class Equipmentv2 extends Equipment
{
public Importance: number;
public IsAdditional: boolean;
public constructor(init?: Partial<Equipmentv2>) { super(init); (Object as any).assign(this, init); }
}
export class VehicleEquipmentCategory
{
public Order: number;
public Code?: string;
public Description?: string;
public Equipment?: Equipmentv2[];
public constructor(init?: Partial<VehicleEquipmentCategory>) { (Object as any).assign(this, init); }
}
export class VehicleEmissionClass
{
public Colour?: string;
public Rating?: string;
public constructor(init?: Partial<VehicleEmissionClass>) { (Object as any).assign(this, init); }
}
export class VehicleAttribute
{
public Description?: string;
public Value?: string;
public constructor(init?: Partial<VehicleAttribute>) { (Object as any).assign(this, init); }
}
export class VehicleIntegratedServiceCareOption
{
public OptionCode?: string;
public BM7NST?: string;
public FullModelYear?: string;
public IntegratedProductType?: string;
public CustomerDescription?: string;
public OneAgentProductType?: string;
public constructor(init?: Partial<VehicleIntegratedServiceCareOption>) { (Object as any).assign(this, init); }
}
export class VehicleDetailDto
{
public BodyStyle: string;
public Vin: string;
public Description: string;
public Colour: string;
public ColourCode: string;
public ColourDescription: string;
public ColourGroup: string;
public Model: string;
public CommissionNumber: string;
public BrandId?: number;
public Brand: Brand;
public Engine: Engine;
public EngineBadge: string;
public Media: Media;
public Line: string;
public UpholsteryCode: string;
public UpholsteryType: string;
public Upholstery: string;
public UpholsteryDescription: string;
public AvailablePackages: string[] = [];
public Packages: string[] = [];
public P11D: number;
public PortArrivalDate?: string;
public Prices: Price[] = [];
public TransmissionType: string;
public FuelType: string;
public VehicleClass: string;
public ProductRange: string;
public VehicleType: string;
public Emission?: number;
public IsAvailableOnline: boolean;
public UnderOffer: boolean;
public IsExcluded: boolean;
public IsSellable: boolean;
public OnHold: boolean;
public ElectricConsumption?: number;
public ElectricRange?: number;
public ImageUrl: string;
public Baumuster: string;
public Retailer: Retailer;
public Bm7NST: string;
public OTR: number;
public ActualPrice: number;
public IsDisplayStock: boolean;
public DisplayRetailerId?: number;
public DisplayRetailer: string;
public DisplayRetailerGssnId: string;
public DisplayRetailerMarketAreaId: string;
public IsSmartDisplayRetailer: boolean;
public IsSpecialistCar: boolean;
public Age?: number;
public Secured: boolean;
public IsHOBackOrderAccountVehicle: boolean;
public IsAllocatedToBackOrder: boolean;
public UsageCode: string;
public EmissionCombined?: number;
public NormalisedEmissionDirective?: string;
public HasMildHybridEquipmentCode: boolean;
public RetailPriceExVat: number;
public RetailPrice_IncVAT: number;
public RetailPrice_ExVAT: number;
public ModelId: number;
public VID?: string;
public ProductionDate?: string;
public FullModelYearCode?: string;
public ChassisNumber?: string;
public EligibleForIntegratedServiceCare: boolean;
public AccountType?: string;
public ConsumptionCombined?: VehicleConsumption;
public ConsumptionExtraUrban?: VehicleConsumption;
public ConsumptionUrban?: VehicleConsumption;
public WltpFuelConsumptionCombined?: VehicleConsumption;
public WltpFuelConsumptionExtraHigh?: VehicleConsumption;
public WltpFuelConsumptionHigh?: VehicleConsumption;
public WltpFuelConsumptionLow?: VehicleConsumption;
public WltpFuelConsumptionMedium?: VehicleConsumption;
public Equipment?: Equipmentv2[];
public EquipmentCategories?: VehicleEquipmentCategory[];
public EnergyEfficiencyClass?: VehicleEmissionClass;
public VehicleData?: VehicleAttribute[];
public IntegratedServiceCareOptions: VehicleIntegratedServiceCareOption[] = [];
public IspVehicleCustomerDescriptions?: string[];
public ConfirmedProductionDate?: string;
public ForecastedArrivalDate?: string;
public constructor(init?: Partial<VehicleDetailDto>) { (Object as any).assign(this, init); }
}
export class VehicleError
{
public Field: string;
public Message: string;
public constructor(init?: Partial<VehicleError>) { (Object as any).assign(this, init); }
}
export class GetVehicleResponse
{
public Vehicle: VehicleDetailDto;
public Errors?: VehicleError[];
public constructor(init?: Partial<GetVehicleResponse>) { (Object as any).assign(this, init); }
}
TypeScript GetVehicleRequest 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/vehicle HTTP/1.1
Host: prod-api-agency-orch-mb-dhc.rapp-customers.co.uk
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
Vin: String,
IncludeAllocatedToOrder: False,
Gssn: String,
IsOneAdmin: False
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
Vehicle:
{
BodyStyle: String,
Vin: String,
Description: String,
Colour: String,
ColourCode: String,
ColourDescription: String,
ColourGroup: String,
Model: String,
CommissionNumber: String,
BrandId: 0,
Brand:
{
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
}
]
}
]
},
Engine:
{
Id: 0,
Badge: String
},
EngineBadge: String,
Media:
{
NoImage: False,
MainImageUrl: String
},
Line: String,
UpholsteryCode: String,
UpholsteryType: String,
Upholstery: String,
UpholsteryDescription: String,
AvailablePackages:
[
String
],
Packages:
[
String
],
P11D: 0,
PortArrivalDate: 0001-01-01,
Prices:
[
{
Id: String,
Description: String,
Net: 0,
VAT: 0,
Gross: 0,
Product: LIST_PRICE
}
],
TransmissionType: String,
FuelType: String,
VehicleClass: String,
ProductRange: String,
VehicleType: String,
Emission: 0,
IsAvailableOnline: False,
UnderOffer: False,
IsExcluded: False,
IsSellable: False,
OnHold: False,
ElectricConsumption: 0,
ElectricRange: 0,
ImageUrl: String,
Baumuster: String,
Retailer:
{
Id: 0,
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: False,
IsNewCarRetailer: False,
IsUsedCarRetailer: False,
IsCentralRetailer: False,
ChatEnabled: False,
TradeInEnabled: False,
smart: False,
DisplayPhoneNumberNew: String,
DisplayPhoneNumberUsed: String,
Latitude: 0,
Longitude: 0,
smartDescription: String,
smartWebsite: String,
smartPhone: String,
LegacyId: String,
Agent: False,
MarketAreaId: 0,
DigitalLoungeParentGssnId: String,
SendLeadsToDigitalLoungeParent: False,
OpeningTimes:
{
New:
[
{
Day: String,
OpenFrom: String,
OpenTo: String,
Special: String
}
],
Used:
[
{
Day: String,
OpenFrom: String,
OpenTo: String,
Special: String
}
]
}
},
Bm7NST: String,
OTR: 0,
ActualPrice: 0,
IsDisplayStock: False,
DisplayRetailerId: 0,
DisplayRetailer: String,
DisplayRetailerGssnId: String,
DisplayRetailerMarketAreaId: String,
IsSmartDisplayRetailer: False,
IsSpecialistCar: False,
Age: 0,
Secured: False,
IsHOBackOrderAccountVehicle: False,
IsAllocatedToBackOrder: False,
UsageCode: String,
EmissionCombined: 0,
NormalisedEmissionDirective: String,
HasMildHybridEquipmentCode: False,
RetailPriceExVat: 0,
RetailPrice_IncVAT: 0,
RetailPrice_ExVAT: 0,
ModelId: 0,
VID: String,
ProductionDate: String,
FullModelYearCode: String,
ChassisNumber: String,
EligibleForIntegratedServiceCare: False,
AccountType: String,
ConsumptionCombined:
{
Id: 0,
Lkm: 0,
Mpg: 0
},
ConsumptionExtraUrban:
{
Id: 0,
Lkm: 0,
Mpg: 0
},
ConsumptionUrban:
{
Id: 0,
Lkm: 0,
Mpg: 0
},
WltpFuelConsumptionCombined:
{
Id: 0,
Lkm: 0,
Mpg: 0
},
WltpFuelConsumptionExtraHigh:
{
Id: 0,
Lkm: 0,
Mpg: 0
},
WltpFuelConsumptionHigh:
{
Id: 0,
Lkm: 0,
Mpg: 0
},
WltpFuelConsumptionLow:
{
Id: 0,
Lkm: 0,
Mpg: 0
},
WltpFuelConsumptionMedium:
{
Id: 0,
Lkm: 0,
Mpg: 0
},
Equipment:
[
{
Importance: 0,
IsAdditional: False,
Id: 0,
Code: String,
Description: String
}
],
EquipmentCategories:
[
{
Order: 0,
Code: String,
Description: String,
Equipment:
[
{
Importance: 0,
IsAdditional: False,
Id: 0,
Code: String,
Description: String
}
]
}
],
EnergyEfficiencyClass:
{
Colour: String,
Rating: String
},
VehicleData:
[
{
Description: String,
Value: String
}
],
IntegratedServiceCareOptions:
[
{
OptionCode: String,
BM7NST: String,
FullModelYear: String,
IntegratedProductType: String,
CustomerDescription: String,
OneAgentProductType: String
}
],
IspVehicleCustomerDescriptions:
[
String
],
ConfirmedProductionDate: String,
ForecastedArrivalDate: String
},
Errors:
[
{
Field: String,
Message: String
}
]
}