| POST | /v1/OnlineShowroom/Stock | Search for Online Showroom Stock | Calls Vehicle Data API online showroom stock endpoint and searches for vehicles given a list of retailers. The results are used to populate the Online Showroom Stock datatable grid in OneAdmin |
|---|
using System;
using System.IO;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.Serialization;
using ServiceStack;
using ServiceStack.DataAnnotations;
using Mercedes.VehicleManagement.API.ServiceModel;
using Mercedes.VehicleManagement.API.Shared.POCO.V3;
namespace Mercedes.VehicleManagement.API.ServiceModel
{
public partial class OnlineShowroomStockRequest
: IPost
{
public virtual List<string> Gssns { get; set; } = [];
}
public partial class OnlineShowroomStockResponse
{
public virtual int TotalVehicles { get; set; }
public virtual List<StockDataRow> Vehicles { get; set; } = [];
}
}
namespace Mercedes.VehicleManagement.API.Shared.POCO.V3
{
public partial class StockDataRow
{
public virtual string CommissionNumber { get; set; }
public virtual string Description { get; set; }
public virtual string SalesDescriptionLong { get; set; }
public virtual string Model { get; set; }
public virtual string Colour { get; set; }
public virtual string ColourGroup { get; set; }
public virtual string FuelType { get; set; }
public virtual string Transmission { get; set; }
public virtual string TransmissionType { get; set; }
public virtual string Packages { get; set; }
public virtual string Lines { get; set; }
public virtual string Upholstery { get; set; }
public virtual string UpholsteryCode { get; set; }
public virtual string DisplayStockAgent { get; set; }
public virtual string Location { get; set; }
public virtual string Vin { get; set; }
public virtual string Vid { get; set; }
public virtual string VehicleType { get; set; }
public virtual string VehicleClass { get; set; }
public virtual DateTime CreationDate { get; set; }
public virtual DateTime? LastUpdated { get; set; }
public virtual DateTime? ProductionDate { get; set; }
public virtual DateTime? PortArrivalDate { get; set; }
public virtual decimal CombinedGrossOfferValue { get; set; }
public virtual string CurrentLocation { get; set; }
public virtual bool NotVisibleOnlineShowroom { get; set; }
public virtual string NvosReason { get; set; }
public virtual bool NvosReasonOneAdminExcluded { get; set; }
public virtual bool NvosReasonLinkedToBackOrder { get; set; }
public virtual bool IncludedAfterDeduplication { get; set; }
public virtual bool Unique { get; set; }
public virtual bool Duplicate { get; set; }
public virtual int? DuplicateGroup { get; set; }
public virtual bool LowestComm { get; set; }
public virtual string Rule { get; set; }
public virtual string Fin { get; set; }
public virtual string ChassisNumber { get; set; }
public virtual string ModelYear { get; set; }
public virtual string ModelYearCode { get; set; }
public virtual string HalfModelYearCode { get; set; }
public virtual string FullModelYearCode { get; set; }
public virtual string BodyStyle { get; set; }
public virtual string Engine { get; set; }
public virtual string CesarIdShipToParty { get; set; }
public virtual string VehicleUsageCode { get; set; }
public virtual decimal? Acceleration { get; set; }
public virtual int? BootCapacity { get; set; }
public virtual decimal? TopSpeed { get; set; }
public virtual string DriveConcept { get; set; }
public virtual decimal? CombustionPowerHp { get; set; }
public virtual decimal? ElectricPowerKw { get; set; }
public virtual decimal? ElectricPowerHp { get; set; }
public virtual decimal? CombinedPowerKw { get; set; }
public virtual decimal? CombinedPowerHP { get; set; }
public virtual bool UnderOffer { get; set; }
public virtual bool IsSellable { get; set; }
public virtual bool MBUKSecured { get; set; }
public virtual bool IsDisplayStock { get; set; }
public virtual bool IsSpecialistCar { get; set; }
public virtual string Account { get; set; }
public virtual string ProductRange { get; set; }
public virtual bool IsAMG { get; set; }
public virtual decimal ActualPrice { get; set; }
public virtual decimal RetailPrice_ExVAT { get; set; }
public virtual decimal RetailPrice_IncVAT { get; set; }
public virtual decimal OTR { get; set; }
public virtual string NST { get; set; }
public virtual string Bm7NST { get; set; }
public virtual decimal? ElectricRange { get; set; }
public virtual decimal? ElectricConsumption { get; set; }
public virtual decimal? Emission { get; set; }
public virtual string EmissionDirective { get; set; }
public virtual string EmissionCombined { get; set; }
public virtual string EmissionExtraUrban { get; set; }
public virtual string EmissionUrban { get; set; }
public virtual string EnergyEfficiencyClass { get; set; }
public virtual string WLTPEmissionCombined { get; set; }
public virtual string WLTPCombined { get; set; }
public virtual string WLTPLow { get; set; }
public virtual string WLTPMedium { get; set; }
public virtual string WLTPHigh { get; set; }
public virtual string WLTPExtraHigh { get; set; }
public virtual decimal TotalMoneyOffersExclDiscretionary { get; set; }
public virtual decimal DiscretionaryMoneyOffer { get; set; }
public virtual decimal TotalMoneyOffersInclDiscretionary { get; set; }
public virtual int NonDiscretionaryNMOCount { get; set; }
public virtual int NonDiscretionaryMOCount { get; set; }
public virtual int DiscretionaryNMOCount { get; set; }
public virtual int DiscretionaryMOCount { get; set; }
public virtual decimal TotalOfferVIPAmount { get; set; }
public virtual string StockLevelIndicator { get; set; }
public virtual DateTime? ConfirmedProductionDate { get; set; }
public virtual DateTime? ForecastedArrivalDate { get; set; }
}
}
C# OnlineShowroomStockRequest 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/OnlineShowroom/Stock HTTP/1.1
Host: uat-api-vehicle-mgt-mb-dhc.rapp-customers.co.uk
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
gssns:
[
String
]
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
totalVehicles: 0,
vehicles:
[
{
commissionNumber: String,
description: String,
salesDescriptionLong: String,
model: String,
colour: String,
colourGroup: String,
fuelType: String,
transmission: String,
transmissionType: String,
packages: String,
lines: String,
upholstery: String,
upholsteryCode: String,
displayStockAgent: String,
location: String,
vin: String,
vid: String,
vehicleType: String,
vehicleClass: String,
creationDate: 0001-01-01,
lastUpdated: 0001-01-01,
productionDate: 0001-01-01,
portArrivalDate: 0001-01-01,
combinedGrossOfferValue: 0,
currentLocation: String,
notVisibleOnlineShowroom: False,
nvosReason: String,
nvosReasonOneAdminExcluded: False,
nvosReasonLinkedToBackOrder: False,
includedAfterDeduplication: False,
unique: False,
duplicate: False,
duplicateGroup: 0,
lowestComm: False,
rule: String,
fin: String,
chassisNumber: String,
modelYear: String,
modelYearCode: String,
halfModelYearCode: String,
fullModelYearCode: String,
bodyStyle: String,
engine: String,
cesarIdShipToParty: String,
vehicleUsageCode: String,
acceleration: 0,
bootCapacity: 0,
topSpeed: 0,
driveConcept: String,
combustionPowerHp: 0,
electricPowerKw: 0,
electricPowerHp: 0,
combinedPowerKw: 0,
combinedPowerHP: 0,
underOffer: False,
isSellable: False,
mbukSecured: False,
isDisplayStock: False,
isSpecialistCar: False,
account: String,
productRange: String,
isAMG: False,
actualPrice: 0,
retailPrice_ExVAT: 0,
retailPrice_IncVAT: 0,
otr: 0,
nst: String,
bm7NST: String,
electricRange: 0,
electricConsumption: 0,
emission: 0,
emissionDirective: String,
emissionCombined: String,
emissionExtraUrban: String,
emissionUrban: String,
energyEfficiencyClass: String,
wltpEmissionCombined: String,
wltpCombined: String,
wltpLow: String,
wltpMedium: String,
wltpHigh: String,
wltpExtraHigh: String,
totalMoneyOffersExclDiscretionary: 0,
discretionaryMoneyOffer: 0,
totalMoneyOffersInclDiscretionary: 0,
nonDiscretionaryNMOCount: 0,
nonDiscretionaryMOCount: 0,
discretionaryNMOCount: 0,
discretionaryMOCount: 0,
totalOfferVIPAmount: 0,
stockLevelIndicator: String,
confirmedProductionDate: 0001-01-01,
forecastedArrivalDate: 0001-01-01
}
]
}