| POST | /v1/AllAvailableVehiclesCsv/{vehicleType}/{includeBackOrderAccounts} | Get all available vehicles |
|---|
package dtos
import (
"time"
)
type BaseAllAvailableVehiclesRequest struct {
VehicleType string `json:"vehicleType"`
IncludeBackOrderAccounts bool `json:"includeBackOrderAccounts,omitempty"`
}
type CsvVehicle struct {
// @DataMember(Name="Vehicle Type")
VehicleType string `json:"Vehicle_Type"`
Vid string `json:"vid"`
Vin string `json:"vin"`
Fin string `json:"fin"`
// @DataMember(Name="Comm")
Comm string `json:"Comm"`
// @DataMember(Name="Chassis Number")
ChassisNumber string `json:"Chassis_Number"`
// @DataMember(Name="Model Year")
ModelYear string `json:"Model_Year"`
// @DataMember(Name="Model Year Code")
ModelYearCode string `json:"Model_Year_Code"`
// @DataMember(Name="Half Model Year Code")
HalfModelYearCode string `json:"Half_Model_Year_Code"`
// @DataMember(Name="Full Model Year Code")
FullModelYearCode string `json:"Full_Model_Year_Code"`
// @DataMember(Name="Description")
Description string `json:"Description"`
// @DataMember(Name="Vehicle Class")
VehicleClass string `json:"Vehicle_Class"`
// @DataMember(Name="Body Style")
BodyStyle string `json:"Body_Style"`
Model string `json:"model"`
Colour string `json:"colour"`
// @DataMember(Name="Colour Group")
ColourGroup string `json:"Colour_Group"`
// @DataMember(Name="Fuel Type")
FuelType string `json:"Fuel_Type"`
Transmission string `json:"transmission"`
Packages string `json:"packages"`
Lines string `json:"lines"`
// @DataMember(Name="Product Range")
ProductRange string `json:"Product_Range"`
Engine string `json:"engine"`
IsAMG bool `json:"isAMG,omitempty"`
Upholstery string `json:"upholstery"`
Nst string `json:"nst"`
Baumuster string `json:"baumuster"`
Bm7NST string `json:"bm7NST"`
Acceleration *float64 `json:"acceleration,omitempty"`
// @DataMember(Name="Boot Capacity")
BootCapacity *int `json:"Boot_Capacity,omitempty"`
// @DataMember(Name="Top Speed")
TopSpeed *float64 `json:"Top_Speed,omitempty"`
// @DataMember(Name="Drive Concept")
DriveConcept string `json:"Drive_Concept"`
// @DataMember(Name="Combustion Power HP")
CombustionPowerHp *float64 `json:"Combustion_Power_HP,omitempty"`
// @DataMember(Name="Electric Power KW")
ElectricPowerKw *float64 `json:"Electric_Power_KW,omitempty"`
// @DataMember(Name="Electric Power HP")
ElectricPowerHp *float64 `json:"Electric_Power_HP,omitempty"`
// @DataMember(Name="Combined Power KW")
CombinedPowerKw *float64 `json:"Combined_Power_KW,omitempty"`
// @DataMember(Name="Combined Power HP")
CombinedPowerHp *float64 `json:"Combined_Power_HP,omitempty"`
// @DataMember(Name="Electric Range")
ElectricRange *float64 `json:"Electric_Range,omitempty"`
// @DataMember(Name="Electric Consumption")
ElectricConsumption *float64 `json:"Electric_Consumption,omitempty"`
// @DataMember(Name="Emission Combined")
EmissionCombined string `json:"Emission_Combined"`
// @DataMember(Name="Emission Directive")
EmissionDirective string `json:"Emission_Directive"`
// @DataMember(Name="Emission Extra Urban")
EmissionExtraUrban string `json:"Emission_Extra_Urban"`
// @DataMember(Name="Emission Urban")
EmissionUrban string `json:"Emission_Urban"`
Emission *float64 `json:"emission,omitempty"`
// @DataMember(Name="Test Standard")
TestStandard string `json:"Test_Standard"`
// @DataMember(Name="Energy Efficiency Class")
EnergyEfficiencyClass string `json:"Energy_Efficiency_Class"`
// @DataMember(Name="WLTP Combined")
WltpCombined string `json:"WLTP_Combined"`
// @DataMember(Name="WLTP Low")
WltpLow string `json:"WLTP_Low"`
// @DataMember(Name="WLTP Medium")
WltpMedium string `json:"WLTP_Medium"`
// @DataMember(Name="WLTP High")
WltpHigh string `json:"WLTP_High"`
// @DataMember(Name="WLTP Extra High")
WltpExtraHigh string `json:"WLTP_Extra_High"`
// @DataMember(Name="WLTP CO2 Emissions")
WltpCO2Emissions string `json:"WLTP_CO2_Emissions"`
// @DataMember(Name="Port Arrival Date")
PortArrivalDate *time.Time `json:"Port_Arrival_Date,omitempty"`
// @DataMember(Name="Creation Date")
CreationDate time.Time `json:"Creation_Date,omitempty"`
// @DataMember(Name="Maintenance Date")
MaintenanceDate *time.Time `json:"Maintenance_Date,omitempty"`
// @DataMember(Name="Net Price")
NetPrice float64 `json:"Net_Price,omitempty"`
// @DataMember(Name="Retail Price")
RetailPrice float64 `json:"Retail_Price,omitempty"`
// @DataMember(Name="OTR Price")
OtrPrice float64 `json:"OTR_Price,omitempty"`
// @DataMember(Name="Actual Price")
ActualPrice float64 `json:"Actual_Price,omitempty"`
// @DataMember(Name="Usage Code")
UsageCode string `json:"Usage_Code"`
Secured string `json:"secured"`
Account string `json:"account"`
IsDisplayStock string `json:"isDisplayStock"`
// @DataMember(Name="Display Agent")
DisplayAgent string `json:"Display_Agent"`
IsSpecialistCar string `json:"isSpecialistCar"`
CesarIdShipToParty string `json:"cesarIdShipToParty"`
IsSellable string `json:"isSellable"`
// @DataMember(Name="Under Offer")
UnderOffer string `json:"Under_Offer"`
// @DataMember(Name="Secured Date")
SecuredDate *string `json:"Secured_Date,omitempty"`
// @DataMember(Name="Secured Reason")
SecuredReason *string `json:"Secured_Reason,omitempty"`
// @DataMember(Name="Secured By Gas Id")
SecuredByGasId *string `json:"Secured_By_Gas_Id,omitempty"`
// @DataMember(Name="Confirmed Production Date")
ConfirmedProductionDate *string `json:"Confirmed_Production_Date,omitempty"`
// @DataMember(Name="Forecasted Arrival Date")
ForecastedArrivalDate *string `json:"Forecasted_Arrival_Date,omitempty"`
}
type InternalAvailableStockResponse struct {
TotalVehicles int `json:"totalVehicles,omitempty"`
Vehicles []CsvVehicle `json:"vehicles"`
}
type CampaignExclusion struct {
Vin []string `json:"vin"`
CommissionNumber []string `json:"commissionNumber"`
ModelYearCode string `json:"modelYearCode"`
EquipmentCode string `json:"equipmentCode"`
Gssn []string `json:"gssn"`
}
type RegistrationDate struct {
From time.Time `json:"from,omitempty"`
To time.Time `json:"to,omitempty"`
}
type Age struct {
Date time.Time `json:"date,omitempty"`
Min int `json:"min,omitempty"`
Max int `json:"max,omitempty"`
IncludePipelineStock bool `json:"includePipelineStock,omitempty"`
}
type PortArrivalDate struct {
PipelineStock bool `json:"pipelineStock,omitempty"`
From time.Time `json:"from,omitempty"`
To time.Time `json:"to,omitempty"`
}
type VehicleSearchV3Criteria struct {
Vin []string `json:"vin"`
Model []int `json:"model"`
Fuel []int `json:"fuel"`
Transmission []int `json:"transmission"`
Engine []int `json:"engine"`
Line []string `json:"line"`
MappedLine []int `json:"mappedLine"`
CommissionNumber []string `json:"commissionNumber"`
VehicleType string `json:"vehicleType"`
Exclusion CampaignExclusion `json:"exclusion"`
RegNo string `json:"regNo"`
IncludeOffline bool `json:"includeOffline,omitempty"`
RegistrationDate RegistrationDate `json:"registrationDate"`
Age Age `json:"age"`
PortArrivalDate PortArrivalDate `json:"portArrivalDate"`
IsAvailableOnline *bool `json:"isAvailableOnline,omitempty"`
IsBackOrdered *bool `json:"isBackOrdered,omitempty"`
IsSellable *bool `json:"isSellable,omitempty"`
IsUnderOffer *bool `json:"isUnderOffer,omitempty"`
MbukSecured *bool `json:"mbukSecured,omitempty"`
Account []string `json:"account"`
Baumuster []string `json:"baumuster"`
Colours []int `json:"colours"`
Upholstery []int `json:"upholstery"`
Package []int `json:"package"`
Nst []string `json:"nst"`
UsageCode []string `json:"usageCode"`
}
type AllAvailableVehiclesByCriteriaCsvRequest struct {
BaseAllAvailableVehiclesRequest
Criteria VehicleSearchV3Criteria `json:"criteria"`
}
Go AllAvailableVehiclesByCriteriaCsvRequest DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /v1/AllAvailableVehiclesCsv/{vehicleType}/{includeBackOrderAccounts} HTTP/1.1
Host: uat-api-vehicle-mgt-mb-dhc.rapp-customers.co.uk
Accept: application/xml
Content-Type: application/xml
Content-Length: length
<AllAvailableVehiclesByCriteriaCsvRequest xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Mercedes.VehicleManagement.API.Shared.POCO.V3">
<IncludeBackOrderAccounts>false</IncludeBackOrderAccounts>
<VehicleType>String</VehicleType>
<Criteria>
<Account xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d3p1:string>String</d3p1:string>
</Account>
<Age>
<Date>0001-01-01T00:00:00</Date>
<IncludePipelineStock>false</IncludePipelineStock>
<Max>0</Max>
<Min>0</Min>
</Age>
<Baumuster xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d3p1:string>String</d3p1:string>
</Baumuster>
<Colours xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d3p1:int>0</d3p1:int>
</Colours>
<CommissionNumber xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d3p1:string>String</d3p1:string>
</CommissionNumber>
<Engine xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d3p1:int>0</d3p1:int>
</Engine>
<Exclusion>
<CommissionNumber xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d4p1:string>String</d4p1:string>
</CommissionNumber>
<EquipmentCode>String</EquipmentCode>
<Gssn xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d4p1:string>String</d4p1:string>
</Gssn>
<ModelYearCode>String</ModelYearCode>
<Vin xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d4p1:string>String</d4p1:string>
</Vin>
</Exclusion>
<Fuel xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d3p1:int>0</d3p1:int>
</Fuel>
<IncludeOffline>false</IncludeOffline>
<IsAvailableOnline>false</IsAvailableOnline>
<IsBackOrdered>false</IsBackOrdered>
<IsSellable>false</IsSellable>
<IsUnderOffer>false</IsUnderOffer>
<Line xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d3p1:string>String</d3p1:string>
</Line>
<MBUKSecured>false</MBUKSecured>
<MappedLine xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d3p1:int>0</d3p1:int>
</MappedLine>
<Model xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d3p1:int>0</d3p1:int>
</Model>
<NST xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d3p1:string>String</d3p1:string>
</NST>
<Package xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d3p1:int>0</d3p1:int>
</Package>
<PortArrivalDate>
<From>0001-01-01T00:00:00</From>
<PipelineStock>false</PipelineStock>
<To>0001-01-01T00:00:00</To>
</PortArrivalDate>
<RegNo>String</RegNo>
<RegistrationDate>
<From>0001-01-01T00:00:00</From>
<To>0001-01-01T00:00:00</To>
</RegistrationDate>
<Transmission xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d3p1:int>0</d3p1:int>
</Transmission>
<Upholstery xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d3p1:int>0</d3p1:int>
</Upholstery>
<UsageCode xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d3p1:string>String</d3p1:string>
</UsageCode>
<VehicleType>String</VehicleType>
<Vin xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d3p1:string>String</d3p1:string>
</Vin>
</Criteria>
</AllAvailableVehiclesByCriteriaCsvRequest>
HTTP/1.1 200 OK Content-Type: application/xml Content-Length: length <InternalAvailableStockResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Mercedes.VehicleManagement.API.Shared.POCO.V3"> <TotalVehicles>0</TotalVehicles> <Vehicles i:nil="true" /> </InternalAvailableStockResponse>