| POST | /v1/vehicle | Get Vehicle by Vin | Get Vehicle by Vin |
|---|
using System;
using System.IO;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.Serialization;
using ServiceStack;
using ServiceStack.DataAnnotations;
using Mercedes.Agency.Orchestration.API.ServiceModel.Vehicles;
using Mercedes.Agency.API.Shared.POCO;
using Mercedes.OS.Vehicle.Shared.POCO.Filters.v2;
using Mercedes.Agency.API.Shared.Enums;
using Mercedes.OS.Vehicle.Shared.POCO;
namespace Mercedes.Agency.API.Shared.POCO
{
public partial class Engine
{
public virtual int? Id { get; set; }
public virtual string Badge { get; set; }
}
public partial class GetVehicleResponse
{
public virtual VehicleDetailDto Vehicle { get; set; }
public virtual List<VehicleError> Errors { get; set; }
}
public partial class Media
{
public virtual bool NoImage { get; set; }
public virtual string MainImageUrl { get; set; }
}
public partial class Price
{
public virtual string Id { get; set; }
public virtual string Description { get; set; }
public virtual decimal Net { get; set; }
public virtual decimal VAT { get; set; }
public virtual decimal Gross { get; set; }
public virtual OfferPriceProductType Product { get; set; }
}
public partial class Retailer
{
public virtual int Id { get; set; }
public virtual string GssnId { get; set; }
public virtual string Description { get; set; }
public virtual string Street { get; set; }
public virtual string City { get; set; }
public virtual string Postcode { get; set; }
public virtual string GoogleMapPostcode { get; set; }
public virtual string Phone { get; set; }
public virtual string Fax { get; set; }
public virtual string Email { get; set; }
public virtual string Website { get; set; }
public virtual string RetailerGroupId { get; set; }
public virtual string RetailerGroupName { get; set; }
public virtual bool IsOnline { get; set; }
public virtual bool IsNewCarRetailer { get; set; }
public virtual bool IsUsedCarRetailer { get; set; }
public virtual bool IsCentralRetailer { get; set; }
public virtual bool ChatEnabled { get; set; }
public virtual bool TradeInEnabled { get; set; }
public virtual bool smart { get; set; }
public virtual string DisplayPhoneNumberNew { get; set; }
public virtual string DisplayPhoneNumberUsed { get; set; }
public virtual decimal Latitude { get; set; }
public virtual decimal Longitude { get; set; }
public virtual string smartDescription { get; set; }
public virtual string smartWebsite { get; set; }
public virtual string smartPhone { get; set; }
public virtual string LegacyId { get; set; }
public virtual bool Agent { get; set; }
public virtual int MarketAreaId { get; set; }
public virtual string DigitalLoungeParentGssnId { get; set; }
public virtual bool SendLeadsToDigitalLoungeParent { get; set; }
public virtual RetailerOpeningTimes OpeningTimes { get; set; }
}
public partial class RetailerOpeningTime
{
public virtual string Day { get; set; }
public virtual string OpenFrom { get; set; }
public virtual string OpenTo { get; set; }
public virtual string Special { get; set; }
}
public partial class RetailerOpeningTimes
{
public virtual List<RetailerOpeningTime> New { get; set; } = [];
public virtual List<RetailerOpeningTime> Used { get; set; } = [];
}
public partial class VehicleAttribute
{
public virtual string Description { get; set; }
public virtual string Value { get; set; }
}
public partial class VehicleConsumption
{
public virtual int Id { get; set; }
public virtual decimal Lkm { get; set; }
public virtual decimal Mpg { get; set; }
}
public partial class VehicleDetailDto
{
public virtual string BodyStyle { get; set; }
public virtual string Vin { get; set; }
public virtual string Description { get; set; }
public virtual string Colour { get; set; }
public virtual string ColourCode { get; set; }
public virtual string ColourDescription { get; set; }
public virtual string ColourGroup { get; set; }
public virtual string Model { get; set; }
public virtual string CommissionNumber { get; set; }
public virtual int? BrandId { get; set; }
public virtual Brand Brand { get; set; }
public virtual Engine Engine { get; set; }
public virtual string EngineBadge { get; set; }
public virtual Media Media { get; set; }
public virtual string Line { get; set; }
public virtual string UpholsteryCode { get; set; }
public virtual string UpholsteryType { get; set; }
public virtual string Upholstery { get; set; }
public virtual string UpholsteryDescription { get; set; }
public virtual List<string> AvailablePackages { get; set; } = [];
public virtual List<string> Packages { get; set; } = [];
public virtual decimal P11D { get; set; }
public virtual DateTime? PortArrivalDate { get; set; }
public virtual List<Price> Prices { get; set; } = [];
public virtual string TransmissionType { get; set; }
public virtual string FuelType { get; set; }
public virtual string VehicleClass { get; set; }
public virtual string ProductRange { get; set; }
public virtual string VehicleType { get; set; }
public virtual decimal? Emission { get; set; }
public virtual bool IsAvailableOnline { get; set; }
public virtual bool UnderOffer { get; set; }
public virtual bool IsExcluded { get; set; }
public virtual bool IsSellable { get; set; }
public virtual bool OnHold { get; set; }
public virtual decimal? ElectricConsumption { get; set; }
public virtual decimal? ElectricRange { get; set; }
public virtual string ImageUrl { get; set; }
public virtual string Baumuster { get; set; }
public virtual Retailer Retailer { get; set; }
public virtual string Bm7NST { get; set; }
public virtual decimal OTR { get; set; }
public virtual decimal ActualPrice { get; set; }
public virtual bool IsDisplayStock { get; set; }
public virtual int? DisplayRetailerId { get; set; }
public virtual string DisplayRetailer { get; set; }
public virtual string DisplayRetailerGssnId { get; set; }
public virtual string DisplayRetailerMarketAreaId { get; set; }
public virtual bool IsSmartDisplayRetailer { get; set; }
public virtual bool IsSpecialistCar { get; set; }
public virtual int? Age { get; set; }
public virtual bool Secured { get; set; }
public virtual bool IsHOBackOrderAccountVehicle { get; set; }
public virtual bool IsAllocatedToBackOrder { get; set; }
public virtual string UsageCode { get; set; }
public virtual decimal? EmissionCombined { get; set; }
public virtual string NormalisedEmissionDirective { get; set; }
public virtual bool HasMildHybridEquipmentCode { get; set; }
public virtual decimal RetailPriceExVat { get; set; }
public virtual decimal RetailPrice_IncVAT { get; set; }
public virtual decimal RetailPrice_ExVAT { get; set; }
public virtual int ModelId { get; set; }
public virtual string VID { get; set; }
public virtual string ProductionDate { get; set; }
public virtual string FullModelYearCode { get; set; }
public virtual string ChassisNumber { get; set; }
public virtual bool EligibleForIntegratedServiceCare { get; set; }
public virtual string AccountType { get; set; }
public virtual VehicleConsumption ConsumptionCombined { get; set; }
public virtual VehicleConsumption ConsumptionExtraUrban { get; set; }
public virtual VehicleConsumption ConsumptionUrban { get; set; }
public virtual VehicleConsumption WltpFuelConsumptionCombined { get; set; }
public virtual VehicleConsumption WltpFuelConsumptionExtraHigh { get; set; }
public virtual VehicleConsumption WltpFuelConsumptionHigh { get; set; }
public virtual VehicleConsumption WltpFuelConsumptionLow { get; set; }
public virtual VehicleConsumption WltpFuelConsumptionMedium { get; set; }
public virtual List<Equipmentv2> Equipment { get; set; }
public virtual List<VehicleEquipmentCategory> EquipmentCategories { get; set; }
public virtual VehicleEmissionClass EnergyEfficiencyClass { get; set; }
public virtual List<VehicleAttribute> VehicleData { get; set; }
public virtual List<VehicleIntegratedServiceCareOption> IntegratedServiceCareOptions { get; set; } = [];
public virtual List<string> IspVehicleCustomerDescriptions { get; set; }
public virtual string ConfirmedProductionDate { get; set; }
public virtual string ForecastedArrivalDate { get; set; }
}
public partial class VehicleEmissionClass
{
public virtual string Colour { get; set; }
public virtual string Rating { get; set; }
}
public partial class VehicleEquipmentCategory
{
public virtual int Order { get; set; }
public virtual string Code { get; set; }
public virtual string Description { get; set; }
public virtual List<Equipmentv2> Equipment { get; set; }
}
public partial class VehicleError
{
public virtual string Field { get; set; }
public virtual string Message { get; set; }
}
public partial class VehicleIntegratedServiceCareOption
{
public virtual string OptionCode { get; set; }
public virtual string BM7NST { get; set; }
public virtual string FullModelYear { get; set; }
public virtual string IntegratedProductType { get; set; }
public virtual string CustomerDescription { get; set; }
public virtual string OneAgentProductType { get; set; }
}
}
namespace Mercedes.Agency.Orchestration.API.ServiceModel.Vehicles
{
public partial class GetVehicleRequest
{
public virtual string Vin { get; set; }
public virtual bool IncludeAllocatedToOrder { get; set; }
public virtual string Gssn { get; set; }
public virtual bool IsOneAdmin { get; set; }
}
}
namespace Mercedes.OS.Vehicle.Shared.POCO
{
public partial class Equipment
{
public virtual int? Id { get; set; }
public virtual string Code { get; set; }
public virtual string Description { get; set; }
}
public partial class Equipmentv2
: Equipment
{
public virtual int Importance { get; set; }
public virtual bool IsAdditional { get; set; }
}
}
namespace Mercedes.OS.Vehicle.Shared.POCO.Filters.v2
{
public partial class BodyStyle
{
public virtual int Id { get; set; }
public virtual string Description { get; set; }
public virtual List<Model> Models { get; set; }
}
public partial class Brand
{
public virtual int Id { get; set; }
public virtual string Description { get; set; }
public virtual string DisplayName { get; set; }
public virtual List<BodyStyle> BodyStyles { get; set; }
}
public partial class Model
{
public virtual int Id { get; set; }
public virtual string Description { get; set; }
public virtual string DisplayName { get; set; }
public virtual string ImageUrlSmall { get; set; }
public virtual string ImageUrlMedium { get; set; }
public virtual string ImageUrlLarge { get; set; }
public virtual bool Specialist { get; set; }
public virtual int? Priority { get; set; }
public virtual bool? ExcludeFromOnlineShowroomFilters { get; set; }
}
}
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.
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
],
ConfirmedProductionDate: String,
ForecastedArrivalDate: String
},
Errors:
[
{
Field: String,
Message: String
}
]
}