| GET | /v1/vehicleswap/{VehicleSwapGuid} | Returns current vehicle for vehicle swap Guid and replacement vehicle | Returns the current vehicle for vehicle swap Guid. If the commission number is presentthen the replacement vehicle + offers + optimal vehicle (if there is one) on an existing order with an equivalent vehicle sent in the request or selected in OneAdmin |
|---|---|---|---|
| GET | /v1/vehicleswap/detail/{VehicleSwapGuid} | Returns current vehicle for vehicle swap Guid and replacement vehicle | Returns the current vehicle for vehicle swap Guid. If the commission number is presentthen the replacement vehicle + offers + optimal vehicle (if there is one) on an existing order with an equivalent vehicle sent in the request or selected in OneAdmin |
export class SwapRequestDetails
{
public GssnId: string;
public VehicleSwapGuid: string;
public OrderGuid: string;
public BackOrderGuid?: string;
public OrderReference: string;
public OrderType: string;
public Showroom?: string;
public SentToCesar: string;
public RequestReason?: string;
public constructor(init?: Partial<SwapRequestDetails>) { (Object as any).assign(this, init); }
}
export class Model
{
public Id: number;
public Description?: string;
public DisplayName?: string;
public ImageUrlSmall?: string;
public ImageUrlMedium?: string;
public ImageUrlLarge?: string;
public Specialist: boolean;
public Priority?: number;
public ExcludeFromOnlineShowroomFilters?: boolean;
public constructor(init?: Partial<Model>) { (Object as any).assign(this, init); }
}
export class BodyStyle
{
public Id: number;
public Description?: string;
public Models?: Model[];
public constructor(init?: Partial<BodyStyle>) { (Object as any).assign(this, init); }
}
export class Brand
{
public Id: number;
public Description?: string;
public DisplayName?: string;
public BodyStyles?: BodyStyle[];
public constructor(init?: Partial<Brand>) { (Object as any).assign(this, init); }
}
export class Engine
{
public Id?: number;
public Badge: string;
public constructor(init?: Partial<Engine>) { (Object as any).assign(this, init); }
}
export class Media
{
public NoImage: boolean;
public MainImageUrl: string;
public constructor(init?: Partial<Media>) { (Object as any).assign(this, init); }
}
export enum OfferPriceProductType
{
LIST_PRICE = 'LIST_PRICE',
NUMBER_PLATE_FEE = 'NUMBER_PLATE_FEE',
DELIVERY_CHARGE = 'DELIVERY_CHARGE',
FUEL_CHARGE = 'FUEL_CHARGE',
MANUFACTURER_OFFER = 'MANUFACTURER_OFFER',
PERSONALISED_MONEYOFFER = 'PERSONALISED_MONEYOFFER',
PERSONALISED_NONMONEYOFFER = 'PERSONALISED_NONMONEYOFFER',
PERSONALISED_NONMONEYOFFER_NEG = 'PERSONALISED_NONMONEYOFFER_NEG',
SERVICE = 'SERVICE',
SERVICE_NEG = 'SERVICE_NEG',
GOVERNMENT_GRANT = 'GOVERNMENT_GRANT',
OUTRIGHT_PURCHASE_DISCOUNT = 'OUTRIGHT_PURCHASE_DISCOUNT',
VIP_OFFER = 'VIP_OFFER',
WALLBOX_OFFER = 'WALLBOX_OFFER',
WALLBOX_OFFER_NEG = 'WALLBOX_OFFER_NEG',
ROAD_FUND_LICENCE = 'ROAD_FUND_LICENCE',
FIRST_REGISTRATION_FEE = 'FIRST_REGISTRATION_FEE',
NOT_FOUND = 'NOT_FOUND',
ACCESSORY_OFFER = 'ACCESSORY_OFFER',
ACCESSORY_OFFER_NEG = 'ACCESSORY_OFFER_NEG',
MOTABILITY_DISCOUNT = 'MOTABILITY_DISCOUNT',
}
export class Price
{
public Id: string;
public Description: string;
public Net: number;
public VAT: number;
public Gross: number;
public Product: OfferPriceProductType;
public constructor(init?: Partial<Price>) { (Object as any).assign(this, init); }
}
export class RetailerOpeningTime
{
public Day: string;
public OpenFrom: string;
public OpenTo: string;
public Special: string;
public constructor(init?: Partial<RetailerOpeningTime>) { (Object as any).assign(this, init); }
}
export class RetailerOpeningTimes
{
public New: RetailerOpeningTime[] = [];
public Used: RetailerOpeningTime[] = [];
public constructor(init?: Partial<RetailerOpeningTimes>) { (Object as any).assign(this, init); }
}
export class Retailer
{
public Id: number;
public GssnId: string;
public Description: string;
public Street: string;
public City: string;
public Postcode: string;
public GoogleMapPostcode: string;
public Phone: string;
public Fax: string;
public Email: string;
public Website: string;
public RetailerGroupId: string;
public RetailerGroupName: string;
public IsOnline: boolean;
public IsNewCarRetailer: boolean;
public IsUsedCarRetailer: boolean;
public IsCentralRetailer: boolean;
public ChatEnabled: boolean;
public TradeInEnabled: boolean;
public smart: boolean;
public DisplayPhoneNumberNew: string;
public DisplayPhoneNumberUsed: string;
public Latitude: number;
public Longitude: number;
public smartDescription: string;
public smartWebsite: string;
public smartPhone: string;
public LegacyId: string;
public Agent: boolean;
public MarketAreaId: number;
public DigitalLoungeParentGssnId?: string;
public SendLeadsToDigitalLoungeParent: boolean;
public OpeningTimes?: RetailerOpeningTimes;
public constructor(init?: Partial<Retailer>) { (Object as any).assign(this, init); }
}
export class VehicleConsumption
{
public Id: number;
public Lkm: number;
public Mpg: number;
public constructor(init?: Partial<VehicleConsumption>) { (Object as any).assign(this, init); }
}
export class Equipment
{
public Id?: number;
public Code?: string;
public Description?: string;
public constructor(init?: Partial<Equipment>) { (Object as any).assign(this, init); }
}
export class Equipmentv2 extends Equipment
{
public Importance: number;
public IsAdditional: boolean;
public constructor(init?: Partial<Equipmentv2>) { super(init); (Object as any).assign(this, init); }
}
export class VehicleEquipmentCategory
{
public Order: number;
public Code?: string;
public Description?: string;
public Equipment?: Equipmentv2[];
public constructor(init?: Partial<VehicleEquipmentCategory>) { (Object as any).assign(this, init); }
}
export class VehicleEmissionClass
{
public Colour?: string;
public Rating?: string;
public constructor(init?: Partial<VehicleEmissionClass>) { (Object as any).assign(this, init); }
}
export class VehicleAttribute
{
public Description?: string;
public Value?: string;
public constructor(init?: Partial<VehicleAttribute>) { (Object as any).assign(this, init); }
}
export class VehicleIntegratedServiceCareOption
{
public OptionCode?: string;
public BM7NST?: string;
public FullModelYear?: string;
public IntegratedProductType?: string;
public CustomerDescription?: string;
public OneAgentProductType?: string;
public constructor(init?: Partial<VehicleIntegratedServiceCareOption>) { (Object as any).assign(this, init); }
}
export class VehicleDetailDto
{
public BodyStyle: string;
public Vin: string;
public Description: string;
public Colour: string;
public ColourCode: string;
public ColourDescription: string;
public ColourGroup: string;
public Model: string;
public CommissionNumber: string;
public BrandId?: number;
public Brand: Brand;
public Engine: Engine;
public EngineBadge: string;
public Media: Media;
public Line: string;
public UpholsteryCode: string;
public UpholsteryType: string;
public Upholstery: string;
public UpholsteryDescription: string;
public AvailablePackages: string[] = [];
public Packages: string[] = [];
public P11D: number;
public PortArrivalDate?: string;
public Prices: Price[] = [];
public TransmissionType: string;
public FuelType: string;
public VehicleClass: string;
public ProductRange: string;
public VehicleType: string;
public Emission?: number;
public IsAvailableOnline: boolean;
public UnderOffer: boolean;
public IsExcluded: boolean;
public IsSellable: boolean;
public OnHold: boolean;
public ElectricConsumption?: number;
public ElectricRange?: number;
public ImageUrl: string;
public Baumuster: string;
public Retailer: Retailer;
public Bm7NST: string;
public OTR: number;
public ActualPrice: number;
public IsDisplayStock: boolean;
public DisplayRetailerId?: number;
public DisplayRetailer: string;
public DisplayRetailerGssnId: string;
public DisplayRetailerMarketAreaId: string;
public IsSmartDisplayRetailer: boolean;
public IsSpecialistCar: boolean;
public Age?: number;
public Secured: boolean;
public IsHOBackOrderAccountVehicle: boolean;
public IsAllocatedToBackOrder: boolean;
public UsageCode: string;
public EmissionCombined?: number;
public NormalisedEmissionDirective?: string;
public HasMildHybridEquipmentCode: boolean;
public RetailPriceExVat: number;
public RetailPrice_IncVAT: number;
public RetailPrice_ExVAT: number;
public ModelId: number;
public VID?: string;
public ProductionDate?: string;
public FullModelYearCode?: string;
public ChassisNumber?: string;
public EligibleForIntegratedServiceCare: boolean;
public AccountType?: string;
public ConsumptionCombined?: VehicleConsumption;
public ConsumptionExtraUrban?: VehicleConsumption;
public ConsumptionUrban?: VehicleConsumption;
public WltpFuelConsumptionCombined?: VehicleConsumption;
public WltpFuelConsumptionExtraHigh?: VehicleConsumption;
public WltpFuelConsumptionHigh?: VehicleConsumption;
public WltpFuelConsumptionLow?: VehicleConsumption;
public WltpFuelConsumptionMedium?: VehicleConsumption;
public Equipment?: Equipmentv2[];
public EquipmentCategories?: VehicleEquipmentCategory[];
public EnergyEfficiencyClass?: VehicleEmissionClass;
public VehicleData?: VehicleAttribute[];
public IntegratedServiceCareOptions: VehicleIntegratedServiceCareOption[] = [];
public IspVehicleCustomerDescriptions?: string[];
public ConfirmedProductionDate?: string;
public ForecastedArrivalDate?: string;
public constructor(init?: Partial<VehicleDetailDto>) { (Object as any).assign(this, init); }
}
export class OneAgentOfferDetails
{
public CampaignOfferType?: string;
public Description?: string;
public Net?: number;
public Vat?: number;
public Gross?: number;
public constructor(init?: Partial<OneAgentOfferDetails>) { (Object as any).assign(this, init); }
}
export class VehicleError
{
public Field: string;
public Message: string;
public constructor(init?: Partial<VehicleError>) { (Object as any).assign(this, init); }
}
export class OfferDetails
{
public Id?: number;
public CampaignId?: number;
public Campaign?: string;
public CampaignOfferType?: string;
public Description: string;
public Net?: number;
public From: string;
public To: string;
public GovernmentGrant?: boolean;
public constructor(init?: Partial<OfferDetails>) { (Object as any).assign(this, init); }
}
export class PersonalisedOfferDetails
{
public Id: number;
public CampaignId: number;
public Campaign: string;
public Description: string;
public Reference: string;
public Category: string;
public Net?: number;
public VAT: number;
public Gross: number;
public Vin: string;
public MoneyOffVehicle: boolean;
public IsVATCharged: boolean;
public IsVATVariable: boolean;
public CertificateRequired: boolean;
public AutoSelect: boolean;
public constructor(init?: Partial<PersonalisedOfferDetails>) { (Object as any).assign(this, init); }
}
export class GetVehicleSwapDataResponse
{
public SwapRequestDetails: SwapRequestDetails;
public ActualPrice: number;
public CurrentVehicle: VehicleDetailDto;
public CurrentVehicleCampaignOffers: OneAgentOfferDetails[] = [];
public CurrentVehiclePersonalisedOffers: OneAgentOfferDetails[] = [];
public SwapVehicle: VehicleDetailDto;
public SwapVehicleErrors?: VehicleError[];
public VehicleSwapCampaignOffers: OfferDetails[] = [];
public VehicleSwapPersonalisedOffers: PersonalisedOfferDetails[] = [];
public constructor(init?: Partial<GetVehicleSwapDataResponse>) { (Object as any).assign(this, init); }
}
// @ApiResponse(Description="Success", StatusCode=200)
// @ApiResponse(Description="BadRequest", StatusCode=400)
export class GetVehicleSwapDataRequest implements IGet
{
public VehicleSwapGuid: string;
public constructor(init?: Partial<GetVehicleSwapDataRequest>) { (Object as any).assign(this, init); }
}
TypeScript GetVehicleSwapDataRequest DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .json suffix or ?format=json
To embed the response in a jsonp callback, append ?callback=myCallback
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
GET /v1/vehicleswap/{VehicleSwapGuid} HTTP/1.1
Host: prod-api-agency-orch-mb-dhc.rapp-customers.co.uk
Accept: application/json
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: length
{"SwapRequestDetails":{"GssnId":"String","VehicleSwapGuid":"00000000000000000000000000000000","OrderGuid":"00000000000000000000000000000000","BackOrderGuid":"00000000000000000000000000000000","OrderReference":"String","OrderType":"String","Showroom":"String","SentToCesar":"String","RequestReason":"String"},"ActualPrice":0,"CurrentVehicle":{"BodyStyle":"String","Vin":"String","Description":"String","Colour":"String","ColourCode":"String","ColourDescription":"String","ColourGroup":"String","Model":"String","CommissionNumber":"String","BrandId":0,"Brand":{"Id":0,"Description":"String","DisplayName":"String","BodyStyles":[{"Id":0,"Description":"String","Models":[{"Id":0,"Description":"String","DisplayName":"String","ImageUrlSmall":"String","ImageUrlMedium":"String","ImageUrlLarge":"String","Specialist":false,"Priority":0,"ExcludeFromOnlineShowroomFilters":false}]}]},"Engine":{"Id":0,"Badge":"String"},"EngineBadge":"String","Media":{"NoImage":false,"MainImageUrl":"String"},"Line":"String","UpholsteryCode":"String","UpholsteryType":"String","Upholstery":"String","UpholsteryDescription":"String","AvailablePackages":["String"],"Packages":["String"],"P11D":0,"PortArrivalDate":"\/Date(-62135596800000-0000)\/","Prices":[{"Id":"String","Description":"String","Net":0,"VAT":0,"Gross":0,"Product":"LIST_PRICE"}],"TransmissionType":"String","FuelType":"String","VehicleClass":"String","ProductRange":"String","VehicleType":"String","Emission":0,"IsAvailableOnline":false,"UnderOffer":false,"IsExcluded":false,"IsSellable":false,"OnHold":false,"ElectricConsumption":0,"ElectricRange":0,"ImageUrl":"String","Baumuster":"String","Retailer":{"Id":0,"GssnId":"String","Description":"String","Street":"String","City":"String","Postcode":"String","GoogleMapPostcode":"String","Phone":"String","Fax":"String","Email":"String","Website":"String","RetailerGroupId":"String","RetailerGroupName":"String","IsOnline":false,"IsNewCarRetailer":false,"IsUsedCarRetailer":false,"IsCentralRetailer":false,"ChatEnabled":false,"TradeInEnabled":false,"smart":false,"DisplayPhoneNumberNew":"String","DisplayPhoneNumberUsed":"String","Latitude":0,"Longitude":0,"smartDescription":"String","smartWebsite":"String","smartPhone":"String","LegacyId":"String","Agent":false,"MarketAreaId":0,"DigitalLoungeParentGssnId":"String","SendLeadsToDigitalLoungeParent":false,"OpeningTimes":{"New":[{"Day":"String","OpenFrom":"String","OpenTo":"String","Special":"String"}],"Used":[{"Day":"String","OpenFrom":"String","OpenTo":"String","Special":"String"}]}},"Bm7NST":"String","OTR":0,"ActualPrice":0,"IsDisplayStock":false,"DisplayRetailerId":0,"DisplayRetailer":"String","DisplayRetailerGssnId":"String","DisplayRetailerMarketAreaId":"String","IsSmartDisplayRetailer":false,"IsSpecialistCar":false,"Age":0,"Secured":false,"IsHOBackOrderAccountVehicle":false,"IsAllocatedToBackOrder":false,"UsageCode":"String","EmissionCombined":0,"NormalisedEmissionDirective":"String","HasMildHybridEquipmentCode":false,"RetailPriceExVat":0,"RetailPrice_IncVAT":0,"RetailPrice_ExVAT":0,"ModelId":0,"VID":"String","ProductionDate":"String","FullModelYearCode":"String","ChassisNumber":"String","EligibleForIntegratedServiceCare":false,"AccountType":"String","ConsumptionCombined":{"Id":0,"Lkm":0,"Mpg":0},"ConsumptionExtraUrban":{"Id":0,"Lkm":0,"Mpg":0},"ConsumptionUrban":{"Id":0,"Lkm":0,"Mpg":0},"WltpFuelConsumptionCombined":{"Id":0,"Lkm":0,"Mpg":0},"WltpFuelConsumptionExtraHigh":{"Id":0,"Lkm":0,"Mpg":0},"WltpFuelConsumptionHigh":{"Id":0,"Lkm":0,"Mpg":0},"WltpFuelConsumptionLow":{"Id":0,"Lkm":0,"Mpg":0},"WltpFuelConsumptionMedium":{"Id":0,"Lkm":0,"Mpg":0},"Equipment":[{"Importance":0,"IsAdditional":false,"Id":0,"Code":"String","Description":"String"}],"EquipmentCategories":[{"Order":0,"Code":"String","Description":"String","Equipment":[{"Importance":0,"IsAdditional":false,"Id":0,"Code":"String","Description":"String"}]}],"EnergyEfficiencyClass":{"Colour":"String","Rating":"String"},"VehicleData":[{"Description":"String","Value":"String"}],"IntegratedServiceCareOptions":[{"OptionCode":"String","BM7NST":"String","FullModelYear":"String","IntegratedProductType":"String","CustomerDescription":"String","OneAgentProductType":"String"}],"IspVehicleCustomerDescriptions":["String"],"ConfirmedProductionDate":"String","ForecastedArrivalDate":"String"},"CurrentVehicleCampaignOffers":[{"CampaignOfferType":"String","Description":"String","Net":0,"Vat":0,"Gross":0}],"CurrentVehiclePersonalisedOffers":[{"CampaignOfferType":"String","Description":"String","Net":0,"Vat":0,"Gross":0}],"SwapVehicle":{"BodyStyle":"String","Vin":"String","Description":"String","Colour":"String","ColourCode":"String","ColourDescription":"String","ColourGroup":"String","Model":"String","CommissionNumber":"String","BrandId":0,"Brand":{"Id":0,"Description":"String","DisplayName":"String","BodyStyles":[{"Id":0,"Description":"String","Models":[{"Id":0,"Description":"String","DisplayName":"String","ImageUrlSmall":"String","ImageUrlMedium":"String","ImageUrlLarge":"String","Specialist":false,"Priority":0,"ExcludeFromOnlineShowroomFilters":false}]}]},"Engine":{"Id":0,"Badge":"String"},"EngineBadge":"String","Media":{"NoImage":false,"MainImageUrl":"String"},"Line":"String","UpholsteryCode":"String","UpholsteryType":"String","Upholstery":"String","UpholsteryDescription":"String","AvailablePackages":["String"],"Packages":["String"],"P11D":0,"PortArrivalDate":"\/Date(-62135596800000-0000)\/","Prices":[{"Id":"String","Description":"String","Net":0,"VAT":0,"Gross":0,"Product":"LIST_PRICE"}],"TransmissionType":"String","FuelType":"String","VehicleClass":"String","ProductRange":"String","VehicleType":"String","Emission":0,"IsAvailableOnline":false,"UnderOffer":false,"IsExcluded":false,"IsSellable":false,"OnHold":false,"ElectricConsumption":0,"ElectricRange":0,"ImageUrl":"String","Baumuster":"String","Retailer":{"Id":0,"GssnId":"String","Description":"String","Street":"String","City":"String","Postcode":"String","GoogleMapPostcode":"String","Phone":"String","Fax":"String","Email":"String","Website":"String","RetailerGroupId":"String","RetailerGroupName":"String","IsOnline":false,"IsNewCarRetailer":false,"IsUsedCarRetailer":false,"IsCentralRetailer":false,"ChatEnabled":false,"TradeInEnabled":false,"smart":false,"DisplayPhoneNumberNew":"String","DisplayPhoneNumberUsed":"String","Latitude":0,"Longitude":0,"smartDescription":"String","smartWebsite":"String","smartPhone":"String","LegacyId":"String","Agent":false,"MarketAreaId":0,"DigitalLoungeParentGssnId":"String","SendLeadsToDigitalLoungeParent":false,"OpeningTimes":{"New":[{"Day":"String","OpenFrom":"String","OpenTo":"String","Special":"String"}],"Used":[{"Day":"String","OpenFrom":"String","OpenTo":"String","Special":"String"}]}},"Bm7NST":"String","OTR":0,"ActualPrice":0,"IsDisplayStock":false,"DisplayRetailerId":0,"DisplayRetailer":"String","DisplayRetailerGssnId":"String","DisplayRetailerMarketAreaId":"String","IsSmartDisplayRetailer":false,"IsSpecialistCar":false,"Age":0,"Secured":false,"IsHOBackOrderAccountVehicle":false,"IsAllocatedToBackOrder":false,"UsageCode":"String","EmissionCombined":0,"NormalisedEmissionDirective":"String","HasMildHybridEquipmentCode":false,"RetailPriceExVat":0,"RetailPrice_IncVAT":0,"RetailPrice_ExVAT":0,"ModelId":0,"VID":"String","ProductionDate":"String","FullModelYearCode":"String","ChassisNumber":"String","EligibleForIntegratedServiceCare":false,"AccountType":"String","ConsumptionCombined":{"Id":0,"Lkm":0,"Mpg":0},"ConsumptionExtraUrban":{"Id":0,"Lkm":0,"Mpg":0},"ConsumptionUrban":{"Id":0,"Lkm":0,"Mpg":0},"WltpFuelConsumptionCombined":{"Id":0,"Lkm":0,"Mpg":0},"WltpFuelConsumptionExtraHigh":{"Id":0,"Lkm":0,"Mpg":0},"WltpFuelConsumptionHigh":{"Id":0,"Lkm":0,"Mpg":0},"WltpFuelConsumptionLow":{"Id":0,"Lkm":0,"Mpg":0},"WltpFuelConsumptionMedium":{"Id":0,"Lkm":0,"Mpg":0},"Equipment":[{"Importance":0,"IsAdditional":false,"Id":0,"Code":"String","Description":"String"}],"EquipmentCategories":[{"Order":0,"Code":"String","Description":"String","Equipment":[{"Importance":0,"IsAdditional":false,"Id":0,"Code":"String","Description":"String"}]}],"EnergyEfficiencyClass":{"Colour":"String","Rating":"String"},"VehicleData":[{"Description":"String","Value":"String"}],"IntegratedServiceCareOptions":[{"OptionCode":"String","BM7NST":"String","FullModelYear":"String","IntegratedProductType":"String","CustomerDescription":"String","OneAgentProductType":"String"}],"IspVehicleCustomerDescriptions":["String"],"ConfirmedProductionDate":"String","ForecastedArrivalDate":"String"},"SwapVehicleErrors":[{"Field":"String","Message":"String"}],"VehicleSwapCampaignOffers":[{"Id":0,"CampaignId":0,"Campaign":"String","CampaignOfferType":"String","Description":"String","Net":0,"From":"\/Date(-62135596800000-0000)\/","To":"\/Date(-62135596800000-0000)\/","GovernmentGrant":false}],"VehicleSwapPersonalisedOffers":[{"Id":0,"CampaignId":0,"Campaign":"String","Description":"String","Reference":"String","Category":"String","Net":0,"VAT":0,"Gross":0,"Vin":"String","MoneyOffVehicle":false,"IsVATCharged":false,"IsVATVariable":false,"CertificateRequired":false,"AutoSelect":false}]}