Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type DeviceOffer ¶
type DeviceOffer struct { // Contains a list of offer sets, one for each source OfferSets []OfferSet `json:"offerSets"` }
type DeviceValuation ¶
type DeviceValuation struct { // Contains a list of valuation sets, one for each vendor ValuationSets []ValuationSet `json:"valuationSets"` }
type Offer ¶
type Offer struct { // The vendor of the offer (eg. "carmax", "carvana", etc.) Vendor string `json:"vendor"` // The offer price from the vendor Price int `json:"price,omitempty"` // The offer URL from the vendor URL string `json:"url,omitempty"` // An error from the vendor (eg. when the VIN is invalid) Error string `json:"error,omitempty"` // The grade of the offer from the vendor (eg. "RETAIL") Grade string `json:"grade,omitempty"` // The reason the offer was declined from the vendor DeclineReason string `json:"declineReason,omitempty"` }
type OfferSet ¶
type OfferSet struct { // The source of the offers (eg. "drivly") Source string `json:"source"` // The time the offers were pulled Updated string `json:"updated,omitempty"` // The mileage used for the offers Mileage int `json:"mileage,omitempty"` // This will be the zip code used (if any) for the offers request regardless if the source uses it ZipCode string `json:"zipCode,omitempty"` // Contains a list of offers from the source Offers []Offer `json:"offers"` }
type ValuationSet ¶
type ValuationSet struct { // The source of the valuation (eg. "drivly" or "blackbook") Vendor string `json:"vendor"` // The time the valuation was pulled or in the case of blackbook, this may be the event time of the device odometer which was used for the valuation Updated string `json:"updated,omitempty"` // The mileage used for the valuation Mileage int `json:"mileage,omitempty"` // This will be the zip code used (if any) for the valuation request regardless if the vendor uses it ZipCode string `json:"zipCode,omitempty"` // Useful when Drivly returns multiple vendors and we've selected one (eg. "drivly:blackbook") TradeInSource string `json:"tradeInSource,omitempty"` // tradeIn is equal to tradeInAverage when available TradeIn int `json:"tradeIn,omitempty"` // tradeInClean, tradeInAverage, and tradeInRough my not always be available TradeInClean int `json:"tradeInClean,omitempty"` TradeInAverage int `json:"tradeInAverage,omitempty"` TradeInRough int `json:"tradeInRough,omitempty"` // Useful when Drivly returns multiple vendors and we've selected one (eg. "drivly:blackbook") RetailSource string `json:"retailSource,omitempty"` // retail is equal to retailAverage when available Retail int `json:"retail,omitempty"` // retailClean, retailAverage, and retailRough my not always be available RetailClean int `json:"retailClean,omitempty"` RetailAverage int `json:"retailAverage,omitempty"` RetailRough int `json:"retailRough,omitempty"` OdometerUnit string `json:"odometerUnit"` Odometer int `json:"odometer"` // UserDisplayPrice the top level value to show to users in mobile app UserDisplayPrice int `json:"userDisplayPrice"` // eg. USD or EUR Currency string `json:"currency"` }
type ValuationsController ¶
type ValuationsController struct {
// contains filtered or unexported fields
}
func NewValuationsController ¶
func NewValuationsController(log *zerolog.Logger, dbs func() *db.ReaderWriter, userDeviceSvc services.UserDeviceAPIService) *ValuationsController
func (*ValuationsController) GetOffers ¶
func (vc *ValuationsController) GetOffers(c *fiber.Ctx) error
GetOffers godoc @Description gets offers for a particular user device @Tags user-devices @Produce json @Success 200 {object} controllers.DeviceOffer @Security BearerAuth @Router /user/devices/{userDeviceID}/offers [get]
func (*ValuationsController) GetValuations ¶
func (vc *ValuationsController) GetValuations(c *fiber.Ctx) error
GetValuations godoc @Description gets valuations for a particular user device. Includes only price valuations, not offers. only gets the latest valuation. @Tags user-devices @Produce json @Param userDeviceID path string true "user device id" @Success 200 {object} controllers.DeviceValuation @Security BearerAuth @Router /user/devices/{userDeviceID}/valuations [get]