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