Mercedes.Agency.Orchestration.API

<back to all web services

GetVehicleRequest

Vehicle
Requires Authentication
The following routes are available for this service:
POST/v1/vehicleGet 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 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

HTTP + 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
		]
	},
	Errors: 
	[
		{
			Field: String,
			Message: String
		}
	]
}