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