POST | /v1/Used/Vehicle/Upload | Upload used vehicles for VSE processing |
---|
import 'package:servicestack/servicestack.dart';
class VehicleValidation implements IConvertible
{
String? vin;
String? message;
int? rowIndex;
VehicleValidation({this.vin,this.message,this.rowIndex});
VehicleValidation.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
vin = json['vin'];
message = json['message'];
rowIndex = json['rowIndex'];
return this;
}
Map<String, dynamic> toJson() => {
'vin': vin,
'message': message,
'rowIndex': rowIndex
};
getTypeName() => "VehicleValidation";
TypeContext? context = _ctx;
}
class VehicleUploadValidationResult implements IConvertible
{
List<VehicleValidation>? valid = [];
List<VehicleValidation>? invalid = [];
VehicleUploadValidationResult({this.valid,this.invalid});
VehicleUploadValidationResult.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
valid = JsonConverters.fromJson(json['valid'],'List<VehicleValidation>',context!);
invalid = JsonConverters.fromJson(json['invalid'],'List<VehicleValidation>',context!);
return this;
}
Map<String, dynamic> toJson() => {
'valid': JsonConverters.toJson(valid,'List<VehicleValidation>',context!),
'invalid': JsonConverters.toJson(invalid,'List<VehicleValidation>',context!)
};
getTypeName() => "VehicleUploadValidationResult";
TypeContext? context = _ctx;
}
class UsedVehicleUploadResponse implements IConvertible
{
String? guid;
VehicleUploadValidationResult? vehicles;
UsedVehicleUploadResponse({this.guid,this.vehicles});
UsedVehicleUploadResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
guid = json['guid'];
vehicles = JsonConverters.fromJson(json['vehicles'],'VehicleUploadValidationResult',context!);
return this;
}
Map<String, dynamic> toJson() => {
'guid': guid,
'vehicles': JsonConverters.toJson(vehicles,'VehicleUploadValidationResult',context!)
};
getTypeName() => "UsedVehicleUploadResponse";
TypeContext? context = _ctx;
}
class UsedVehicleUploadRequest implements IPost, IConvertible
{
UsedVehicleUploadRequest();
UsedVehicleUploadRequest.fromJson(Map<String, dynamic> json) : super();
fromMap(Map<String, dynamic> json) {
return this;
}
Map<String, dynamic> toJson() => {};
getTypeName() => "UsedVehicleUploadRequest";
TypeContext? context = _ctx;
}
TypeContext _ctx = TypeContext(library: 'uat_api_vehicle_mgt_mb_dhc.rapp_customers.co.uk', types: <String, TypeInfo> {
'VehicleValidation': TypeInfo(TypeOf.Class, create:() => VehicleValidation()),
'VehicleUploadValidationResult': TypeInfo(TypeOf.Class, create:() => VehicleUploadValidationResult()),
'List<VehicleValidation>': TypeInfo(TypeOf.Class, create:() => <VehicleValidation>[]),
'UsedVehicleUploadResponse': TypeInfo(TypeOf.Class, create:() => UsedVehicleUploadResponse()),
'UsedVehicleUploadRequest': TypeInfo(TypeOf.Class, create:() => UsedVehicleUploadRequest()),
});
Dart UsedVehicleUploadRequest 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/Used/Vehicle/Upload HTTP/1.1
Host: uat-api-vehicle-mgt-mb-dhc.rapp-customers.co.uk
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
}
HTTP/1.1 200 OK Content-Type: text/jsv Content-Length: length { guid: 00000000000000000000000000000000, vehicles: { valid: [ { vin: String, message: String, rowIndex: 0 } ], invalid: [ { vin: String, message: String, rowIndex: 0 } ] } }