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 Foundation
import ServiceStack

public class VehicleDetailsRequest : IGet, Codable
{
    public var identifier:String
    public var vehicleType:String

    required public init(){}
}

public class VehicleDetailsResponse : Codable
{
    public var vehicle:BackOrderVehicleDetails

    required public init(){}
}

public class BackOrderVehicleDetails : BackOrderVehicleDetailsBase
{
    public var engine:String

    required public init(){ super.init() }

    private enum CodingKeys : String, CodingKey {
        case engine
    }

    required public init(from decoder: Decoder) throws {
        try super.init(from: decoder)
        let container = try decoder.container(keyedBy: CodingKeys.self)
        engine = try container.decodeIfPresent(String.self, forKey: .engine)
    }

    public override func encode(to encoder: Encoder) throws {
        try super.encode(to: encoder)
        var container = encoder.container(keyedBy: CodingKeys.self)
        if engine != nil { try container.encode(engine, forKey: .engine) }
    }
}

public class BackOrderVehicleDetailsBase : Codable
{
    public var vin:String
    public var commissionNumber:String
    public var Description:String
    public var model:String
    public var fullModelYearCode:String
    public var retailerId:Int
    public var imageUrl:String
    public var colour:String
    public var colourDescription:String
    public var bodyStyle:String
    public var fuelType:String
    public var transmission:String
    public var transmissionType:String
    public var package:String
    public var packages:[String] = []
    public var line:String
    public var upholstery:String
    public var upholsteryDescription:String
    public var usageCode:String
    public var account:String
    public var nst:String
    public var baumuster:String
    public var electricRange:Double?
    public var electricConsumption:Double?
    public var retailPrice_ExVAT:Double
    public var actualPrice:Double?
    public var otrPrice:Double
    public var vehicleType:String
    public var secured:Bool
    public var productionDate:String
    public var portArrivalDate:Date?
    public var displayRetailer:String
    public var location:String
    public var bm7NST:String
    public var isAvailableOnline:Bool
    public var isSpecialistCar:Bool
    public var isSellable:Bool
    public var inBackOrderAccount:Bool
    public var vehicleAuditDetails:[VehicleAuditDetails] = []
    public var ispVehicleCustomerDescriptions:[String]
    public var underOffer:Bool
    public var isAllocatedToBackOrder:Bool

    required public init(){}
}

public class VehicleAuditDetails : Codable
{
    public var userId:String
    public var status:Bool
    public var notes:String
    public var creationDate:String

    required public init(){}
}


Swift 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
	}
}