Mercedes.Agency.Orchestration.API

<back to all web services

CarConfiguratorStockRequest

CarConfigurator
Requires Authentication
The following routes are available for this service:
POST/v1/CarConfiguratorStockValidate and save a car configurator code for a vehicle searchThis endpoint calls Agency API to validate and save a car configurator code. The code is validated and saved in the database and returns a response from a third party CCS which provides car configuration details. These get saved to open search and used to perform a vehicle search
Imports System
Imports System.IO
Imports System.Collections
Imports System.Collections.Generic
Imports System.Runtime.Serialization
Imports ServiceStack
Imports ServiceStack.DataAnnotations
Imports Mercedes.Agency.Orchestration.API.ServiceModel.BackOrders.CarConfigurator
Imports Mercedes.Agency.API.Shared.POCO.CarConfigurator
Imports Mercedes.OS.Vehicle.Shared.POCO
Imports Mercedes.Agency.API.Shared.POCO
Imports Mercedes.Agency.API.Shared.Enums
Imports Mercedes.OS.Vehicle.Shared.POCO.Filters.v2

Namespace Global

    Namespace Mercedes.Agency.API.Shared.POCO

        Public Partial Class Price
            Public Overridable Property Id As String
            Public Overridable Property Description As String
            Public Overridable Property Net As Decimal
            Public Overridable Property VAT As Decimal
            Public Overridable Property Gross As Decimal
            Public Overridable Property Product As OfferPriceProductType
        End Class

        Public Partial Class RetailerOpeningTime
            Public Overridable Property Day As String
            Public Overridable Property OpenFrom As String
            Public Overridable Property OpenTo As String
            Public Overridable Property Special As String
        End Class

        Public Partial Class VehicleAttribute
            Public Overridable Property Description As String
            Public Overridable Property Value As String
        End Class
    End Namespace

    Namespace Mercedes.Agency.API.Shared.POCO.CarConfigurator

        Public Partial Class CarConfiguratorResponse
            Public Overridable Property Name As String
            Public Overridable Property KeyInformation As KeyInformation
            Public Overridable Property OrderingOptions As OrderingOptions
            Public Overridable Property ResponseStatus As ResponseStatus
            Public Overridable Property ConfiguratorCode As String
        End Class

        Public Partial Class KeyInformation
            Public Overridable Property BM7NST As String
            Public Overridable Property ConfigurationDate As String
            Public Overridable Property ModelYear As String
            Public Overridable Property HalfYear As String
        End Class

        Public Partial Class OrderingOptions
            Public Overridable Property Interior As List(Of String)
            Public Overridable Property Exterior As List(Of String)
            Public Overridable Property Options As List(Of String)
            Public Overridable Property WheelOptions As List(Of EquipmentCache) = New List(Of EquipmentCache)
            Public Overridable Property TrimOptions As List(Of EquipmentCache) = New List(Of EquipmentCache)
            Public Overridable Property OptionCodes As List(Of EquipmentCache) = New List(Of EquipmentCache)
        End Class
    End Namespace

    Namespace Mercedes.Agency.Orchestration.API.ServiceModel.BackOrders.CarConfigurator

        Public Partial Class CarConfiguratorStockMatches
            Public Overridable Property SellableMatches As List(Of CarConfiguratorStockMatch) = New List(Of CarConfiguratorStockMatch)
            Public Overridable Property NonSellableMatches As List(Of CarConfiguratorStockMatch) = New List(Of CarConfiguratorStockMatch)
        End Class

        Public Partial Class CarConfiguratorStockRequest
            Implements IPost
            '''<Summary>
            '''The configurator code to search on
            '''</Summary>
            <ApiMember(Description:="The configurator code to search on", IsRequired:=true)>
            Public Overridable Property ConfiguratorCode As String

            '''<Summary>
            '''Whether to return sellable vehicles
            '''</Summary>
            <ApiMember(Description:="Whether to return sellable vehicles")>
            Public Overridable Property IsSellable As Boolean?

            '''<Summary>
            '''Whether to only get exact matches
            '''</Summary>
            <ApiMember(Description:="Whether to only get exact matches")>
            Public Overridable Property ExactMatch As Boolean

            '''<Summary>
            '''Whether to restrict vehicles response to a GSSN
            '''</Summary>
            <ApiMember(Description:="Whether to restrict vehicles response to a GSSN")>
            Public Overridable Property GSSN As String
        End Class

        Public Partial Class CarConfiguratorStockResponse
            Public Overridable Property TotalVehicles As Integer
            Public Overridable Property CarConfiguratorResponse As CarConfiguratorResponse
            Public Overridable Property ExactMatches As CarConfiguratorStockMatches
            Public Overridable Property CloseMatches As CarConfiguratorStockMatches
        End Class
    End Namespace

    Namespace Mercedes.OS.Vehicle.Shared.POCO

        Public Partial Class BackOrderVehicleDetails
            Implements IVehiclePrices
            Implements IVehiclePriceCollection
            Implements IImageUrl
            Implements IVehicleDetails
            Public Overridable Property Vin As String
            Public Overridable Property CommissionNumber As String
            Public Overridable Property Description As String
            Public Overridable Property ShortDescription As String
            Public Overridable Property ModelId As Integer
            Public Overridable Property Model As String
            Public Overridable Property FullModelYearCode As String
            Public Overridable Property BrandId As Integer? Implements IImageUrl.BrandId
            Public Overridable Property Brand As BackOrderVehicleDetailsBrand
            Public Overridable Property RetailerId As Integer
            Public Overridable Property ImageUrl As String Implements IImageUrl.ImageUrl
            Public Overridable Property Colour As String
            Public Overridable Property ColourCode As String
            Public Overridable Property FuelType As String
            Public Overridable Property FuelTypeId As Integer
            Public Overridable Property Transmission As String
            Public Overridable Property TransmissionType As String
            Public Overridable Property Engine As Engine
            Public Overridable Property EngineBadge As String
            Public Overridable Property Package As String
            Public Overridable Property Line As String
            Public Overridable Property Upholstery As String
            Public Overridable Property UpholsteryCode As String
            Public Overridable Property UsageCode As String
            Public Overridable Property Account As String
            Public Overridable Property AccountType As String
            Public Overridable Property NST As String
            Public Overridable Property Baumuster As String
            Public Overridable Property ElectricRange As Decimal?
            Public Overridable Property ElectricConsumption As Decimal?
            Public Overridable Property ActualPrice As Decimal?
            Public Overridable Property OTRPrice As Decimal
            Public Overridable Property RetailPriceExVat As Decimal
            Public Overridable Property P11D As Decimal
            Public Overridable Property VehicleType As String Implements IImageUrl.VehicleType
            Public Overridable Property UpholsteryDescription As String
            Public Overridable Property UpholsteryType As String
            Public Overridable Property BodyStyle As String
            Public Overridable Property BodyStyleStyleCode As String
            Public Overridable Property BodyStyleStyleCodeElectric As String
            Public Overridable Property BodyStyleStyleCodeHybrid As String
            Public Overridable Property AvailablePackages As List(Of String)
            Public Overridable Property Mapped_Line As Integer?
            Public Overridable Property Secured As Boolean
            Public Overridable Property Bm7NST As String
            Public Overridable Property IsAvailableOnline As Boolean
            Public Overridable Property IsSpecialistCar As Boolean
            Public Overridable Property IsSellable As Boolean
            Public Overridable Property UnderOffer As Boolean
            Public Overridable Property VehicleAuditDetails As List(Of VehicleAuditDetails)
            Public Overridable Property Retailer As Retailer
            Public Overridable Property Media As Media
            Public Overridable Property Emission As Decimal?
            Public Overridable Property ColourGroup As String
            Public Overridable Property VehicleClass As String
            Public Overridable Property ProductRange As String
            Public Overridable Property IsHOBackOrderAccountVehicle As Boolean
            Public Overridable Property IsAllocatedToBackOrder As Boolean
            Public Overridable Property InBackOrderAccount As Boolean
            Public Overridable Property DeliveryCharge As Decimal Implements IVehiclePrices.DeliveryCharge
            Public Overridable Property DeliveryChargeNet As Decimal? Implements IVehiclePrices.DeliveryChargeNet
            Public Overridable Property DeliveryChargeVAT As Decimal? Implements IVehiclePrices.DeliveryChargeVAT
            Public Overridable Property Plates As Decimal Implements IVehiclePrices.Plates
            Public Overridable Property PlatesNet As Decimal? Implements IVehiclePrices.PlatesNet
            Public Overridable Property PlatesVAT As Decimal? Implements IVehiclePrices.PlatesVAT
            Public Overridable Property FuelCharge As Decimal Implements IVehiclePrices.FuelCharge
            Public Overridable Property FuelChargeNet As Decimal? Implements IVehiclePrices.FuelChargeNet
            Public Overridable Property FuelChargeVAT As Decimal? Implements IVehiclePrices.FuelChargeVAT
            Public Overridable Property RetailPrice_ExVAT As Decimal Implements IVehiclePrices.RetailPrice_ExVAT
            Public Overridable Property RetailPrice_IncVAT As Decimal Implements IVehiclePrices.RetailPrice_IncVAT
            Public Overridable Property VED_Year1 As Decimal Implements IVehiclePrices.VED_Year1
            Public Overridable Property VED_Year2 As Decimal Implements IVehiclePrices.VED_Year2
            Public Overridable Property FirstRegFee As Decimal Implements IVehiclePrices.FirstRegFee
            Public Overridable Property OTR_Value As Decimal Implements IVehiclePrices.OTR_Value
            Public Overridable Property OTR As Decimal
            Public Overridable Property Prices As List(Of Price) Implements IVehiclePriceCollection.Prices
            Public Overridable Property ProductionDate As String
            Public Overridable Property PortArrivalDate As Date?
            Public Overridable Property Location As String
            Public Overridable Property IsDisplayStock As Boolean
            Public Overridable Property DisplayRetailerId As Integer?
            Public Overridable Property DisplayRetailer As String
            Public Overridable Property DisplayRetailerGssnId As String
            Public Overridable Property DisplayRetailerMarketAreaId As Integer?
            Public Overridable Property IsSmartDisplayRetailer As Boolean?
            Public Overridable Property ColourDescription As String
            Public Overridable Property Creation As Date?
            Public Overridable Property Modified As Date?
            Public Overridable Property VATQualifyingNumber As Integer?
            Public Overridable Property VATQualifying As Boolean
            Public Overridable Property CurrentRetailerOfferPrice As Decimal
            Public Overridable Property GssnId As String
            Public Overridable Property NoImage As Boolean
            Public Overridable Property RegistrationNumber As String
            Public Overridable Property RegistrationDate As Date?
            Public Overridable Property Mileage As Integer?
            Public Overridable Property TradeInDate As Date?
            Public Overridable Property VID As String
            Public Overridable Property EmissionCombined As String
            Public Overridable Property EmissionDirective As String
            Public Overridable Property NormalisedEmissionDirective As String
            Public Overridable Property HasMildHybridEquipmentCode As Boolean
            Public Overridable Property Acceleration As Decimal?
            Public Overridable Property ChassisNumber As String Implements IVehicleDetails.ChassisNumber
            Public Overridable Property NumberOfDoors As String Implements IVehicleDetails.NumberOfDoors
            Public Overridable Property NumberOfSeats As String Implements IVehicleDetails.NumberOfSeats
            Public Overridable Property SpecialInfo As Boolean Implements IVehicleDetails.SpecialInfo
            Public Overridable Property EligibleForIntegratedServiceCare As Boolean Implements IVehicleDetails.EligibleForIntegratedServiceCare
            Public Overridable Property ConsumptionCombined As Consumption Implements IVehicleDetails.ConsumptionCombined
            Public Overridable Property ConsumptionExtraUrban As Consumption Implements IVehicleDetails.ConsumptionExtraUrban
            Public Overridable Property ConsumptionUrban As Consumption Implements IVehicleDetails.ConsumptionUrban
            Public Overridable Property WltpFuelConsumptionCombined As Consumption Implements IVehicleDetails.WltpFuelConsumptionCombined
            Public Overridable Property WltpFuelConsumptionExtraHigh As Consumption Implements IVehicleDetails.WltpFuelConsumptionExtraHigh
            Public Overridable Property WltpFuelConsumptionHigh As Consumption Implements IVehicleDetails.WltpFuelConsumptionHigh
            Public Overridable Property WltpFuelConsumptionLow As Consumption Implements IVehicleDetails.WltpFuelConsumptionLow
            Public Overridable Property WltpFuelConsumptionMedium As Consumption Implements IVehicleDetails.WltpFuelConsumptionMedium
            Public Overridable Property EnergyEfficiencyClass As EmissionClass Implements IVehicleDetails.EnergyEfficiencyClass
            Public Overridable Property Equipment As List(Of Equipmentv2) Implements IVehicleDetails.Equipment
            Public Overridable Property EquipmentAdditional As List(Of Equipment) Implements IVehicleDetails.EquipmentAdditional
            Public Overridable Property EquipmentCategories As List(Of EquipmentCategoryv2) Implements IVehicleDetails.EquipmentCategories
            Public Overridable Property VehicleData As List(Of VehicleAttribute) Implements IVehicleDetails.VehicleData
            Public Overridable Property IntegratedServiceCareOptions As List(Of IntegratedServiceCareOptions) Implements IVehicleDetails.IntegratedServiceCareOptions
            Public Overridable Property IspVehicleCustomerDescriptions As List(Of String) Implements IVehicleDetails.IspVehicleCustomerDescriptions
            Public Overridable Property MarketingCode As String
            Public Overridable Property EligibleForMaTransfer As Boolean
            Public Overridable Property ConfirmedProductionDate As String
            Public Overridable Property ForecastedArrivalDate As String
        End Class

        Public Partial Class BackOrderVehicleDetailsBrand
            Public Overridable Property Description As String
        End Class

        Public Partial Class BackOrderVehicleDetailsWithPackages
            Inherits BackOrderVehicleDetails
            Implements IPackages
            Public Overridable Property Packages As ICollection(Of Package) Implements IPackages.Packages
            Public Overridable Property PackageNames As String
        End Class

        Public Partial Class CarConfiguratorStockMatch
            Public Overridable Property Vehicle As CarConfiguratorVehicle
            Public Overridable Property IsSellable As Boolean
            Public Overridable Property VehicleWheels As String
            Public Overridable Property VehicleTrim As String
            Public Overridable Property VehicleAdditionalOptionCodes As List(Of String) = New List(Of String)
            Public Overridable Property FullModelYearDifferences As List(Of String) = New List(Of String)
            Public Overridable Property PaintDifferences As List(Of String) = New List(Of String)
            Public Overridable Property UpholsteryDifferences As List(Of String) = New List(Of String)
            Public Overridable Property WheelDifferences As List(Of String) = New List(Of String)
            Public Overridable Property TrimDifferences As List(Of String) = New List(Of String)
            Public Overridable Property EquipmentDifferences As List(Of String) = New List(Of String)
            Public Overridable Property Differences As List(Of String) = New List(Of String)
            Public Overridable Property ExactMatch As Boolean
        End Class

        Public Partial Class CarConfiguratorVehicle
            Inherits BackOrderVehicleDetailsWithPackages
            Public Overridable Property ModelYearCode As String
            Public Overridable Property HalfModelYearCode As String
            Public Overridable Property ActiveOffers As List(Of Integer) = New List(Of Integer)
            Public Overridable Property EligibleForMotability As Boolean
            Public Overridable Property NearestPort As Boolean?
        End Class

        Public Partial Class Consumption
            Public Overridable Property Id As Integer
            Public Overridable Property Lkm As Decimal
            Public Overridable Property Mpg As Decimal
        End Class

        Public Partial Class EmissionClass
            Public Overridable Property Colour As String
            Public Overridable Property Rating As String
        End Class

        Public Partial Class Engine
            Public Overridable Property Id As Integer
            Public Overridable Property Badge As String
            Public Overridable Property CubicCapacity As Integer
            Public Overridable Property Cyclinders As Integer
            Public Overridable Property HorsePower As String
            Public Overridable Property Kw As String
            Public Overridable Property Selected As Boolean
        End Class

        Public Partial Class Equipment
            Public Overridable Property Id As Integer?
            Public Overridable Property Code As String
            Public Overridable Property Description As String
        End Class

        Public Partial Class EquipmentCache
            Public Overridable Property Code As String
            Public Overridable Property Description As String
            Public Overridable Property StandardFlag As String
            Public Overridable Property Price As Decimal
            Public Overridable Property Category As String
            Public Overridable Property Importance As String
        End Class

        Public Partial Class EquipmentCategoryv2
            Public Overridable Property Order As Integer
            Public Overridable Property Code As String
            Public Overridable Property Description As String
            Public Overridable Property Equipment As List(Of Equipmentv2)
        End Class

        Public Partial Class Equipmentv2
            Inherits Equipment
            Public Overridable Property Importance As Integer
            Public Overridable Property IsAdditional As Boolean
        End Class

        Public Partial Class IntegratedServiceCareOptions
            Public Overridable Property OptionCode As String
            Public Overridable Property BM7NST As String
            Public Overridable Property FullModelYear As String
            Public Overridable Property IntegratedProductType As String
            Public Overridable Property CustomerDescription As String
            Public Overridable Property OneAgentProductType As String
        End Class

        Public Partial Class Media
            Public Overridable Property ImageCount As Integer
            Public Overridable Property MainImageUrl As String
            Public Overridable Property MainImageUrlMobile As String
            Public Overridable Property NoImage As Boolean
            Public Overridable Property ThreeSixtyDegreeImageUrls As String()
            Public Overridable Property ThreeSixtyDegreeMobileImageUrls As String()
            Public Overridable Property VehicleImageUrls As String()
            Public Overridable Property VehicleMobileImageUrls As String()
        End Class

        Public Partial Class Retailer
            Public Overridable Property Id As Integer
            Public Overridable Property GssnId As String
            Public Overridable Property Description As String
            Public Overridable Property Street As String
            Public Overridable Property City As String
            Public Overridable Property District As String
            Public Overridable Property Postcode As String
            Public Overridable Property GoogleMapPostcode As String
            Public Overridable Property Phone As String
            Public Overridable Property Fax As String
            Public Overridable Property Email As String
            Public Overridable Property Website As String
            Public Overridable Property Latitude As Double
            Public Overridable Property Longitude As Double
            Public Overridable Property RetailerGroup_Id As Integer?
            Public Overridable Property RetailerGroupId As String
            Public Overridable Property RetailerGroupName As String
            Public Overridable Property Distance As Double
            Public Overridable Property PaymentServiceGuid As String
            Public Overridable Property IsOnline As Boolean?
            Public Overridable Property IsNewCarRetailer As Boolean?
            Public Overridable Property IsUsedCarRetailer As Boolean?
            Public Overridable Property IsCentralRetailer As Boolean
            Public Overridable Property ChatEnabled As Boolean
            Public Overridable Property TradeInEnabled As Boolean
            Public Overridable Property DisplayPhoneNumberNew As String
            Public Overridable Property DisplayPhoneNumberUsed As String
            Public Overridable Property Services As RetailerServices
            Public Overridable Property smart As Boolean
            Public Overridable Property smartDescription As String
            Public Overridable Property smartWebsite As String
            Public Overridable Property smartEmail As String
            Public Overridable Property smartPhone As String
            Public Overridable Property AdditionalInformation As String
            Public Overridable Property LegacyId As String
            Public Overridable Property DriveTime As Decimal
            Public Overridable Property Agent As Boolean
            Public Overridable Property Port As Integer?
            Public Overridable Property PortName As String
            Public Overridable Property MarketAreaId As Integer?
            Public Overridable Property MarketAreaName As String
            Public Overridable Property MaintenanceDate As String
            Public Overridable Property MaintenanceSource As String
            Public Overridable Property STPAccountNumbers As String
            Public Overridable Property CampaignExcluded As Boolean?
            Public Overridable Property DigitalLoungeParentGssnId As String
            Public Overridable Property SendLeadsToDigitalLoungeParent As Boolean
            Public Overridable Property IsExcludedFromImport As Boolean
            Public Overridable Property OpeningTimes As RetailerOpeningTimes
        End Class

        Public Partial Class RetailerOpeningTimes
            Public Overridable Property [New] As List(Of RetailerOpeningTime) = New List(Of RetailerOpeningTime)
            Public Overridable Property Used As List(Of RetailerOpeningTime) = New List(Of RetailerOpeningTime)
        End Class

        Public Partial Class RetailerService
            Public Overridable Property Id As Integer
            Public Overridable Property Description As String
            Public Overridable Property Priority As Boolean
        End Class

        Public Partial Class RetailerServices
            Public Overridable Property [New] As List(Of RetailerService)
            Public Overridable Property Used As List(Of RetailerService)
        End Class

        Public Partial Class VehicleAuditDetails
            Public Overridable Property UserId As String
            Public Overridable Property Status As Boolean
            Public Overridable Property Notes As String
            Public Overridable Property CreationDate As String
        End Class
    End Namespace

    Namespace Mercedes.OS.Vehicle.Shared.POCO.Filters.v2

        Public Partial Class Package
            Public Overridable Property Id As Integer
            Public Overridable Property Description As String
        End Class
    End Namespace
