| POST | /v2/{VehicleType}/Vehicle/UpdateVehicle | Refresh vehicle data for Nexus |
|---|
// @ts-nocheck
export class Brand
{
public id: number;
public description?: string;
public displayName?: string;
public enabledNew: boolean;
public enabledUsed: boolean;
public bodyStyles: BodyStyle[];
public constructor(init?: Partial<Brand>) { (Object as any).assign(this, init); }
}
export class MappedFuelType
{
public id: number;
public description?: string;
public fuelTypes?: string;
public sortOrder: number;
public constructor(init?: Partial<MappedFuelType>) { (Object as any).assign(this, init); }
}
export class ProductRange
{
public modelId: number;
public model?: Model;
public fuelTypeId: number;
public mapped_FuelType?: MappedFuelType;
public productRangeCode?: number;
public constructor(init?: Partial<ProductRange>) { (Object as any).assign(this, init); }
}
export class VehicleClass
{
public id: number;
public description?: string;
public priority: number;
public vehicleClasses?: Model[];
public constructor(init?: Partial<VehicleClass>) { (Object as any).assign(this, init); }
}
export class Model
{
public id: number;
public description?: string;
public displayName?: string;
public productRange?: string;
public bodyStyle_Id?: number;
public overrideBodyStyleId?: number;
public bodyStyle?: BodyStyle;
public productRanges: ProductRange[];
public imageUrlNew?: string;
public imageUrlUsed?: string;
public specialistNew: boolean;
public specialistUsed: boolean;
public excludeFromFiltersNew: boolean;
public excludeFromFiltersUsed: boolean;
public priorityNew: number;
public priorityUsed: number;
public alternativeModelsNew?: string;
public alternativeModelsUsed?: string;
public vehicleClass_Id?: number;
public vehicleClass?: VehicleClass;
public oneWebModelUrlNew: string;
public oneWebModelUrlUsed: string;
public lastEdited?: string;
public constructor(init?: Partial<Model>) { (Object as any).assign(this, init); }
}
export class BodyStyle
{
public id: number;
public description?: string;
public styleCode?: string;
public styleCodeElectric?: string;
public styleCodeHybrid?: string;
public sortOrder: number;
public brand?: Brand;
public brand_Id?: number;
public models: Model[];
public constructor(init?: Partial<BodyStyle>) { (Object as any).assign(this, init); }
}
export class Consumption
{
public id: number;
public lkm: number;
public mpg: number;
public constructor(init?: Partial<Consumption>) { (Object as any).assign(this, init); }
}
export class RetailerGroup
{
public id: number;
public retailerGroupId?: string;
public retailerGroupName?: string;
public creationDate?: string;
public creationSource?: string;
public maintenanceDate?: string;
public maintenanceSource?: string;
public priorityServiceNew?: number;
public priorityServiceUsed?: number;
public legacyId?: string;
public constructor(init?: Partial<RetailerGroup>) { (Object as any).assign(this, init); }
}
export class MarketArea
{
public id: number;
public marketAreaId: number;
public marketAreaName: string;
public constructor(init?: Partial<MarketArea>) { (Object as any).assign(this, init); }
}
export class Port
{
public id: number;
public creation?: string;
public modified?: string;
public description?: string;
public latitude: number;
public longitude: number;
public constructor(init?: Partial<Port>) { (Object as any).assign(this, init); }
}
export class RetailerAccount
{
public id: number;
public stpNumber: string;
public retailer_Id: number;
public retailer: Dealer;
public constructor(init?: Partial<RetailerAccount>) { (Object as any).assign(this, init); }
}
export class Region
{
public id: number;
public regionName: string;
public constructor(init?: Partial<Region>) { (Object as any).assign(this, init); }
}
export class Dealer
{
public id: number;
public description?: string;
public rodCode?: string;
public gssnOutletId?: string;
public latitude: number;
public longitude: number;
public retailerGroupId?: string;
public street?: string;
public city?: string;
public district?: string;
public postcode?: string;
public phone?: string;
public fax?: string;
public email?: string;
public website?: string;
public isOnline: boolean;
public isNewCarRetailer: boolean;
public isUsedCarRetailer: boolean;
public isCentralRetailer: boolean;
public campaignExcluded: boolean;
public creationDate?: string;
public creationSource?: string;
public maintenanceDate?: string;
public maintenanceSource?: string;
public chatEnabled: boolean;
public tradeInEnabled: boolean;
public retailerGroup?: RetailerGroup;
public retailerGroup_Id?: number;
public marketArea?: MarketArea;
public marketArea_Id?: number;
public displayPhoneNumberNew?: string;
public displayPhoneNumberUsed?: string;
public smart: boolean;
public smartDescription?: string;
public smartWebsite?: string;
public smartEmail?: string;
public smartPhone?: string;
public additionalInformation?: string;
public legacyId?: string;
public agent: boolean;
public port?: Port;
public port_Id?: number;
public retailerAccount?: RetailerAccount[];
public digitalLoungeParentGssnId?: string;
public sendLeadsToDigitalLoungeParent?: boolean;
public isExcludedFromImport?: boolean;
public region_Id?: number;
public region?: Region;
public constructor(init?: Partial<Dealer>) { (Object as any).assign(this, init); }
}
export class Engine
{
public id: number;
public badge: string;
public brand_Id?: number;
public constructor(init?: Partial<Engine>) { (Object as any).assign(this, init); }
}
export class MappedColourGroup
{
public id: number;
public description?: string;
public colours?: string;
public imageUrl?: string;
public constructor(init?: Partial<MappedColourGroup>) { (Object as any).assign(this, init); }
}
export class MappedTransmissionGroup
{
public id: number;
public description?: string;
public alias?: string;
public constructor(init?: Partial<MappedTransmissionGroup>) { (Object as any).assign(this, init); }
}
export class Upholstery
{
public id: number;
public price?: string;
public code?: string;
public type?: string;
public constructor(init?: Partial<Upholstery>) { (Object as any).assign(this, init); }
}
export class Line
{
public id: number;
public description?: string;
public alias?: string;
public overridesId?: string;
public constructor(init?: Partial<Line>) { (Object as any).assign(this, init); }
}
export class UsedCarImage
{
public id: number;
public creationDate: string;
public creationSource?: string;
public maintenanceDate?: string;
public maintenanceSource?: string;
public vehicleId: number;
public vehicle?: Vehicle;
public imageUrl?: string;
public primaryImage: boolean;
public perspective?: string;
public index: number;
public constructor(init?: Partial<UsedCarImage>) { (Object as any).assign(this, init); }
}
export class Packages
{
public id: number;
public description: string;
public alias?: string;
public overridesId?: string;
public packageDataOverridesId?: string;
public vehiclePackages?: VehiclePackage[];
public constructor(init?: Partial<Packages>) { (Object as any).assign(this, init); }
}
export class VehiclePackage
{
public vehicleId: number;
public packageId: number;
public vehicle: Vehicle;
public package: Packages;
public constructor(init?: Partial<VehiclePackage>) { (Object as any).assign(this, init); }
}
export class VehicleSecured
{
public id: number;
public reason: string;
public created: string;
public userId: string;
public constructor(init?: Partial<VehicleSecured>) { (Object as any).assign(this, init); }
}
export class VehicleImage
{
public id: number;
public commissionNumber: string;
public cachedImageUrl: string;
public imageDescriptor: string;
public createdDate: string;
public constructor(init?: Partial<VehicleImage>) { (Object as any).assign(this, init); }
}
export class VehicleSecuredAudit
{
public id: number;
public userId: string;
public mbukSecured: boolean;
public vin?: string;
public vehicleType: string;
public reason: string;
public created: string;
public vehicle?: Vehicle;
public commissionNumber?: string;
public isBulkUpdate: boolean;
public constructor(init?: Partial<VehicleSecuredAudit>) { (Object as any).assign(this, init); }
}
export class Vehicle
{
public id: number;
public vin?: string;
public commissionNumber?: string;
public isAllWheel: boolean;
public isAMG: boolean;
public isAvailableOnline: boolean;
public isSellable: boolean;
public isDisplayStock: boolean;
public creationDate: string;
public maintenanceDate?: string;
public horsePower: number;
public deliveryCharge: number;
public deliveryChargeNet?: number;
public deliveryChargeVAT?: number;
public firstRegFee: number;
public otr: number;
public p11D: number;
public otR_Value: number;
public actualPrice?: number;
public totalOfferValue?: number;
public campaignOfferContribution?: number;
public retailerOfferContribution?: number;
public campaignGovernmentGrantOfferContribution?: number;
public offerExpiryDate?: string;
public hasNonMonetaryOffers: boolean;
public plates: number;
public platesNet?: number;
public platesVAT?: number;
public fuelCharge: number;
public fuelChargeNet?: number;
public fuelChargeVAT?: number;
public powerKW: number;
public retailPrice_ExVAT: number;
public retailPrice_IncVAT: number;
public veD_Year1: number;
public veD_Year2: number;
public cc: number;
public cyclinders: number;
public baumuster?: string;
public marketingCode?: string;
public chassisNumber?: string;
public colourDescription?: string;
public colourCode?: string;
public emissionCombined?: string;
public emissionDirective?: string;
public normalisedEmissionDirective?: string;
public emissionExtraUrban?: string;
public emissionUrban?: string;
public energyEfficiencyClass?: string;
public wltpEmissionCombined?: string;
public imageUrl?: string;
public line?: string;
public modelYear?: string;
public modelYearCode?: string;
public halfModelYearCode?: string;
public nst?: string;
public numberOfDoors?: string;
public numberOfGears?: string;
public numberOfSeats?: string;
public rvOptions?: string;
public salesDescription?: string;
public salesDescriptionShort?: string;
public upholsteryCode?: string;
public upholsteryDescription?: string;
public transmissionDescription?: string;
public vehicleCategory?: string;
public vehicleClass?: string;
public vehicleType?: string;
public vid?: string;
public latestModel: boolean;
public portArrivalDate?: string;
public productionDate?: string;
public confirmedProductionDate?: string;
public tradeInDate?: string;
public electricConsumption?: number;
public electricRange?: number;
public locationTypeName?: string;
public cesarIdShipToParty?: string;
public vehicleUsageCode?: string;
public account?: string;
public isSpecialistCar: boolean;
public bootCapacity?: number;
public driveConcept?: string;
public driveType?: string;
public combustionPowerHp?: number;
public electricPowerKw?: number;
public electricPowerHp?: number;
public combinedPowerKw?: number;
public combinedPowerHP?: number;
public mbukReserve?: string;
public bm7NST?: string;
public gbDestDate?: string;
public fin?: string;
public bodyStyle?: BodyStyle;
public bodyStyle_Id?: number;
public brand?: Brand;
public brandId?: number;
public consumptionCombined?: Consumption;
public consumptionExtraUrban?: Consumption;
public consumptionUrban?: Consumption;
public wltpFuelConsumptionExtraHigh?: Consumption;
public wltpFuelConsumptionHigh?: Consumption;
public wltpFuelConsumptionMedium?: Consumption;
public wltpFuelConsumptionLow?: Consumption;
public wltpFuelConsumptionCombined?: Consumption;
public dealer?: Dealer;
public dealer_Id?: number;
public displayRetailer?: Dealer;
public displayRetailer_Id?: number;
public engine?: Engine;
public mapped_ColourGroup?: MappedColourGroup;
public mapped_ColourGroup_Id?: number;
public mapped_FuelType?: MappedFuelType;
public mapped_FuelType_Id?: number;
public mapped_TransmissionGroup?: MappedTransmissionGroup;
public model_Id?: number;
public model?: Model;
public upholstery?: Upholstery;
public upholstery_Id?: number;
public mapped_Line?: Line;
public mapped_Line_Id?: number;
public mileage?: number;
public condition?: string;
public source?: string;
public registrationDate?: string;
public registrationNumber?: string;
public topSpeed?: number;
public acceleration?: number;
public torque?: number;
public usedCarImages?: UsedCarImage[];
public taxAmount?: number;
public vatQualifying?: number;
public promoCode?: string;
public campaignPromoOfferContribution?: number;
public reserved: boolean;
public emission?: number;
public underOffer: boolean;
public allocatedToBackOrder: boolean;
public paintSwatchUrl?: string;
public upholsterySwatchUrl?: string;
public packages: VehiclePackage[];
public secured?: VehicleSecured;
public cachedImage?: VehicleImage;
public hasMildHybridEquipmentCode: boolean;
public eligibleForIntegratedServiceCare: boolean;
public vehicleSecuredAudit?: VehicleSecuredAudit[];
public constructor(init?: Partial<Vehicle>) { (Object as any).assign(this, init); }
}
export class EquipmentCache
{
public code: string;
public description: string;
public standardFlag: string;
public price: number;
public category: string;
public importance: string;
public constructor(init?: Partial<EquipmentCache>) { (Object as any).assign(this, init); }
}
export class OpenSearchVehicle extends Vehicle
{
public vehicleIdentifier: string;
public lastUpdated: string;
public equipmentCacheList: EquipmentCache[] = [];
public key: string;
public constructor(init?: Partial<OpenSearchVehicle>) { super(init); (Object as any).assign(this, init); }
}
export class UpdateVehicleV2Request implements IPost
{
public vehicleIdentifier: string;
public vin: string;
public vehicleType: string;
public constructor(init?: Partial<UpdateVehicleV2Request>) { (Object as any).assign(this, init); }
}
export enum ActionType
{
Insert = 'Insert',
Update = 'Update',
Offline = 'Offline',
NoAction = 'NoAction',
Error = 'Error',
}
export class ProcessResult<TVehicle>
{
public success: boolean;
public rejected: boolean;
public mappedVehicle?: OpenSearchVehicle;
public action: ActionType;
public constructor(init?: Partial<ProcessResult<TVehicle>>) { (Object as any).assign(this, init); }
}
TypeScript UpdateVehicleV2Request 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 /v2/{VehicleType}/Vehicle/UpdateVehicle HTTP/1.1
Host: uat-api-vehicle-mgt-mb-dhc.rapp-customers.co.uk
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
vehicleIdentifier: String,
vin: String,
vehicleType: String
}