| POST | /v1/{VehicleType}/Vehicle/UpdateVin | Refresh vehicle data | |
|---|---|---|---|
| POST | /v1/{VehicleType}/Vehicle/UpdateVehicle | Refresh vehicle data |
Imports System
Imports System.IO
Imports System.Collections
Imports System.Collections.Generic
Imports System.Runtime.Serialization
Imports ServiceStack
Imports ServiceStack.DataAnnotations
Imports Mercedes.VehicleManagement.API.ServiceModel
Imports Mercedes.VehicleManagement.API.Shared.POCO
Imports Mercedes.VehicleDataFactory.Pocos.NexusPoco
Imports Mercedes.OS.Vehicle.Shared.POCO
Imports Mercedes.VehicleDataFactory.Pocos.OasisPoco
Namespace Global
Namespace Mercedes.OS.Vehicle.Shared.POCO
Public Partial Class Equipment
Public Overridable Property Id As Integer?
Public Overridable Property Code As String
Public Overridable Property Description As String
End Class
End Namespace
Namespace Mercedes.VehicleDataFactory.Pocos.NexusPoco
Public Partial Class CodeValue
Public Overridable Property Code As String
Public Overridable Property Description As String
End Class
Public Partial Class Configuration
Public Overridable Property ConfigurationId As String
Public Overridable Property Baumuster As String
Public Overridable Property ModelYear As String
Public Overridable Property ChangeYear As String
Public Overridable Property NationalSalesType As String
Public Overridable Property Name As Name
Public Overridable Property ClassName As Name
Public Overridable Property ClassId As String
Public Overridable Property TypeClass As String
Public Overridable Property BodyName As Name
Public Overridable Property BodyId As String
Public Overridable Property ProductGroup As String
Public Overridable Property CustomerGroups As List(Of String) = New List(Of String)
Public Overridable Property Brand As String
Public Overridable Property PrimaryColorCode As String
Public Overridable Property PrimaryColorGroup As String
Public Overridable Property UpholsteryCode As String
Public Overridable Property Baureihe As String
Public Overridable Property VehicleId As String
Public Overridable Property GearboxCode As String
Public Overridable Property SteeringWheelTypeCode As String
Public Overridable Property VehicleConfigurationStatus As VehicleConfigurationStatus
Public Overridable Property Sparte As String
Public Overridable Property Equipments As List(Of Equipment) = New List(Of Equipment)
Public Overridable Property Facelift As Boolean
Public Overridable Property FaceliftNumber As Integer
Public Overridable Property Motorization As String
End Class
Public Partial Class Contract
Public Overridable Property ContractId As String
Public Overridable Property RequestedDeliveryDateTo As Date
Public Overridable Property RequestedDeliveryDateFrom As Date
Public Overridable Property ContractTypeCode As String
End Class
Public Partial Class Current
Public Overridable Property DestinationKey As String
Public Overridable Property PrimaryDestinationKey As String
Public Overridable Property TypeName As String
End Class
Public Partial Class Distribution
Public Overridable Property EstimatedDeliveryDate As Date
Public Overridable Property FactoryExitDate As Date
Public Overridable Property PortActualEntryDate As Date
Public Overridable Property AgentActualEntryDate As Date
Public Overridable Property LicenseNumber As String
End Class
Public Partial Class DoubleValue
Public Overridable Property Value As Double
Public Overridable Property Unit As String
End Class
Public Partial Class EmissionConsumption
Public Overridable Property WltpConsumptionLowPrimaryGearIndividual As DoubleValue
Public Overridable Property WltpConsumptionMediumPrimaryGearIndividual As DoubleValue
Public Overridable Property WltpConsumptionHighPrimaryGearIndividual As DoubleValue
Public Overridable Property WltpConsumptionExtraHighPrimaryGearIndividual As DoubleValue
Public Overridable Property WltpConsumptionTotalPrimaryGearIndividual As DoubleValue
Public Overridable Property WltpConsumptionChargeDepletePrimaryGearIndividual As DoubleValue
Public Overridable Property WltpConsumptionWeightedPrimaryGearIndividual As DoubleValue
Public Overridable Property WltpConsumptionLowSecondaryGearIndividual As DoubleValue
Public Overridable Property WltpConsumptionMediumSecondaryGearIndividual As DoubleValue
Public Overridable Property WltpConsumptionHighSecondaryGearIndividual As DoubleValue
Public Overridable Property WltpConsumptionExtraHighSecondaryGearIndividual As DoubleValue
Public Overridable Property WltpConsumptionTotalSecondaryGearIndividual As DoubleValue
Public Overridable Property WltpConsumptionChargeDepleteSecondaryGearIndividual As DoubleValue
Public Overridable Property WltpConsumptionChargeDepleteCopSecondaryGearIndividual As DoubleValue
Public Overridable Property WltpConsumptionChargeDepleteWeightedSecondaryGearIndividual As DoubleValue
Public Overridable Property WltpConsumptionLowMidSecondaryGearIndividual As DoubleValue
Public Overridable Property WltpEmissionTotalPrimaryGearIndividual As DoubleValue
Public Overridable Property WltpEmissionCo2ClassIndividual As String
Public Overridable Property WltpEmissionWeightedPrimaryGearIndividual As DoubleValue
Public Overridable Property WltpEmissionWeightedCo2ClassIndividual As String
Public Overridable Property WltpCertificationHydrocarbonsIndividual As DoubleValue
Public Overridable Property WltpCertificationNitrogenOxidesIndividual As DoubleValue
Public Overridable Property WltpCertificationNonMethaneHydrocarbonsIndividual As DoubleValue
Public Overridable Property WltpCertificationParticulateEmissionIndividual As DoubleValue
Public Overridable Property WltpCertificationTotalHydrocarbonsNitrogenOxidesIndividual As DoubleValue
Public Overridable Property WltpCertificationTotalHydrocarbonsIndividual As DoubleValue
Public Overridable Property WltpRangeTotalAllIndividual As DoubleValue
Public Overridable Property WltpRangeTotalEquivalentAllIndividual As DoubleValue
Public Overridable Property WltpRangeLowMidEquivalentAllIndividual As DoubleValue
Public Overridable Property EngineEmissionStandard As String
End Class
Public Partial Class Engine
Public Overridable Property BatteryType As String
Public Overridable Property Propulsion As Propulsion
Public Overridable Property EngineConcept As String
Public Overridable Property EngineName As String
Public Overridable Property FuelType As String
Public Overridable Property AlternativeFuelType As String
Public Overridable Property EngineSpeedNominalOutputMax As IntValue
Public Overridable Property PowerKw As IntValue
Public Overridable Property PowerHp As IntValue
Public Overridable Property Capacity As IntValue
Public Overridable Property Cylinder As String
Public Overridable Property PowerHybridExtensionHp As IntValue
Public Overridable Property PowerHybridExtensionKw As IntValue
Public Overridable Property NominalSystemOutputMaxKw As IntValue
Public Overridable Property NominalSystemOutputMaxHp As IntValue
Public Overridable Property ChargeTimeACHigh As Double
Public Overridable Property ChargeTimeDCHigh As Integer
Public Overridable Property EngineTorque As IntValue
Public Overridable Property TorqueNominalSystemOutputMax As IntValue
Public Overridable Property EngineSpeedMax As IntValue
Public Overridable Property EnergyContent As DoubleValue
Public Overridable Property DriveConcept As String
End Class
Public Partial Class Final
Public Overridable Property FinalDestinationKey As String
Public Overridable Property SalesUnitId As String
Public Overridable Property CompanyId As String
Public Overridable Property CustomerName As String
Public Overridable Property LegalName As String
Public Overridable Property Street As String
Public Overridable Property StreetNumber As String
Public Overridable Property City As String
Public Overridable Property ZipCode As String
Public Overridable Property Country As String
Public Overridable Property ShipToParty As String
Public Overridable Property Affiliate As Boolean
End Class
Public Partial Class Info
Public Overridable Property Status As String
Public Overridable Property Nrecords As Integer
Public Overridable Property totalNRecords As Integer
End Class
Public Partial Class IntValue
Public Overridable Property Value As Integer
Public Overridable Property Unit As String
End Class
Public Partial Class ListPrice
Public Overridable Property VehicleGrossListPrice As Decimal
Public Overridable Property VehicleNetListPrice As Decimal
Public Overridable Property Currency As String
Public Overridable Property TotalTax As Decimal
Public Overridable Property BaumusterGrossPrice As Decimal
Public Overridable Property BaumusterPrice As Decimal
Public Overridable Property BaumusterPriceStatus As String
Public Overridable Property BaumusterTax As Decimal
Public Overridable Property IsPreliminaryBaumusterPrice As Boolean
Public Overridable Property BaumusterPriceDate As String
Public Overridable Property IsGenericPriceProtectionApplied As Boolean
Public Overridable Property Taxes As List(Of Taxes) = New List(Of Taxes)
End Class
Public Partial Class Location
Public Overridable Property Current As Current
Public Overridable Property Final As Final
End Class
Public Partial Class Media
Public Overridable Property ImageKey As String
Public Overridable Property Url As String
End Class
Public Partial Class Name
Public Overridable Property En As String
End Class
Public Partial Class NexusData
Public Overridable Property Info As Info
Public Overridable Property Data As NexusVehicleData
Public Overridable Property Vid As String
End Class
Public Partial Class NexusVehicleData
Public Overridable Property Order As Order
Public Overridable Property Configuration As Configuration
Public Overridable Property Technical As Technical
Public Overridable Property Location As Location
Public Overridable Property Distribution As Distribution
Public Overridable Property Production As Production
Public Overridable Property Media As List(Of Media) = New List(Of Media)
Public Overridable Property TransactionPrice As Decimal() = New Decimal(){}
Public Overridable Property ListPrice As ListPrice
Public Overridable Property EmissionConsumption As EmissionConsumption
Public Overridable Property Status As Status
Public Overridable Property Version As Version
End Class
Public Partial Class Order
Public Overridable Property CommissionNumber As String
Public Overridable Property OrderId As String
Public Overridable Property OrderingMarket As String
Public Overridable Property ConsumingMarket As String
Public Overridable Property OrderCreationDate As Date
Public Overridable Property TentativeProductionDate As Date
Public Overridable Property IsLegacy As Boolean
Public Overridable Property Contract As Contract
Public Overridable Property CustomerNumber As String
End Class
Public Partial Class Production
Public Overridable Property Vin As String
Public Overridable Property Fin As String
Public Overridable Property PlantId As String
Public Overridable Property PlantName As String
Public Overridable Property ProductionStatus As CodeValue
Public Overridable Property ProductionStatusDescription As String
Public Overridable Property Plant As String
Public Overridable Property FactoryOrderStatus As String
Public Overridable Property IDRFlag As Boolean
End Class
Public Partial Class Propulsion
Public Overridable Property Name As String
Public Overridable Property Type As String
End Class
Public Partial Class Status
Public Overridable Property Availability As String
Public Overridable Property Visibility As String
Public Overridable Property OnlineVehicleFlag As Boolean
Public Overridable Property OnlineExclusiveFlag As Boolean
Public Overridable Property CustomerOrderBlockFlag As Boolean
Public Overridable Property SalesUsage As String
Public Overridable Property StockChannel As String
Public Overridable Property StockClassification As String
Public Overridable Property VehicleUsage As String
Public Overridable Property StockClassificationLegacy As String
End Class
Public Partial Class Taxes
Public Overridable Property TaxRate As Integer
Public Overridable Property TaxBaseAmount As Decimal
End Class
Public Partial Class Technical
Public Overridable Property TransmissionCategory As String
Public Overridable Property NumberOfGears As IntValue
Public Overridable Property UnloadedWeight As IntValue
Public Overridable Property MaximumWeight As IntValue
Public Overridable Property MaximumTrailingLoadWithoutBrakes As IntValue
Public Overridable Property MaximumTrailingLoadWithBrakes As IntValue
Public Overridable Property PermissibleDrawbarLoad As IntValue
Public Overridable Property Seats As Integer
Public Overridable Property Doors As Integer
Public Overridable Property TopSpeed As IntValue
Public Overridable Property Acceleration As DoubleValue
Public Overridable Property DragCoefficient As String
Public Overridable Property AxleLoadDistributionFront As IntValue
Public Overridable Property AxleLoadDistributionBack As IntValue
Public Overridable Property Length As IntValue
Public Overridable Property WheelBase As IntValue
Public Overridable Property Height As IntValue
Public Overridable Property Width As IntValue
Public Overridable Property WidthWithoutMirrors As IntValue
Public Overridable Property TurnCircle As DoubleValue
Public Overridable Property Payload As IntValue
Public Overridable Property FrontTyres As String
Public Overridable Property BackTyres As String
Public Overridable Property CapacityWithReserve As IntValue
Public Overridable Property ReserveTankCapacity As IntValue
Public Overridable Property Engine As Engine
Public Overridable Property BootCapacityMin As IntValue
Public Overridable Property BootCapacityMax As IntValue
End Class
Public Partial Class VehicleConfigurationStatus
Public Overridable Property Code As String
Public Overridable Property Description As String
End Class
Public Partial Class Version
Public Overridable Property SalesOrderVersion As String
Public Overridable Property VehicleStatusVersion As String
End Class
End Namespace
Namespace Mercedes.VehicleDataFactory.Pocos.OasisPoco
Public Partial Class OasisData
Public Overridable Property ConfirmedProductionDate As Date?
Public Overridable Property Generation As String
Public Overridable Property RvVID As String
Public Overridable Property RvValidOptions As String
Public Overridable Property SalesDescriptionShort As String
Public Overridable Property CommNumber As String
Public Overridable Property BMOptionsPrice As Decimal
End Class
End Namespace
Namespace Mercedes.VehicleManagement.API.ServiceModel
Public Partial Class UpdateVehicleRequest
Implements IPost
Public Overridable Property VehicleIdentifier As String
Public Overridable Property Vin As String
Public Overridable Property VehicleType As String
Public Overridable Property TestMode As Boolean
End Class
End Namespace
Namespace Mercedes.VehicleManagement.API.Shared.POCO
Public Partial Class UpdateVinResponse
Public Overridable Property Success As Boolean
Public Overridable Property Data As Object
Public Overridable Property NexusData As NexusData
Public Overridable Property OasisData As OasisData
End Class
End Namespace
End Namespace
VB.NET UpdateVehicleRequest 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.
POST /v1/{VehicleType}/Vehicle/UpdateVin HTTP/1.1
Host: uat-api-vehicle-mgt-mb-dhc.rapp-customers.co.uk
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
vehicleIdentifier: String,
vin: String,
vehicleType: String,
testMode: False
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
success: False,
data: {},
nexusData:
{
info:
{
status: String,
nrecords: 0,
totalNRecords: 0
},
data:
{
order:
{
commissionNumber: String,
orderId: String,
orderingMarket: String,
consumingMarket: String,
orderCreationDate: 0001-01-01,
tentativeProductionDate: 0001-01-01,
isLegacy: False,
contract:
{
contractId: String,
requestedDeliveryDateTo: 0001-01-01,
requestedDeliveryDateFrom: 0001-01-01,
contractTypeCode: String
},
customerNumber: String
},
configuration:
{
configurationId: String,
baumuster: String,
modelYear: String,
changeYear: String,
nationalSalesType: String,
name:
{
en: String
},
className:
{
en: String
},
classId: String,
typeClass: String,
bodyName:
{
en: String
},
bodyId: String,
productGroup: String,
customerGroups:
[
String
],
brand: String,
primaryColorCode: String,
primaryColorGroup: String,
upholsteryCode: String,
baureihe: String,
vehicleId: String,
gearboxCode: String,
steeringWheelTypeCode: String,
vehicleConfigurationStatus:
{
code: String,
description: String
},
sparte: String,
equipments:
[
{
code: String,
codeType: String,
name:
{
en: String
},
componentType: String,
owner: String,
id: String,
hidden: False,
standard: False,
standardType: String,
codeGrossPrice: 0,
codePrice: 0,
codePriceStatus: String,
codeTax: 0,
isCodeDiscountable: False,
isPreliminaryCodePrice: False,
codePriceDate: 0001-01-01
}
],
facelift: False,
faceliftNumber: 0,
motorization: String
},
technical:
{
transmissionCategory: String,
numberOfGears:
{
value: 0,
unit: String
},
unloadedWeight:
{
value: 0,
unit: String
},
maximumWeight:
{
value: 0,
unit: String
},
maximumTrailingLoadWithoutBrakes:
{
value: 0,
unit: String
},
maximumTrailingLoadWithBrakes:
{
value: 0,
unit: String
},
permissibleDrawbarLoad:
{
value: 0,
unit: String
},
seats: 0,
doors: 0,
topSpeed:
{
value: 0,
unit: String
},
acceleration:
{
value: 0,
unit: String
},
dragCoefficient: String,
axleLoadDistributionFront:
{
value: 0,
unit: String
},
axleLoadDistributionBack:
{
value: 0,
unit: String
},
length:
{
value: 0,
unit: String
},
wheelBase:
{
value: 0,
unit: String
},
height:
{
value: 0,
unit: String
},
width:
{
value: 0,
unit: String
},
widthWithoutMirrors:
{
value: 0,
unit: String
},
turnCircle:
{
value: 0,
unit: String
},
payload:
{
value: 0,
unit: String
},
frontTyres: String,
backTyres: String,
capacityWithReserve:
{
value: 0,
unit: String
},
reserveTankCapacity:
{
value: 0,
unit: String
},
engine:
{
batteryType: String,
propulsion:
{
name: String,
type: String
},
engineConcept: String,
engineName: String,
fuelType: String,
alternativeFuelType: String,
engineSpeedNominalOutputMax:
{
value: 0,
unit: String
},
powerKw:
{
value: 0,
unit: String
},
powerHp:
{
value: 0,
unit: String
},
capacity:
{
value: 0,
unit: String
},
cylinder: String,
powerHybridExtensionHp:
{
value: 0,
unit: String
},
powerHybridExtensionKw:
{
value: 0,
unit: String
},
nominalSystemOutputMaxKw:
{
value: 0,
unit: String
},
nominalSystemOutputMaxHp:
{
value: 0,
unit: String
},
chargeTimeACHigh: 0,
chargeTimeDCHigh: 0,
engineTorque:
{
value: 0,
unit: String
},
torqueNominalSystemOutputMax:
{
value: 0,
unit: String
},
engineSpeedMax:
{
value: 0,
unit: String
},
energyContent:
{
value: 0,
unit: String
},
driveConcept: String
},
bootCapacityMin:
{
value: 0,
unit: String
},
bootCapacityMax:
{
value: 0,
unit: String
}
},
location:
{
current:
{
destinationKey: String,
primaryDestinationKey: String,
typeName: String
},
final:
{
finalDestinationKey: String,
salesUnitId: String,
companyId: String,
customerName: String,
legalName: String,
street: String,
streetNumber: String,
city: String,
zipCode: String,
country: String,
shipToParty: String,
affiliate: False
}
},
distribution:
{
estimatedDeliveryDate: 0001-01-01,
factoryExitDate: 0001-01-01,
portActualEntryDate: 0001-01-01,
agentActualEntryDate: 0001-01-01,
licenseNumber: String
},
production:
{
vin: String,
fin: String,
plantId: String,
plantName: String,
productionStatus:
{
code: String,
description: String
},
productionStatusDescription: String,
plant: String,
factoryOrderStatus: String,
idrFlag: False
},
media:
[
{
imageKey: String,
url: String
}
],
transactionPrice:
[
0
],
listPrice:
{
vehicleGrossListPrice: 0,
vehicleNetListPrice: 0,
currency: String,
totalTax: 0,
baumusterGrossPrice: 0,
baumusterPrice: 0,
baumusterPriceStatus: String,
baumusterTax: 0,
isPreliminaryBaumusterPrice: False,
baumusterPriceDate: String,
isGenericPriceProtectionApplied: False,
taxes:
[
{
taxRate: 0,
taxBaseAmount: 0
}
]
},
emissionConsumption:
{
wltpConsumptionLowPrimaryGearIndividual:
{
value: 0,
unit: String
},
wltpConsumptionMediumPrimaryGearIndividual:
{
value: 0,
unit: String
},
wltpConsumptionHighPrimaryGearIndividual:
{
value: 0,
unit: String
},
wltpConsumptionExtraHighPrimaryGearIndividual:
{
value: 0,
unit: String
},
wltpConsumptionTotalPrimaryGearIndividual:
{
value: 0,
unit: String
},
wltpConsumptionChargeDepletePrimaryGearIndividual:
{
value: 0,
unit: String
},
wltpConsumptionWeightedPrimaryGearIndividual:
{
value: 0,
unit: String
},
wltpConsumptionLowSecondaryGearIndividual:
{
value: 0,
unit: String
},
wltpConsumptionMediumSecondaryGearIndividual:
{
value: 0,
unit: String
},
wltpConsumptionHighSecondaryGearIndividual:
{
value: 0,
unit: String
},
wltpConsumptionExtraHighSecondaryGearIndividual:
{
value: 0,
unit: String
},
wltpConsumptionTotalSecondaryGearIndividual:
{
value: 0,
unit: String
},
wltpConsumptionChargeDepleteSecondaryGearIndividual:
{
value: 0,
unit: String
},
wltpConsumptionChargeDepleteCopSecondaryGearIndividual:
{
value: 0,
unit: String
},
wltpConsumptionChargeDepleteWeightedSecondaryGearIndividual:
{
value: 0,
unit: String
},
wltpConsumptionLowMidSecondaryGearIndividual:
{
value: 0,
unit: String
},
wltpEmissionTotalPrimaryGearIndividual:
{
value: 0,
unit: String
},
wltpEmissionCo2ClassIndividual: String,
wltpEmissionWeightedPrimaryGearIndividual:
{
value: 0,
unit: String
},
wltpEmissionWeightedCo2ClassIndividual: String,
wltpCertificationHydrocarbonsIndividual:
{
value: 0,
unit: String
},
wltpCertificationNitrogenOxidesIndividual:
{
value: 0,
unit: String
},
wltpCertificationNonMethaneHydrocarbonsIndividual:
{
value: 0,
unit: String
},
wltpCertificationParticulateEmissionIndividual:
{
value: 0,
unit: String
},
wltpCertificationTotalHydrocarbonsNitrogenOxidesIndividual:
{
value: 0,
unit: String
},
wltpCertificationTotalHydrocarbonsIndividual:
{
value: 0,
unit: String
},
wltpRangeTotalAllIndividual:
{
value: 0,
unit: String
},
wltpRangeTotalEquivalentAllIndividual:
{
value: 0,
unit: String
},
wltpRangeLowMidEquivalentAllIndividual:
{
value: 0,
unit: String
},
engineEmissionStandard: String
},
status:
{
availability: String,
visibility: String,
onlineVehicleFlag: False,
onlineExclusiveFlag: False,
customerOrderBlockFlag: False,
salesUsage: String,
stockChannel: String,
stockClassification: String,
vehicleUsage: String,
stockClassificationLegacy: String
},
version:
{
salesOrderVersion: String,
vehicleStatusVersion: String
}
},
vid: String
},
oasisData:
{
confirmedProductionDate: 0001-01-01,
generation: String,
rvVID: String,
rvValidOptions: String,
salesDescriptionShort: String,
commNumber: String,
bmOptionsPrice: 0
}
}