Mercedes.VehicleManagement.API

<back to all web services

VehicleDetailsRequest

Vehicle
Requires Authentication
The following routes are available for this service:
GET/v1/details/{vehicleType}/{Identifier}Get Vehicle Details
GET/details/{vehicleType}/{Identifier}Get Vehicle Details
import datetime
import decimal
from marshmallow.fields import *
from servicestack import *
from typing import *
from dataclasses import dataclass, field
from dataclasses_json import dataclass_json, LetterCase, Undefined, config
from enum import Enum, IntEnum


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class VehicleAuditDetails:
    user_id: Optional[str] = None
    status: bool = False
    notes: Optional[str] = None
    creation_date: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class BackOrderVehicleDetailsBase:
    vin: Optional[str] = None
    commission_number: Optional[str] = None
    description: Optional[str] = None
    model: Optional[str] = None
    full_model_year_code: Optional[str] = None
    retailer_id: int = 0
    image_url: Optional[str] = None
    colour: Optional[str] = None
    colour_description: Optional[str] = None
    body_style: Optional[str] = None
    fuel_type: Optional[str] = None
    transmission: Optional[str] = None
    transmission_type: Optional[str] = None
    package: Optional[str] = None
    packages: List[str] = field(default_factory=list)
    line: Optional[str] = None
    upholstery: Optional[str] = None
    upholstery_description: Optional[str] = None
    usage_code: Optional[str] = None
    account: Optional[str] = None
    nst: Optional[str] = None
    baumuster: Optional[str] = None
    electric_range: Optional[Decimal] = None
    electric_consumption: Optional[Decimal] = None
    retail_price__ex_v_a_t: Decimal = decimal.Decimal(0)
    actual_price: Optional[Decimal] = None
    otr_price: Decimal = decimal.Decimal(0)
    vehicle_type: Optional[str] = None
    secured: bool = False
    production_date: Optional[str] = None
    port_arrival_date: Optional[datetime.datetime] = None
    display_retailer: Optional[str] = None
    location: Optional[str] = None
    bm7_n_s_t: Optional[str] = None
    is_available_online: bool = False
    is_specialist_car: bool = False
    is_sellable: bool = False
    in_back_order_account: bool = False
    vehicle_audit_details: List[VehicleAuditDetails] = field(default_factory=list)
    isp_vehicle_customer_descriptions: Optional[List[str]] = None
    under_offer: bool = False
    is_allocated_to_back_order: bool = False


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class BackOrderVehicleDetails(BackOrderVehicleDetailsBase):
    engine: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class VehicleDetailsResponse:
    vehicle: Optional[BackOrderVehicleDetails] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class VehicleDetailsRequest(IGet):
    identifier: Optional[str] = None
    vehicle_type: Optional[str] = None

Python VehicleDetailsRequest 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.

GET /v1/details/{vehicleType}/{Identifier} HTTP/1.1 
Host: uat-api-vehicle-mgt-mb-dhc.rapp-customers.co.uk 
Accept: text/jsv
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	vehicle: 
	{
		engine: String,
		vin: String,
		commissionNumber: String,
		description: String,
		model: String,
		fullModelYearCode: String,
		retailerId: 0,
		imageUrl: String,
		colour: String,
		colourDescription: String,
		bodyStyle: String,
		fuelType: String,
		transmission: String,
		transmissionType: String,
		package: String,
		packages: 
		[
			String
		],
		line: String,
		upholstery: String,
		upholsteryDescription: String,
		usageCode: String,
		account: String,
		nst: String,
		baumuster: String,
		electricRange: 0,
		electricConsumption: 0,
		retailPrice_ExVAT: 0,
		actualPrice: 0,
		otrPrice: 0,
		vehicleType: String,
		secured: False,
		productionDate: String,
		portArrivalDate: 0001-01-01,
		displayRetailer: String,
		location: String,
		bm7NST: String,
		isAvailableOnline: False,
		isSpecialistCar: False,
		isSellable: False,
		inBackOrderAccount: False,
		vehicleAuditDetails: 
		[
			{
				userId: String,
				status: False,
				notes: String,
				creationDate: String
			}
		],
		ispVehicleCustomerDescriptions: 
		[
			String
		],
		underOffer: False,
		isAllocatedToBackOrder: False
	}
}