| PUT | /v1/VehicleSwap | Updates vehicle swap, order and back order records | This endpoint validates a swap vehicle and then calls an endpoint in the Agency API to update vehicle swap, order and back order and sends a message to OneAgent with the updated order vehicle and offers |
|---|
import 'package:servicestack/servicestack.dart';
class VehicleError implements IConvertible
{
String? Field;
String? Message;
VehicleError({this.Field,this.Message});
VehicleError.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Field = json['Field'];
Message = json['Message'];
return this;
}
Map<String, dynamic> toJson() => {
'Field': Field,
'Message': Message
};
getTypeName() => "VehicleError";
TypeContext? context = _ctx;
}
class UpdateVehicleSwapResponse implements IConvertible
{
List<VehicleError>? Errors;
UpdateVehicleSwapResponse({this.Errors});
UpdateVehicleSwapResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Errors = JsonConverters.fromJson(json['Errors'],'List<VehicleError>',context!);
return this;
}
Map<String, dynamic> toJson() => {
'Errors': JsonConverters.toJson(Errors,'List<VehicleError>',context!)
};
getTypeName() => "UpdateVehicleSwapResponse";
TypeContext? context = _ctx;
}
class UpdateVehicleSwapRequest implements IPost, IConvertible
{
String? VehicleSwapGuid;
String? OrderGuid;
String? BackOrderGuid;
String? GssnId;
String? Agent;
String? ExistingVin;
String? SwapVin;
List<int>? PersonalisedItemOfferIds;
UpdateVehicleSwapRequest({this.VehicleSwapGuid,this.OrderGuid,this.BackOrderGuid,this.GssnId,this.Agent,this.ExistingVin,this.SwapVin,this.PersonalisedItemOfferIds});
UpdateVehicleSwapRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
VehicleSwapGuid = json['VehicleSwapGuid'];
OrderGuid = json['OrderGuid'];
BackOrderGuid = json['BackOrderGuid'];
GssnId = json['GssnId'];
Agent = json['Agent'];
ExistingVin = json['ExistingVin'];
SwapVin = json['SwapVin'];
PersonalisedItemOfferIds = JsonConverters.fromJson(json['PersonalisedItemOfferIds'],'List<int>',context!);
return this;
}
Map<String, dynamic> toJson() => {
'VehicleSwapGuid': VehicleSwapGuid,
'OrderGuid': OrderGuid,
'BackOrderGuid': BackOrderGuid,
'GssnId': GssnId,
'Agent': Agent,
'ExistingVin': ExistingVin,
'SwapVin': SwapVin,
'PersonalisedItemOfferIds': JsonConverters.toJson(PersonalisedItemOfferIds,'List<int>',context!)
};
getTypeName() => "UpdateVehicleSwapRequest";
TypeContext? context = _ctx;
}
TypeContext _ctx = TypeContext(library: 'prod_api_agency_orch_mb_dhc.rapp_customers.co.uk', types: <String, TypeInfo> {
'VehicleError': TypeInfo(TypeOf.Class, create:() => VehicleError()),
'UpdateVehicleSwapResponse': TypeInfo(TypeOf.Class, create:() => UpdateVehicleSwapResponse()),
'List<VehicleError>': TypeInfo(TypeOf.Class, create:() => <VehicleError>[]),
'UpdateVehicleSwapRequest': TypeInfo(TypeOf.Class, create:() => UpdateVehicleSwapRequest()),
});
Dart UpdateVehicleSwapRequest 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.
PUT /v1/VehicleSwap HTTP/1.1
Host: prod-api-agency-orch-mb-dhc.rapp-customers.co.uk
Accept: application/xml
Content-Type: application/xml
Content-Length: length
<UpdateVehicleSwapRequest xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Mercedes.Agency.Orchestration.API.ServiceModel.VehicleSwap">
<Agent>String</Agent>
<BackOrderGuid>00000000-0000-0000-0000-000000000000</BackOrderGuid>
<ExistingVin>String</ExistingVin>
<GssnId>String</GssnId>
<OrderGuid>00000000-0000-0000-0000-000000000000</OrderGuid>
<PersonalisedItemOfferIds xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d2p1:int>0</d2p1:int>
</PersonalisedItemOfferIds>
<SwapVin>String</SwapVin>
<VehicleSwapGuid>00000000-0000-0000-0000-000000000000</VehicleSwapGuid>
</UpdateVehicleSwapRequest>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length
<UpdateVehicleSwapResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Mercedes.Agency.API.Shared.POCO">
<Errors>
<VehicleError>
<Field>String</Field>
<Message>String</Message>
</VehicleError>
</Errors>
</UpdateVehicleSwapResponse>