| GET | /v1/Vehicle/Reject/{vehicleIdentifier} | Get vehicle details and rejections by VIN or Commission Number | Calls Vehicle Data API. Returns vehicle details from the DB if found, otherwise from the Rejects table. |
|---|
package dtos
import (
"time"
)
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 VehicleRejectionData struct {
RejectReason string `json:"rejectReason"`
Exception string `json:"exception"`
CreationDate string `json:"creationDate"`
Active *bool `json:"active,omitempty"`
DataSource string `json:"dataSource"`
}
type VehicleSellableCheckData struct {
Check string `json:"check"`
Failure string `json:"failure"`
CreationDate string `json:"creationDate"`
}
type VehicleRejectDetailsData struct {
Details VehicleIdentifierData `json:"details"`
Rejections []VehicleRejectionData `json:"rejections"`
SellableChecks []VehicleSellableCheckData `json:"sellableChecks"`
}
type VehicleRejectDetailsResponse struct {
Vehicle VehicleRejectDetailsData `json:"vehicle"`
}
type VehicleRejectRequest struct {
VehicleIdentifier string `json:"vehicleIdentifier"`
}
To override the Content-type in your clients, use the HTTP Accept Header, append the .csv suffix or ?format=csv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
GET /v1/Vehicle/Reject/{vehicleIdentifier} HTTP/1.1
Host: uat-api-vehicle-mgt-mb-dhc.rapp-customers.co.uk
Accept: text/csv
HTTP/1.1 200 OK
Content-Type: text/csv
Content-Length: length
{"vehicle":{"details":{"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":"\/Date(-62135596800000-0000)\/","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":"\/Date(-62135596800000-0000)\/","mileage":0,"tradeInDate":"\/Date(-62135596800000-0000)\/","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"},"rejections":[{"rejectReason":"String","exception":"String","creationDate":"String","active":false,"dataSource":"String"}],"sellableChecks":[{"check":"String","failure":"String","creationDate":"String"}]}}