End Namespace

VB.NET CarConfiguratorStockRequest DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .csv suffix or ?format=csv

HTTP + CSV

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

POST /v1/CarConfiguratorStock HTTP/1.1 
Host: prod-api-agency-orch-mb-dhc.rapp-customers.co.uk 
Accept: text/csv
Content-Type: text/csv
Content-Length: length

{"ConfiguratorCode":"String","IsSellable":false,"ExactMatch":false,"GSSN":"String"}
HTTP/1.1 200 OK
Content-Type: text/csv
Content-Length: length

{"TotalVehicles":4,"CarConfiguratorResponse":{"Name":"String","KeyInformation":{"BM7NST":"String","ConfigurationDate":"String","ModelYear":"String","HalfYear":"String"},"OrderingOptions":{"Interior":["String"],"Exterior":["String"],"Options":["String"],"WheelOptions":[{"Code":"String","Description":"String","StandardFlag":"String","Price":0,"Category":"String","Importance":"String"}],"TrimOptions":[{"Code":"String","Description":"String","StandardFlag":"String","Price":0,"Category":"String","Importance":"String"}],"OptionCodes":[{"Code":"String","Description":"String","StandardFlag":"String","Price":0,"Category":"String","Importance":"String"}]},"ResponseStatus":{"ErrorCode":"String","Message":"String","StackTrace":"String","Errors":[{"ErrorCode":"String","FieldName":"String","Message":"String","Meta":{"String":"String"}}],"Meta":{"String":"String"}},"ConfiguratorCode":"String"},"ExactMatches":{"SellableMatches":[{}],"NonSellableMatches":[{}]},"CloseMatches":{"SellableMatches":[{}],"NonSellableMatches":[{}]}}