| GET | /v1/{VehicleType}/Vehicle/{vehicleIdentifier} | Get vehicle data by commission number | This endpoint calls Vehicle Data API and returns the data that populates the car details page in OneAdmin |
|---|
package dtos
import (
"time"
)
type OfferVehicle struct {
RetailPriceExVAT string `json:"retailPriceExVAT"`
}
type Offer struct {
Id int `json:"id,omitempty"`
OfferType string `json:"offerType"`
CampaignName string `json:"campaignName"`
From string `json:"from"`
To string `json:"to"`
Value string `json:"value"`
Net *float64 `json:"net,omitempty"`
OfferVehicle OfferVehicle `json:"offerVehicle"`
Pending bool `json:"pending,omitempty"`
DocumentUrl string `json:"documentUrl"`
Personalised bool `json:"personalised,omitempty"`
IsPersonalisedMonetaryOffer bool `json:"isPersonalisedMonetaryOffer,omitempty"`
CampaignVIPDiscount bool `json:"campaignVIPDiscount,omitempty"`
OfferValueNet *float64 `json:"offerValueNet,omitempty"`
CampaignGovernmentGrant bool `json:"campaignGovernmentGrant,omitempty"`
}
type PersonalisedOffer struct {
Offer
Category string `json:"category"`
Description string `json:"description"`
Reference string `json:"reference"`
CampaignId int `json:"campaignId,omitempty"`
CertificateRequired *bool `json:"certificateRequired,omitempty"`
AutoSelect bool `json:"autoSelect,omitempty"`
}
type Message struct {
Id int `json:"id,omitempty"`
Vin string `json:"vin"`
CampaignId int `json:"campaignId,omitempty"`
Value string `json:"value"`
CampaignDescription string `json:"campaignDescription"`
From string `json:"from"`
To string `json:"to"`
DocumentUrl string `json:"documentUrl"`
}
type OfferHistory struct {
Id int `json:"id,omitempty"`
AuditType string `json:"auditType"`
OfferType string `json:"offerType"`
Source string `json:"source"`
From string `json:"from"`
To string `json:"to"`
Personalised bool `json:"personalised,omitempty"`
Value string `json:"value"`
Net string `json:"net"`
Vat string `json:"vat"`
Description string `json:"description"`
Vin string `json:"vin"`
Gssn string `json:"gssn"`
Creation string `json:"creation"`
Modified string `json:"modified"`
UserId string `json:"userId"`
User int `json:"user,omitempty"`
OfferId int `json:"offerId,omitempty"`
CommissionNumber string `json:"commissionNumber"`
CampaignId *int `json:"campaignId,omitempty"`
CampaignDescription string `json:"campaignDescription"`
CreationDate time.Time `json:"creationDate,omitempty"`
IsUsedCarOffer bool `json:"isUsedCarOffer,omitempty"`
}
type FinanceOffer struct {
CampaignDescription string `json:"campaignDescription"`
TermsAndConditions string `json:"termsAndConditions"`
Label string `json:"label"`
CampaignId int `json:"campaignId,omitempty"`
DocumentUrl string `json:"documentUrl"`
From string `json:"from"`
Id int `json:"id,omitempty"`
To string `json:"to"`
Value string `json:"value"`
Vin string `json:"vin"`
Enabled bool `json:"enabled,omitempty"`
Pending bool `json:"pending,omitempty"`
OfferType string `json:"offerType"`
}
type VehicleByIdentifierResponse struct {
CampaignOffers []Offer `json:"campaignOffers"`
CampaignPersonalisedOffers []PersonalisedOffer `json:"campaignPersonalisedOffers"`
CampaignVoucherOffers []PersonalisedOffer `json:"campaignVoucherOffers"`
CampaignGovernmentGrantOffers []Offer `json:"campaignGovernmentGrantOffers"`
CampaignMessages []Message `json:"campaignMessages"`
OfferHistories []OfferHistory `json:"offerHistories,omitempty"`
FinanceOffers []FinanceOffer `json:"financeOffers,omitempty"`
}
type VehicleDataBase struct {
Vin string `json:"vin"`
Description string `json:"description"`
Model string `json:"model"`
Otr string `json:"otr"`
RetailPriceExVAT string `json:"retailPriceExVAT"`
ActualPrice string `json:"actualPrice"`
P11D string `json:"p11D"`
FuelType string `json:"fuelType"`
Transmission string `json:"transmission"`
TransmissionType string `json:"transmissionType"`
Colour string `json:"colour"`
ColourCode string `json:"colourCode"`
ColourDescription string `json:"colourDescription"`
CommissionNumber string `json:"commissionNumber"`
OfferAvailable bool `json:"offerAvailable,omitempty"`
CampaignDiscountOfferTotal int `json:"campaignDiscountOfferTotal,omitempty"`
CampaignDiscountOfferTotalCurrent int `json:"campaignDiscountOfferTotalCurrent,omitempty"`
CampaignDiscountOfferTotalPending int `json:"campaignDiscountOfferTotalPending,omitempty"`
CampaignServiceOfferTotal int `json:"campaignServiceOfferTotal,omitempty"`
CampaignServiceOfferTotalCurrent int `json:"campaignServiceOfferTotalCurrent,omitempty"`
CampaignServiceOfferTotalPending int `json:"campaignServiceOfferTotalPending,omitempty"`
CampaignCustomOfferTotal int `json:"campaignCustomOfferTotal,omitempty"`
CampaignPersonalisedOfferTotalCurrent int `json:"campaignPersonalisedOfferTotalCurrent,omitempty"`
CampaignPersonalisedOfferTotalPending int `json:"campaignPersonalisedOfferTotalPending,omitempty"`
CampaignPersonalisedOfferTotal int `json:"campaignPersonalisedOfferTotal,omitempty"`
CampaignCustomOfferTotalCurrent int `json:"campaignCustomOfferTotalCurrent,omitempty"`
CampaignCustomOfferTotalPending int `json:"campaignCustomOfferTotalPending,omitempty"`
CampaignOtherOfferTotal int `json:"campaignOtherOfferTotal,omitempty"`
CampaignOtherOfferTotalCurrent int `json:"campaignOtherOfferTotalCurrent,omitempty"`
CampaignOtherOfferTotalPending int `json:"campaignOtherOfferTotalPending,omitempty"`
RetailerDiscountOfferTotal int `json:"retailerDiscountOfferTotal,omitempty"`
RetailerDiscountOfferTotalCurrent int `json:"retailerDiscountOfferTotalCurrent,omitempty"`
RetailerDiscountOfferTotalPending int `json:"retailerDiscountOfferTotalPending,omitempty"`
RetailerServiceOfferTotal int `json:"retailerServiceOfferTotal,omitempty"`
RetailerServiceOfferTotalCurrent int `json:"retailerServiceOfferTotalCurrent,omitempty"`
RetailerServiceOfferTotalPending int `json:"retailerServiceOfferTotalPending,omitempty"`
RetailerCustomOfferTotal int `json:"retailerCustomOfferTotal,omitempty"`
RetailerCustomOfferTotalCurrent int `json:"retailerCustomOfferTotalCurrent,omitempty"`
RetailerCustomOfferTotalPending int `json:"retailerCustomOfferTotalPending,omitempty"`
RetailerWarrantyOfferTotal int `json:"retailerWarrantyOfferTotal,omitempty"`
RetailerWarrantyOfferTotalCurrent int `json:"retailerWarrantyOfferTotalCurrent,omitempty"`
RetailerWarrantyOfferTotalPending int `json:"retailerWarrantyOfferTotalPending,omitempty"`
RetailerOfferTotal int `json:"retailerOfferTotal,omitempty"`
RetailerOfferTotalCurrent int `json:"retailerOfferTotalCurrent,omitempty"`
RetailerOfferTotalPending int `json:"retailerOfferTotalPending,omitempty"`
CampaignOfferTotal int `json:"campaignOfferTotal,omitempty"`
CampaignOfferTotalCurrent int `json:"campaignOfferTotalCurrent,omitempty"`
CampaignOfferTotalPending int `json:"campaignOfferTotalPending,omitempty"`
CampaignAndOfferTotal int `json:"campaignAndOfferTotal,omitempty"`
CampaignAndOfferTotalCurrent int `json:"campaignAndOfferTotalCurrent,omitempty"`
CampaignAndOfferTotalPending int `json:"campaignAndOfferTotalPending,omitempty"`
OfferTotal int `json:"offerTotal,omitempty"`
OfferTotalCurrent int `json:"offerTotalCurrent,omitempty"`
OfferTotalPending int `json:"offerTotalPending,omitempty"`
Creation string `json:"creation"`
Modified string `json:"modified"`
ElectricRange int `json:"electricRange,omitempty"`
ElectricConsumption int `json:"electricConsumption,omitempty"`
PortArrivalDate *time.Time `json:"portArrivalDate,omitempty"`
DaysSincePortArrival *int `json:"daysSincePortArrival,omitempty"`
RetailPriceIncVAT float64 `json:"retailPriceIncVAT,omitempty"`
BodyStyle string `json:"bodyStyle"`
Upholstery string `json:"upholstery"`
UpholsteryCode string `json:"upholsteryCode"`
UpholsteryType string `json:"upholsteryType"`
PackageNames []string `json:"packageNames"`
Line string `json:"line"`
MappedLine string `json:"mappedLine"`
CurrentRetailerOfferPrice float64 `json:"currentRetailerOfferPrice,omitempty"`
RetailPrice string `json:"retailPrice"`
VatQualifying bool `json:"vatQualifying,omitempty"`
RetailerId int `json:"retailerId,omitempty"`
GssnId string `json:"gssnId"`
NoImage bool `json:"noImage,omitempty"`
ImageUrl string `json:"imageUrl"`
IsAvailableOnline bool `json:"isAvailableOnline,omitempty"`
IsBackOrdered bool `json:"isBackOrdered,omitempty"`
CreationDate string `json:"creationDate"`
MaintenanceDate string `json:"maintenanceDate"`
RegistrationNumber string `json:"registrationNumber"`
RegistrationDate *time.Time `json:"registrationDate,omitempty"`
Mileage *int `json:"mileage,omitempty"`
TradeInDate *time.Time `json:"tradeInDate,omitempty"`
Source string `json:"source"`
VehicleType string `json:"vehicleType"`
OfferAmount string `json:"offerAmount"`
OfferExpiry string `json:"offerExpiry"`
ActiveOffers []int `json:"activeOffers"`
CampaignMessagesTotal int `json:"campaignMessagesTotal,omitempty"`
UnderOffer bool `json:"underOffer,omitempty"`
IsDisplayStock bool `json:"isDisplayStock,omitempty"`
DisplayRetailer string `json:"displayRetailer"`
DisplayRetailerGssnId string `json:"displayRetailerGssnId"`
Location string `json:"location"`
Account string `json:"account"`
AccountType string `json:"accountType"`
UsageCode string `json:"usageCode"`
Bm7NST string `json:"bm7NST"`
IsSellable bool `json:"isSellable,omitempty"`
Secured bool `json:"secured,omitempty"`
Specialist bool `json:"specialist,omitempty"`
IsMotabilityRetailer bool `json:"isMotabilityRetailer,omitempty"`
UpholsteryDescription string `json:"upholsteryDescription"`
InBackOrderAccount bool `json:"inBackOrderAccount,omitempty"`
FullModelYearCode *string `json:"fullModelYearCode,omitempty"`
Baumuster string `json:"baumuster"`
IsMotability bool `json:"isMotability,omitempty"`
PipAdvanceRentalGross *float64 `json:"pipAdvanceRentalGross,omitempty"`
WpmsAdvanceRentalGross *float64 `json:"wpmsAdvanceRentalGross,omitempty"`
IspVehicleCustomerDescriptions []string `json:"ispVehicleCustomerDescriptions,omitempty"`
EligibleForMaTransfer bool `json:"eligibleForMaTransfer,omitempty"`
ConfirmedProductionDate *string `json:"confirmedProductionDate,omitempty"`
ForecastedArrivalDate *string `json:"forecastedArrivalDate,omitempty"`
}
type VehicleData struct {
VehicleDataBase
Engine string `json:"engine"`
}
type Equipment struct {
Id *int `json:"id,omitempty"`
Code *string `json:"code,omitempty"`
Description *string `json:"description,omitempty"`
}
type VehicleIdentifierData struct {
VehicleData
Retailer string `json:"retailer"`
HasMotabilityError bool `json:"hasMotabilityError,omitempty"`
Equipment []Equipment `json:"equipment"`
VehicleClass *string `json:"vehicleClass,omitempty"`
}
type VehicleByCommissionNumberResponse struct {
VehicleByIdentifierResponse
Vehicle VehicleIdentifierData `json:"vehicle"`
}
type VehicleByCommissionNumberRequest struct {
VehicleIdentifier string `json:"vehicleIdentifier"`
VehicleType string `json:"vehicleType"`
}
Go VehicleByCommissionNumberRequest 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.
GET /v1/{VehicleType}/Vehicle/{vehicleIdentifier} HTTP/1.1
Host: uat-api-vehicle-mgt-mb-dhc.rapp-customers.co.uk
Accept: text/jsv
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
vehicle:
{
retailer: String,
hasMotabilityError: False,
equipment:
[
{
id: 0,
code: String,
description: String
}
],
vehicleClass: String,
engine: String,
vin: String,
description: String,
model: String,
otr: String,
retailPriceExVAT: String,
actualPrice: String,
p11D: String,
fuelType: String,
transmission: String,
transmissionType: String,
colour: String,
colourCode: String,
colourDescription: String,
commissionNumber: String,
offerAvailable: False,
campaignDiscountOfferTotal: 0,
campaignDiscountOfferTotalCurrent: 0,
campaignDiscountOfferTotalPending: 0,
campaignServiceOfferTotal: 0,
campaignServiceOfferTotalCurrent: 0,
campaignServiceOfferTotalPending: 0,
campaignCustomOfferTotal: 0,
campaignPersonalisedOfferTotalCurrent: 0,
campaignPersonalisedOfferTotalPending: 0,
campaignPersonalisedOfferTotal: 0,
campaignCustomOfferTotalCurrent: 0,
campaignCustomOfferTotalPending: 0,
campaignOtherOfferTotal: 0,
campaignOtherOfferTotalCurrent: 0,
campaignOtherOfferTotalPending: 0,
retailerDiscountOfferTotal: 0,
retailerDiscountOfferTotalCurrent: 0,
retailerDiscountOfferTotalPending: 0,
retailerServiceOfferTotal: 0,
retailerServiceOfferTotalCurrent: 0,
retailerServiceOfferTotalPending: 0,
retailerCustomOfferTotal: 0,
retailerCustomOfferTotalCurrent: 0,
retailerCustomOfferTotalPending: 0,
retailerWarrantyOfferTotal: 0,
retailerWarrantyOfferTotalCurrent: 0,
retailerWarrantyOfferTotalPending: 0,
retailerOfferTotal: 0,
retailerOfferTotalCurrent: 0,
retailerOfferTotalPending: 0,
campaignOfferTotal: 0,
campaignOfferTotalCurrent: 0,
campaignOfferTotalPending: 0,
campaignAndOfferTotal: 0,
campaignAndOfferTotalCurrent: 0,
campaignAndOfferTotalPending: 0,
offerTotal: 0,
offerTotalCurrent: 0,
offerTotalPending: 0,
creation: String,
modified: String,
electricRange: 0,
electricConsumption: 0,
portArrivalDate: 0001-01-01,
daysSincePortArrival: 0,
retailPriceIncVAT: 0,
bodyStyle: String,
upholstery: String,
upholsteryCode: String,
upholsteryType: String,
packageNames:
[
String
],
line: String,
mappedLine: String,
currentRetailerOfferPrice: 0,
retailPrice: String,
vatQualifying: False,
retailerId: 0,
gssnId: String,
noImage: False,
imageUrl: String,
isAvailableOnline: False,
isBackOrdered: False,
creationDate: String,
maintenanceDate: String,
registrationNumber: String,
registrationDate: 0001-01-01,
mileage: 0,
tradeInDate: 0001-01-01,
source: String,
vehicleType: String,
offerAmount: String,
offerExpiry: String,
activeOffers:
[
0
],
campaignMessagesTotal: 0,
underOffer: False,
isDisplayStock: False,
displayRetailer: String,
displayRetailerGssnId: String,
location: String,
account: String,
accountType: String,
usageCode: String,
bm7NST: String,
isSellable: False,
secured: False,
specialist: False,
isMotabilityRetailer: False,
upholsteryDescription: String,
inBackOrderAccount: False,
fullModelYearCode: String,
baumuster: String,
isMotability: False,
pipAdvanceRentalGross: 0,
wpmsAdvanceRentalGross: 0,
ispVehicleCustomerDescriptions:
[
String
],
eligibleForMaTransfer: False,
confirmedProductionDate: String,
forecastedArrivalDate: String
},
campaignOffers:
[
{
id: 0,
offerType: String,
campaignName: String,
from: String,
to: String,
value: String,
net: 0,
offerVehicle:
{
retailPriceExVAT: String
},
pending: False,
documentUrl: String,
personalised: False,
isPersonalisedMonetaryOffer: False,
campaignVIPDiscount: False,
offerValueNet: 0,
campaignGovernmentGrant: False
}
],
campaignPersonalisedOffers:
[
{
category: String,
description: String,
reference: String,
campaignId: 0,
certificateRequired: False,
autoSelect: False,
id: 0,
offerType: String,
campaignName: String,
from: String,
to: String,
value: String,
net: 0,
offerVehicle:
{
retailPriceExVAT: String
},
pending: False,
documentUrl: String,
personalised: False,
isPersonalisedMonetaryOffer: False,
campaignVIPDiscount: False,
offerValueNet: 0,
campaignGovernmentGrant: False
}
],
campaignVoucherOffers:
[
{
category: String,
description: String,
reference: String,
campaignId: 0,
certificateRequired: False,
autoSelect: False,
id: 0,
offerType: String,
campaignName: String,
from: String,
to: String,
value: String,
net: 0,
offerVehicle:
{
retailPriceExVAT: String
},
pending: False,
documentUrl: String,
personalised: False,
isPersonalisedMonetaryOffer: False,
campaignVIPDiscount: False,
offerValueNet: 0,
campaignGovernmentGrant: False
}
],
campaignGovernmentGrantOffers:
[
{
id: 0,
offerType: String,
campaignName: String,
from: String,
to: String,
value: String,
net: 0,
offerVehicle:
{
retailPriceExVAT: String
},
pending: False,
documentUrl: String,
personalised: False,
isPersonalisedMonetaryOffer: False,
campaignVIPDiscount: False,
offerValueNet: 0,
campaignGovernmentGrant: False
}
],
campaignMessages:
[
{
id: 0,
vin: String,
campaignId: 0,
value: String,
campaignDescription: String,
from: String,
to: String,
documentUrl: String
}
],
offerHistories:
[
{
id: 0,
auditType: String,
offerType: String,
source: String,
from: String,
to: String,
personalised: False,
value: String,
net: String,
vat: String,
description: String,
vin: String,
gssn: String,
creation: String,
modified: String,
userId: String,
user: 0,
offerId: 0,
commissionNumber: String,
campaignId: 0,
campaignDescription: String,
creationDate: 0001-01-01,
isUsedCarOffer: False
}
],
financeOffers:
[
{
campaignDescription: String,
termsAndConditions: String,
label: String,
campaignId: 0,
documentUrl: String,
from: String,
id: 0,
to: String,
value: String,
vin: String,
enabled: False,
pending: False,
offerType: String
}
]
}