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 .other suffix or ?format=other
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/jsonl
HTTP/1.1 200 OK Content-Type: text/jsonl 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":"\/Date(-62135596800000-0000)\/","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}}