| POST | /v1/OnlineShowroomCsv/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 full detail CSV export in OneAdmin |
|---|
const std = @import("std");
pub const CsvVehicle = struct {
// @DataMember(Name="Vehicle Type")
Vehicle_Type: ?[]const u8 = null,
vid: ?[]const u8 = null,
vin: ?[]const u8 = null,
fin: ?[]const u8 = null,
// @DataMember(Name="Comm")
Comm: ?[]const u8 = null,
// @DataMember(Name="Chassis Number")
Chassis_Number: ?[]const u8 = null,
// @DataMember(Name="Model Year")
Model_Year: ?[]const u8 = null,
// @DataMember(Name="Model Year Code")
Model_Year_Code: ?[]const u8 = null,
// @DataMember(Name="Half Model Year Code")
Half_Model_Year_Code: ?[]const u8 = null,
// @DataMember(Name="Full Model Year Code")
Full_Model_Year_Code: ?[]const u8 = null,
// @DataMember(Name="Description")
Description: ?[]const u8 = null,
// @DataMember(Name="Vehicle Class")
Vehicle_Class: ?[]const u8 = null,
// @DataMember(Name="Body Style")
Body_Style: ?[]const u8 = null,
model: ?[]const u8 = null,
colour: ?[]const u8 = null,
// @DataMember(Name="Colour Group")
Colour_Group: ?[]const u8 = null,
// @DataMember(Name="Fuel Type")
Fuel_Type: ?[]const u8 = null,
transmission: ?[]const u8 = null,
packages: ?[]const u8 = null,
lines: ?[]const u8 = null,
// @DataMember(Name="Product Range")
Product_Range: ?[]const u8 = null,
engine: ?[]const u8 = null,
isAMG: bool = false,
upholstery: ?[]const u8 = null,
nst: ?[]const u8 = null,
baumuster: ?[]const u8 = null,
bm7NST: ?[]const u8 = null,
acceleration: ?f64 = null,
// @DataMember(Name="Boot Capacity")
Boot_Capacity: ?i32 = null,
// @DataMember(Name="Top Speed")
Top_Speed: ?f64 = null,
// @DataMember(Name="Drive Concept")
Drive_Concept: ?[]const u8 = null,
// @DataMember(Name="Combustion Power HP")
Combustion_Power_HP: ?f64 = null,
// @DataMember(Name="Electric Power KW")
Electric_Power_KW: ?f64 = null,
// @DataMember(Name="Electric Power HP")
Electric_Power_HP: ?f64 = null,
// @DataMember(Name="Combined Power KW")
Combined_Power_KW: ?f64 = null,
// @DataMember(Name="Combined Power HP")
Combined_Power_HP: ?f64 = null,
// @DataMember(Name="Electric Range")
Electric_Range: ?f64 = null,
// @DataMember(Name="Electric Consumption")
Electric_Consumption: ?f64 = null,
// @DataMember(Name="Emission Combined")
Emission_Combined: ?[]const u8 = null,
// @DataMember(Name="Emission Directive")
Emission_Directive: ?[]const u8 = null,
// @DataMember(Name="Emission Extra Urban")
Emission_Extra_Urban: ?[]const u8 = null,
// @DataMember(Name="Emission Urban")
Emission_Urban: ?[]const u8 = null,
emission: ?f64 = null,
// @DataMember(Name="Test Standard")
Test_Standard: ?[]const u8 = null,
// @DataMember(Name="Energy Efficiency Class")
Energy_Efficiency_Class: ?[]const u8 = null,
// @DataMember(Name="WLTP Combined")
WLTP_Combined: ?[]const u8 = null,
// @DataMember(Name="WLTP Low")
WLTP_Low: ?[]const u8 = null,
// @DataMember(Name="WLTP Medium")
WLTP_Medium: ?[]const u8 = null,
// @DataMember(Name="WLTP High")
WLTP_High: ?[]const u8 = null,
// @DataMember(Name="WLTP Extra High")
WLTP_Extra_High: ?[]const u8 = null,
// @DataMember(Name="WLTP CO2 Emissions")
WLTP_CO2_Emissions: ?[]const u8 = null,
// @DataMember(Name="Port Arrival Date")
Port_Arrival_Date: ?[]const u8 = null,
// @DataMember(Name="Creation Date")
Creation_Date: ?[]const u8 = null,
// @DataMember(Name="Maintenance Date")
Maintenance_Date: ?[]const u8 = null,
// @DataMember(Name="Net Price")
Net_Price: f64 = 0,
// @DataMember(Name="Retail Price")
Retail_Price: f64 = 0,
// @DataMember(Name="OTR Price")
OTR_Price: f64 = 0,
// @DataMember(Name="Actual Price")
Actual_Price: f64 = 0,
// @DataMember(Name="Usage Code")
Usage_Code: ?[]const u8 = null,
secured: ?[]const u8 = null,
account: ?[]const u8 = null,
isDisplayStock: ?[]const u8 = null,
// @DataMember(Name="Display Agent")
Display_Agent: ?[]const u8 = null,
isSpecialistCar: ?[]const u8 = null,
cesarIdShipToParty: ?[]const u8 = null,
isSellable: ?[]const u8 = null,
// @DataMember(Name="Under Offer")
Under_Offer: ?[]const u8 = null,
// @DataMember(Name="Secured Date")
Secured_Date: ?[]const u8 = null,
// @DataMember(Name="Secured Reason")
Secured_Reason: ?[]const u8 = null,
// @DataMember(Name="Secured By Gas Id")
Secured_By_Gas_Id: ?[]const u8 = null,
// @DataMember(Name="Confirmed Production Date")
Confirmed_Production_Date: ?[]const u8 = null,
// @DataMember(Name="Forecasted Arrival Date")
Forecasted_Arrival_Date: ?[]const u8 = null,
};
pub const InternalAvailableStockResponse = struct {
totalVehicles: i32 = 0,
vehicles: []CsvVehicle = &.{},
};
pub const OnlineShowroomStockCsvRequest = struct {
gssns: [][]const u8 = &.{},
};
Zig OnlineShowroomStockCsvRequest DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .other suffix or ?format=other
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /v1/OnlineShowroomCsv/Stock HTTP/1.1
Host: uat-api-vehicle-mgt-mb-dhc.rapp-customers.co.uk
Accept: text/jsonl
Content-Type: text/jsonl
Content-Length: length
{"gssns":["String"]}
HTTP/1.1 200 OK
Content-Type: text/jsonl
Content-Length: length
{"totalVehicles":0}