Documentation ¶
Overview ¶
Package openrtb_ext defines all the input validation for Prebid Server's extensions to the OpenRTB 2.5 spec.
Most of these are defined by simple contract classes.
One notable exception is the bidder params, which have more complex validation rules. These are validated by a BidderParamValidator, which relies on the json-schemas from static/bidder-params/{bidder}.json
Index ¶
- Constants
- func BuildBidderMap() map[string]BidderName
- func BuildBidderNameHashSet() map[string]struct{}
- func BuildBidderStringSlice() []string
- func ConvertDownTo25(r *RequestWrapper) error
- func ConvertUpTo26(r *RequestWrapper) error
- func IsBidderNameReserved(name string) bool
- func IsKnownIOSAppTrackingStatus(v int64) bool
- func ParseConsentedProvidersString(cps string) []int
- type AdPod
- type AdServerTarget
- type Adjustment
- type AdjustmentsByDealID
- type AdsCert
- type AppExt
- type AuctionEnvironmentType
- type BidRequestVideo
- type BidResponseVideo
- type BidType
- type BidderConfig
- type BidderName
- type BidderParamValidator
- type Cacheconfig
- type Config
- type ConsentedProvidersSettingsIn
- type ConsentedProvidersSettingsOut
- type CookieStatus
- type DealTier
- type DealTierBidderMap
- type DeviceExt
- type Experiment
- type ExtAceex
- type ExtAcuityAds
- type ExtAdapterAlternateBidderCodes
- type ExtAdpone
- type ExtAlternateBidderCodes
- type ExtApp
- type ExtAppPrebid
- type ExtBid
- type ExtBidPrebid
- type ExtBidPrebidCache
- type ExtBidPrebidCacheBids
- type ExtBidPrebidEvents
- type ExtBidPrebidFloors
- type ExtBidPrebidMeta
- type ExtBidPrebidVideo
- type ExtBidResponse
- type ExtBidderMessage
- type ExtBizzclick
- type ExtDevice
- type ExtDeviceInt
- type ExtDevicePrebid
- type ExtHttpCall
- type ExtImp
- type ExtImp33across
- type ExtImpAJA
- type ExtImpAMX
- type ExtImpAax
- type ExtImpAdOcean
- type ExtImpAdView
- type ExtImpAdf
- type ExtImpAdgeneration
- type ExtImpAdhese
- type ExtImpAdkernel
- type ExtImpAdkernelAdn
- type ExtImpAdman
- type ExtImpAdmixer
- type ExtImpAdoppler
- type ExtImpAdot
- type ExtImpAdprime
- type ExtImpAdrino
- type ExtImpAdtarget
- type ExtImpAdtelligent
- type ExtImpAdtrgtme
- type ExtImpAdvangelists
- type ExtImpAdyoulike
- type ExtImpAlgorix
- type ExtImpApacdex
- type ExtImpApplogy
- type ExtImpAppnexus
- type ExtImpAppnexusKeywords
- type ExtImpAvocet
- type ExtImpAxonix
- type ExtImpBeachfront
- type ExtImpBeachfrontAppIds
- type ExtImpBeintoo
- type ExtImpBetween
- type ExtImpBidmachine
- type ExtImpBidsCube
- type ExtImpBluesea
- type ExtImpBrave
- type ExtImpBrightroll
- type ExtImpCcx
- type ExtImpColossus
- type ExtImpConnectAd
- type ExtImpConsumable
- type ExtImpConversant
- type ExtImpCpmstar
- type ExtImpCriteo
- type ExtImpData
- type ExtImpDataAdServer
- type ExtImpDatablocks
- type ExtImpDecenterAds
- type ExtImpDeepintent
- type ExtImpDianomi
- type ExtImpEPlanning
- type ExtImpEmxDigital
- type ExtImpEngageBDR
- type ExtImpExtraDataSmaato
- type ExtImpFacebook
- type ExtImpGamma
- type ExtImpGamoshi
- type ExtImpGrid
- type ExtImpGumGum
- type ExtImpGumGumBanner
- type ExtImpGumGumVideo
- type ExtImpHuaweiAds
- type ExtImpImds
- type ExtImpImpactify
- type ExtImpInMobi
- type ExtImpInteractiveoffers
- type ExtImpInvibes
- type ExtImpInvibesDebug
- type ExtImpIx
- type ExtImpJixie
- type ExtImpKidoz
- type ExtImpKubient
- type ExtImpLockerDome
- type ExtImpLogicad
- type ExtImpLunaMedia
- type ExtImpMadvertise
- type ExtImpMarsmedia
- type ExtImpMedianet
- type ExtImpMgid
- type ExtImpMobileFuse
- type ExtImpNanoInteractive
- type ExtImpNinthDecimal
- type ExtImpNoBid
- type ExtImpOnetag
- type ExtImpOpenWeb
- type ExtImpOpenx
- type ExtImpOrbidder
- type ExtImpOutbrain
- type ExtImpOutbrainPublisher
- type ExtImpPrebid
- type ExtImpPrebidFloors
- type ExtImpPubmatic
- type ExtImpPubmaticKeyVal
- type ExtImpPubnative
- type ExtImpPulsePoint
- type ExtImpPwbid
- type ExtImpRhythmone
- type ExtImpRichaudience
- type ExtImpRubicon
- type ExtImpSaLunamedia
- type ExtImpSharethrough
- type ExtImpSmaato
- type ExtImpSmartRTB
- type ExtImpSmartadserver
- type ExtImpSonobi
- type ExtImpSovrn
- type ExtImpSspbc
- type ExtImpStroeerCore
- type ExtImpTappx
- type ExtImpTelaria
- type ExtImpTrafficGate
- type ExtImpTriplelift
- type ExtImpUcfunnel
- type ExtImpUndertone
- type ExtImpUnicorn
- type ExtImpUnruly
- type ExtImpVideoByte
- type ExtImpVideoHeroes
- type ExtImpVrtcal
- type ExtImpYahooAdvertising
- type ExtImpYahooSSP
- type ExtImpYeahmobi
- type ExtImpYieldlab
- type ExtImpYieldmo
- type ExtImpYieldone
- type ExtImpZeroClickFraud
- type ExtIncludeBrandCategory
- type ExtKayzen
- type ExtKrushmedia
- type ExtMotorik
- type ExtMultiBid
- type ExtPublisher
- type ExtPublisherPrebid
- type ExtRegs
- type ExtRequest
- type ExtRequestCurrency
- type ExtRequestPrebid
- type ExtRequestPrebidBidAdjustments
- type ExtRequestPrebidCache
- type ExtRequestPrebidCacheBids
- type ExtRequestPrebidCacheVAST
- type ExtRequestPrebidChannel
- type ExtRequestPrebidData
- type ExtRequestPrebidDataEidPermission
- type ExtRequestPrebidSChain
- type ExtRequestPrebidServer
- type ExtRequestTargeting
- type ExtResponseDebug
- type ExtResponseNonBidPrebid
- type ExtResponsePrebid
- type ExtResponseSyncData
- type ExtSilverMob
- type ExtSite
- type ExtSmartHub
- type ExtSmartyAds
- type ExtSource
- type ExtStoredAuctionResponse
- type ExtStoredBidResponse
- type ExtStoredRequest
- type ExtUser
- type ExtUserDataDeviceIdHuaweiAds
- type ExtUserDataHuaweiAds
- type ExtUserPrebid
- type ExtUserSync
- type ExtXeworks
- type Fledge
- type FledgeAuctionConfig
- type GranularityRange
- type IOSAppTrackingStatus
- type ImpExt
- func (e *ImpExt) Clone() *ImpExt
- func (e *ImpExt) Dirty() bool
- func (e *ImpExt) GetData() *ExtImpData
- func (e *ImpExt) GetExt() map[string]json.RawMessage
- func (e *ImpExt) GetGpId() string
- func (e *ImpExt) GetOrCreatePrebid() *ExtImpPrebid
- func (e *ImpExt) GetPrebid() *ExtImpPrebid
- func (e *ImpExt) GetTid() string
- func (e *ImpExt) SetExt(ext map[string]json.RawMessage)
- func (e *ImpExt) SetPrebid(prebid *ExtImpPrebid)
- func (e *ImpExt) SetTid(tid string)
- type ImpExtAdnunitus
- type ImpExtAdsinteractive
- type ImpExtAppush
- type ImpExtAxis
- type ImpExtBeyondMedia
- type ImpExtBidstack
- type ImpExtBliink
- type ImpExtBmtm
- type ImpExtBoldwin
- type ImpExtCWire
- type ImpExtCompass
- type ImpExtDefinemedia
- type ImpExtEmtv
- type ImpExtEpom
- type ImpExtFRVRAdn
- type ImpExtFlipp
- type ImpExtFlippOptions
- type ImpExtFreewheelSSP
- type ImpExtGlobalsun
- type ImpExtIQZone
- type ImpExtInfytv
- type ImpExtKargo
- type ImpExtKiviads
- type ImpExtLimelightDigital
- type ImpExtLogan
- type ImpExtMgidX
- type ImpExtNextMillennium
- type ImpExtOperaads
- type ImpExtPangle
- type ImpExtPrebid
- type ImpExtRise
- type ImpExtSeedingAlliance
- type ImpExtSuntContent
- type ImpExtTaboola
- type ImpExtVidoomy
- type ImpExtVisibleMeasures
- type ImpFloorExt
- type ImpWrapper
- type IncludeBrandCategory
- type MediaType
- type MediaTypePriceGranularity
- type NonBid
- type NonBidExt
- type NonBidObject
- type ORTB2
- type Options
- type Pod
- type PodConfig
- type Price
- type PriceFloorData
- type PriceFloorEndpoint
- type PriceFloorEnforcement
- type PriceFloorModelGroup
- type PriceFloorRules
- type PriceFloorSchema
- type PriceGranularity
- type PriceGranularityRaw
- type RegExt
- func (re *RegExt) Clone() *RegExt
- func (re *RegExt) Dirty() bool
- func (re *RegExt) GetExt() map[string]json.RawMessage
- func (re *RegExt) GetGDPR() *int8
- func (re *RegExt) GetUSPrivacy() string
- func (re *RegExt) SetExt(ext map[string]json.RawMessage)
- func (re *RegExt) SetGDPR(gdpr *int8)
- func (re *RegExt) SetUSPrivacy(usPrivacy string)
- type RequestExt
- func (re *RequestExt) Clone() *RequestExt
- func (re *RequestExt) Dirty() bool
- func (re *RequestExt) GetExt() map[string]json.RawMessage
- func (re *RequestExt) GetPrebid() *ExtRequestPrebid
- func (re *RequestExt) GetSChain() *openrtb2.SupplyChain
- func (re *RequestExt) SetExt(ext map[string]json.RawMessage)
- func (re *RequestExt) SetPrebid(prebid *ExtRequestPrebid)
- func (re *RequestExt) SetSChain(schain *openrtb2.SupplyChain)
- type RequestWrapper
- func (rw *RequestWrapper) Clone() *RequestWrapper
- func (rw *RequestWrapper) GetAppExt() (*AppExt, error)
- func (rw *RequestWrapper) GetDeviceExt() (*DeviceExt, error)
- func (rw *RequestWrapper) GetImp() []*ImpWrapper
- func (rw *RequestWrapper) GetRegExt() (*RegExt, error)
- func (rw *RequestWrapper) GetRequestExt() (*RequestExt, error)
- func (rw *RequestWrapper) GetSiteExt() (*SiteExt, error)
- func (rw *RequestWrapper) GetSourceExt() (*SourceExt, error)
- func (rw *RequestWrapper) GetUserExt() (*UserExt, error)
- func (rw *RequestWrapper) LenImp() int
- func (rw *RequestWrapper) RebuildRequest() error
- func (rw *RequestWrapper) SetImp(imps []*ImpWrapper)
- type SeatNonBid
- type SiteExt
- type SourceExt
- func (se *SourceExt) Clone() *SourceExt
- func (se *SourceExt) Dirty() bool
- func (se *SourceExt) GetExt() map[string]json.RawMessage
- func (se *SourceExt) GetSChain() *openrtb2.SupplyChain
- func (se *SourceExt) SetExt(ext map[string]json.RawMessage)
- func (se *SourceExt) SetSChain(schain *openrtb2.SupplyChain)
- type TargetingKey
- type UserExt
- func (ue *UserExt) Clone() *UserExt
- func (ue *UserExt) Dirty() bool
- func (ue *UserExt) GetConsent() *string
- func (ue *UserExt) GetConsentedProvidersSettingsIn() *ConsentedProvidersSettingsIn
- func (ue *UserExt) GetConsentedProvidersSettingsOut() *ConsentedProvidersSettingsOut
- func (ue *UserExt) GetEid() *[]openrtb2.EID
- func (ue *UserExt) GetExt() map[string]json.RawMessage
- func (ue *UserExt) GetPrebid() *ExtUserPrebid
- func (ue *UserExt) SetConsent(consent *string)
- func (ue *UserExt) SetConsentedProvidersSettingsIn(cpSettings *ConsentedProvidersSettingsIn)
- func (ue *UserExt) SetConsentedProvidersSettingsOut(cpSettings *ConsentedProvidersSettingsOut)
- func (ue *UserExt) SetEid(eid *[]openrtb2.EID)
- func (ue *UserExt) SetExt(ext map[string]json.RawMessage)
- func (ue *UserExt) SetPrebid(prebid *ExtUserPrebid)
- type UserSyncType
- type VideoTargeting
Constants ¶
const ( HbpbConstantKey TargetingKey = "hb_pb" // HbEnvKey exists to support the Prebid Universal Creative. If it exists, the only legal value is mobile-app. // It will exist only if the incoming bidRequest defined request.app instead of request.site. HbEnvKey TargetingKey = "hb_env" // HbCacheHost and HbCachePath exist to supply cache host and path as targeting parameters HbConstantCacheHostKey TargetingKey = "hb_cache_host" HbConstantCachePathKey TargetingKey = "hb_cache_path" // HbBidderConstantKey is the name of the Bidder. For example, "appnexus" or "rubicon". HbBidderConstantKey TargetingKey = "hb_bidder" HbSizeConstantKey TargetingKey = "hb_size" HbDealIDConstantKey TargetingKey = "hb_deal" // HbFormatKey is the format of the bid. For example, "video", "banner" HbFormatKey TargetingKey = "hb_format" // HbCacheKey and HbVastCacheKey store UUIDs which can be used to fetch things from prebid cache. // Callers should *never* assume that either of these exist, since the call to the cache may always fail. // // HbVastCacheKey's UUID will fetch the entire bid JSON, while HbVastCacheKey will fetch just the VAST XML. // HbVastCacheKey will only ever exist for Video bids. HbCacheKey TargetingKey = "hb_cache_id" HbVastCacheKey TargetingKey = "hb_uuid" // This is not a key, but values used by the HbEnvKey HbEnvKeyApp string = "mobile-app" HbCategoryDurationKey TargetingKey = "hb_pb_cat_dur" )
const ( StoredRequestAttributes = "storedrequestattributes" OriginalBidCpmKey = "origbidcpm" OriginalBidCurKey = "origbidcur" Passthrough = "passthrough" )
const ( FetchSuccess = "success" FetchTimeout = "timeout" FetchError = "error" FetchInprogress = "inprogress" FetchNone = "none" )
Defines strings for FetchStatus
const ( NoDataLocation = "noData" RequestLocation = "request" FetchLocation = "fetch" )
Defines strings for PriceFloorLocation
const AuctionEnvironmentKey = string(BidderReservedAE)
AuctionEnvironmentKey is the json key under imp[].ext for ExtImp.AuctionEnvironment
const DefaultBidLimit = 1
const FirstPartyDataContextExtKey = "context"
FirstPartyDataContextExtKey defines a field name within request.ext and request.imp.ext reserved for first party data.
const FirstPartyDataExtKey = "data"
FirstPartyDataExtKey defines a field name within request.ext and request.imp.ext reserved for first party data.
const GPIDKey = "gpid"
GPIDKey defines the field name within request.ext reserved for the Global Placement ID (GPID),
const IsRewardedInventoryKey = "is_rewarded_inventory"
IsRewardedInventoryKey is the json key for ExtImpPrebid.IsRewardedInventory
const MaxBidLimit = 9
const MaxDecimalFigures int = 15
const NativeExchangeSpecificLowerBound = 500
NativeExchangeSpecificLowerBound defines the lower threshold of exchange specific types for native ads. There is no upper bound.
const OptionsKey = "options"
OptionsKey is the json key for ExtImpPrebid.Options
const PrebidExtBidderKey = "bidder"
PrebidExtBidderKey represents the field name within request.imp.ext.prebid reserved for bidder params.
const PrebidExtKey = "prebid"
PrebidExtKey represents the prebid extension key used in requests
const SKAdNExtKey = "skadn"
SKAdNExtKey defines the field name within request.ext reserved for Apple's SKAdNetwork.
const TIDKey = "tid"
TIDKey reserved for Per-Impression Transactions IDs for Multi-Impression Bid Requests.
Variables ¶
This section is empty.
Functions ¶
func BuildBidderMap ¶
func BuildBidderMap() map[string]BidderName
BuildBidderMap builds a map of string to BidderName, to remain compatbile with the prebioud BidderMap variable.
func BuildBidderNameHashSet ¶
func BuildBidderNameHashSet() map[string]struct{}
func BuildBidderStringSlice ¶
func BuildBidderStringSlice() []string
BuildBidderStringSlice builds a slioce of strings for each BidderName.
func ConvertDownTo25 ¶ added in v0.224.0
func ConvertDownTo25(r *RequestWrapper) error
func ConvertUpTo26 ¶ added in v0.224.0
func ConvertUpTo26(r *RequestWrapper) error
func IsBidderNameReserved ¶
IsBidderNameReserved returns true if the specified name is a case insensitive match for a reserved bidder name.
func IsKnownIOSAppTrackingStatus ¶
IsKnownIOSAppTrackingStatus returns true if the value is a known iOS app tracking authorization status.
func ParseConsentedProvidersString ¶ added in v0.231.0
ParseConsentedProvidersString takes a string formatted as Google's Additional Consent format and returns a list with its elements. For instance, the following string "1~1.35.41.101" would result in []int{1, 35, 41, 101}
Types ¶
type AdPod ¶
type AdPod struct { PodId int64 `json:"podid"` Targeting []VideoTargeting `json:"targeting"` Errors []string `json:"errors"` }
type AdServerTarget ¶ added in v0.249.0
type Adjustment ¶ added in v0.254.0
type Adjustment struct { Type string `json:"adjtype,omitempty"` Value float64 `json:"value,omitempty"` Currency string `json:"currency,omitempty"` }
Adjustment defines the object that will be present in the slice of bid adjustments found from MediaType map
type AdjustmentsByDealID ¶ added in v0.254.0
type AdjustmentsByDealID map[string][]Adjustment
AdjustmentsByDealID maps a dealID to a slice of bid adjustments
type AdsCert ¶ added in v0.220.0
type AdsCert struct {
Enabled bool `json:"enabled,omitempty"`
}
AdsCert defines if Call Sign feature is enabled for request
type AppExt ¶ added in v0.169.0
type AppExt struct {
// contains filtered or unexported fields
}
func (*AppExt) GetPrebid ¶ added in v0.169.0
func (ae *AppExt) GetPrebid() *ExtAppPrebid
func (*AppExt) SetPrebid ¶ added in v0.169.0
func (ae *AppExt) SetPrebid(prebid *ExtAppPrebid)
type AuctionEnvironmentType ¶ added in v0.239.0
type AuctionEnvironmentType int8
AuctionEnvironmentType is a Google Privacy Sandbox flag indicating where the auction may take place
const ( // 0 Standard server-side auction ServerSideAuction AuctionEnvironmentType = 0 // 1 On-device interest group auction (FLEDGE) OnDeviceIGAuctionFledge AuctionEnvironmentType = 1 // 2 Server-side with interest group simulation ServerSideWithIGSimulation AuctionEnvironmentType = 2 )
type BidRequestVideo ¶
type BidRequestVideo struct { // Attribute: // storedrequestid // Type: // string; required // Description: // Unique ID of the stored request StoredRequestId string `json:"storedrequestid"` // Attribute: // podconfig // Type: // object; required // Description: // Container object for describing all the pod configurations PodConfig PodConfig `json:"podconfig"` // Attribute: // app // Type: // object; App or Site required // Description: // Application where the impression will be shown App *openrtb2.App `json:"app"` // Attribute: // site // Type: // object; App or Site required // Description: // Site where the impression will be shown Site *openrtb2.Site `json:"site"` // Attribute: // user // Type: // object; optional // Description: // Container object for the user of of the actual device User *openrtb2.User `json:"user,omitempty"` // Attribute: // device // Type: // object; optional // Description: // Device specific data Device openrtb2.Device `json:"device,omitempty"` // Attribute: // includebrandcategory // Type: // object; optional // Description: // Indicates that the response requires an adserver specific content category IncludeBrandCategory *IncludeBrandCategory `json:"includebrandcategory,omitempty"` // Attribute: // video // Type: // object; required // Description: // Player container object Video *openrtb2.Video `json:"video,omitempty"` // Attribute: // content // Type: // object; optional // Description: // Misc content meta data that can be used for targeting the adPod(s) Content openrtb2.Content `json:"content,omitempty"` // Attribute: // cacheconfig // Type: // object; optional // Description: // Container object for all Prebid Cache configs Cacheconfig Cacheconfig `json:"cacheconfig,omitempty"` // Attribute: // test // Type: // integer; default 0 // Description: // Indicator of test mode in which auctions are not billable, // where 0 = live mode, 1 = test mode. Test int8 `json:"test,omitempty"` // Attribute: // pricegranularity // Type: // object; optional // Description: // Object to tell ad server how much money the “bidder” demand is worth to you PriceGranularity *PriceGranularity `json:"pricegranularity,omitempty"` // Attribute: // tmax // Type: // integer // Description: // Maximum time in milliseconds the exchange allows for bids to // be received including Internet latency to avoid timeout. This // value supersedes any a priori guidance from the exchange. TMax int64 `json:"tmax,omitempty"` // Attribute: // bcat // Type: // string array // Description: // Blocked advertiser categories using the IAB content // categories. Refer to List 5.1. BCat []string `json:"bcat,omitempty"` // Attribute: // badv // Type: // string array // Description: // Block list of advertisers by their domains (e.g., “ford.com”). BAdv []string `json:"badv,omitempty"` // Attribute: // regs // Type: // object; optional // Description: // Contains the OpenRTB Regs object to be passed to OpenRTB request Regs *openrtb2.Regs `json:"regs,omitempty"` // Attribute: // supportdeals // Type: // bool; optional // Description: // Indicates that the response should update key to include prefix and tier SupportDeals bool `json:"supportdeals,omitempty"` // Attribute: // appendbiddernames // Type: // boolean, optional // Flag indicating if the bidder name will be added to the hb_pb_cat_dur. Default is false. AppendBidderNames bool `json:"appendbiddernames,omitempty"` }
type BidResponseVideo ¶
type BidResponseVideo struct { AdPods []*AdPod `json:"adPods"` Ext json.RawMessage `json:"ext,omitempty"` }
type BidType ¶
type BidType string
BidType describes the allowed values for bidresponse.seatbid.bid[i].ext.prebid.type
func ParseBidType ¶
type BidderConfig ¶ added in v0.183.0
type BidderName ¶
type BidderName string
BidderName refers to a core bidder id or an alias id.
const ( BidderReservedAll BidderName = "all" // Reserved for the /info/bidders/all endpoint. BidderReservedContext BidderName = "context" // Reserved for first party data. BidderReservedData BidderName = "data" // Reserved for first party data. BidderReservedGeneral BidderName = "general" // Reserved for non-bidder specific messages when using a map keyed on the bidder name. BidderReservedGPID BidderName = "gpid" // Reserved for Global Placement ID (GPID). BidderReservedPrebid BidderName = "prebid" // Reserved for Prebid Server configuration. BidderReservedSKAdN BidderName = "skadn" // Reserved for Apple's SKAdNetwork OpenRTB extension. BidderReservedTID BidderName = "tid" // Reserved for Per-Impression Transactions IDs for Multi-Impression Bid Requests. BidderReservedAE BidderName = "ae" // Reserved for FLEDGE Auction Environment )
Names of reserved bidders. These names may not be used by a core bidder or alias.
const ( Bidder33Across BidderName = "33across" BidderAax BidderName = "aax" BidderAceex BidderName = "aceex" BidderAcuityAds BidderName = "acuityads" BidderAdf BidderName = "adf" BidderAdform BidderName = "adform" BidderAdgeneration BidderName = "adgeneration" BidderAdhese BidderName = "adhese" BidderAdkernel BidderName = "adkernel" BidderAdkernelAdn BidderName = "adkernelAdn" BidderAdman BidderName = "adman" BidderAdmixer BidderName = "admixer" BidderAdnuntius BidderName = "adnuntius" BidderAdOcean BidderName = "adocean" BidderAdoppler BidderName = "adoppler" BidderAdot BidderName = "adot" BidderAdpone BidderName = "adpone" BidderAdprime BidderName = "adprime" BidderAdrino BidderName = "adrino" BidderAdsinteractive BidderName = "adsinteractive" BidderAdsyield BidderName = "adsyield" BidderAdtarget BidderName = "adtarget" BidderAdtrgtme BidderName = "adtrgtme" BidderAdtelligent BidderName = "adtelligent" BidderAdvangelists BidderName = "advangelists" BidderAdView BidderName = "adview" BidderAdxcg BidderName = "adxcg" BidderAdyoulike BidderName = "adyoulike" BidderAJA BidderName = "aja" BidderAlgorix BidderName = "algorix" BidderAMX BidderName = "amx" BidderApacdex BidderName = "apacdex" BidderApplogy BidderName = "applogy" BidderAppnexus BidderName = "appnexus" BidderAppush BidderName = "appush" BidderAudienceNetwork BidderName = "audienceNetwork" BidderAutomatad BidderName = "automatad" BidderAvocet BidderName = "avocet" BidderAxis BidderName = "axis" BidderAxonix BidderName = "axonix" BidderBeachfront BidderName = "beachfront" BidderBeintoo BidderName = "beintoo" BidderBetween BidderName = "between" BidderBeyondMedia BidderName = "beyondmedia" BidderBidmachine BidderName = "bidmachine" BidderBidmyadz BidderName = "bidmyadz" BidderBidsCube BidderName = "bidscube" BidderBidstack BidderName = "bidstack" BidderBizzclick BidderName = "bizzclick" BidderBliink BidderName = "bliink" BidderBlue BidderName = "blue" BidderBluesea BidderName = "bluesea" BidderBmtm BidderName = "bmtm" BidderBoldwin BidderName = "boldwin" BidderBrave BidderName = "brave" BidderBrightroll BidderName = "brightroll" BidderCcx BidderName = "ccx" BidderCoinzilla BidderName = "coinzilla" BidderColossus BidderName = "colossus" BidderCompass BidderName = "compass" BidderConnectAd BidderName = "connectad" BidderConsumable BidderName = "consumable" BidderConversant BidderName = "conversant" BidderCopper6 BidderName = "copper6" BidderCpmstar BidderName = "cpmstar" BidderCriteo BidderName = "criteo" BidderCWire BidderName = "cwire" BidderDatablocks BidderName = "datablocks" BidderDecenterAds BidderName = "decenterads" BidderDeepintent BidderName = "deepintent" BidderDefinemedia BidderName = "definemedia" BidderDianomi BidderName = "dianomi" BidderDmx BidderName = "dmx" BidderEmtv BidderName = "emtv" BidderEmxDigital BidderName = "emx_digital" BidderEngageBDR BidderName = "engagebdr" BidderEPlanning BidderName = "eplanning" BidderEpsilon BidderName = "epsilon" BidderEpom BidderName = "epom" BidderEVolution BidderName = "e_volution" BidderEvtech BidderName = "evtech" BidderFlipp BidderName = "flipp" BidderFreewheelSSP BidderName = "freewheelssp" BidderFreewheelSSPOld BidderName = "freewheel-ssp" BidderFRVRAdNetwork BidderName = "frvradn" BidderGamma BidderName = "gamma" BidderGamoshi BidderName = "gamoshi" BidderGlobalsun BidderName = "globalsun" BidderGrid BidderName = "grid" BidderGumGum BidderName = "gumgum" BidderHuaweiAds BidderName = "huaweiads" BidderIionads BidderName = "iionads" BidderImds BidderName = "imds" BidderImpactify BidderName = "impactify" BidderImprovedigital BidderName = "improvedigital" BidderInfyTV BidderName = "infytv" BidderInMobi BidderName = "inmobi" BidderInteractiveoffers BidderName = "interactiveoffers" BidderInvibes BidderName = "invibes" BidderIQZone BidderName = "iqzone" BidderIx BidderName = "ix" BidderJANet BidderName = "janet" BidderJixie BidderName = "jixie" BidderKargo BidderName = "kargo" BidderKayzen BidderName = "kayzen" BidderKidoz BidderName = "kidoz" BidderKiviads BidderName = "kiviads" BidderKrushmedia BidderName = "krushmedia" BidderKubient BidderName = "kubient" BidderLimelightDigital BidderName = "limelightDigital" BidderLockerDome BidderName = "lockerdome" BidderLogan BidderName = "logan" BidderLogicad BidderName = "logicad" BidderLunaMedia BidderName = "lunamedia" BidderMadvertise BidderName = "madvertise" BidderMarsmedia BidderName = "marsmedia" BidderMediafuse BidderName = "mediafuse" BidderMedianet BidderName = "medianet" BidderMgid BidderName = "mgid" BidderMgidX BidderName = "mgidX" BidderMobfoxpb BidderName = "mobfoxpb" BidderMobileFuse BidderName = "mobilefuse" BidderMotorik BidderName = "motorik" BidderNanoInteractive BidderName = "nanointeractive" BidderNextMillennium BidderName = "nextmillennium" BidderNinthDecimal BidderName = "ninthdecimal" BidderNoBid BidderName = "nobid" BidderOneTag BidderName = "onetag" BidderOpenWeb BidderName = "openweb" BidderOpenx BidderName = "openx" BidderOperaads BidderName = "operaads" BidderOrbidder BidderName = "orbidder" BidderOutbrain BidderName = "outbrain" BidderPangle BidderName = "pangle" BidderPGAM BidderName = "pgam" BidderPubmatic BidderName = "pubmatic" BidderPubnative BidderName = "pubnative" BidderPulsepoint BidderName = "pulsepoint" BidderPWBid BidderName = "pwbid" BidderQuantumdex BidderName = "quantumdex" BidderRevcontent BidderName = "revcontent" BidderRhythmone BidderName = "rhythmone" BidderRichaudience BidderName = "richaudience" BidderRise BidderName = "rise" BidderRTBHouse BidderName = "rtbhouse" BidderRubicon BidderName = "rubicon" BidderSeedingAlliance BidderName = "seedingAlliance" BidderSaLunaMedia BidderName = "sa_lunamedia" BidderSilverMob BidderName = "silvermob" BidderSmaato BidderName = "smaato" BidderSmartAdserver BidderName = "smartadserver" BidderSmartHub BidderName = "smarthub" BidderSmartRTB BidderName = "smartrtb" BidderSmartyAds BidderName = "smartyads" BidderSmileWanted BidderName = "smilewanted" BidderSonobi BidderName = "sonobi" BidderSovrn BidderName = "sovrn" BidderSspBC BidderName = "sspBC" BidderStreamkey BidderName = "streamkey" BidderStroeerCore BidderName = "stroeerCore" BidderSuntContent BidderName = "suntContent" BidderSynacormedia BidderName = "synacormedia" BidderTaboola BidderName = "taboola" BidderTappx BidderName = "tappx" BidderTelaria BidderName = "telaria" BidderTrafficGate BidderName = "trafficgate" BidderTriplelift BidderName = "triplelift" BidderTripleliftNative BidderName = "triplelift_native" BidderTrustX BidderName = "trustx" BidderUcfunnel BidderName = "ucfunnel" BidderUndertone BidderName = "undertone" BidderUnicorn BidderName = "unicorn" BidderUnruly BidderName = "unruly" BidderValueImpression BidderName = "valueimpression" BidderVideoByte BidderName = "videobyte" BidderVideoHeroes BidderName = "videoheroes" BidderVidoomy BidderName = "vidoomy" BidderViewdeos BidderName = "viewdeos" BidderVisibleMeasures BidderName = "visiblemeasures" BidderVisx BidderName = "visx" BidderVrtcal BidderName = "vrtcal" BidderXeworks BidderName = "xeworks" BidderYahooAdvertising BidderName = "yahooAdvertising" BidderYahooSSP BidderName = "yahoossp" BidderYeahmobi BidderName = "yeahmobi" BidderYieldlab BidderName = "yieldlab" BidderYieldmo BidderName = "yieldmo" BidderYieldone BidderName = "yieldone" BidderZeroClickFraud BidderName = "zeroclickfraud" BidderZetaGlobalSsp BidderName = "zeta_global_ssp" )
Names of core bidders. These names *must* match the bidder code in Prebid.js if an adapter also exists in that project. You may *not* use the name 'general' as that is reserved for general error messages nor 'context' as that is reserved for first party data.
Please keep this list alphabetized to minimize merge conflicts.
func CoreBidderNames ¶
func CoreBidderNames() []BidderName
CoreBidderNames returns a slice of all core bidders.
func NormalizeBidderName ¶
func NormalizeBidderName(name string) (BidderName, bool)
func (BidderName) MarshalJSON ¶
func (name BidderName) MarshalJSON() ([]byte, error)
func (*BidderName) String ¶
func (name *BidderName) String() string
type BidderParamValidator ¶
type BidderParamValidator interface { Validate(name BidderName, ext json.RawMessage) error // Schema returns the JSON schema used to perform validation. Schema(name BidderName) string }
The BidderParamValidator is used to enforce bidrequest.imp[i].ext.prebid.bidder.{anyBidder} values.
This is treated differently from the other types because we rely on JSON-schemas to validate bidder params.
func NewBidderParamsValidator ¶
func NewBidderParamsValidator(schemaDirectory string) (BidderParamValidator, error)
NewBidderParamsValidator makes a BidderParamValidator, assuming all the necessary files exist in the filesystem. This will error if, for example, a Bidder gets added but no JSON schema is written for them.
type Cacheconfig ¶
type Cacheconfig struct { // Attribute: // ttl // Type: // int; optional // Time to Live for a cache entry specified in seconds Ttl int `json:"ttl"` }
type ConsentedProvidersSettingsIn ¶ added in v0.231.0
type ConsentedProvidersSettingsIn struct {
ConsentedProvidersString string `json:"consented_providers,omitempty"`
}
type ConsentedProvidersSettingsOut ¶ added in v0.231.0
type ConsentedProvidersSettingsOut struct {
ConsentedProvidersList []int `json:"consented_providers,omitempty"`
}
type CookieStatus ¶
type CookieStatus string
CookieStatus describes the allowed values for bidresponse.ext.usersync.{bidder}.status
const ( CookieNone CookieStatus = "none" CookieExpired CookieStatus = "expired" CookieAvailable CookieStatus = "available" )
type DealTier ¶
type DealTier struct { // Prefix specifies the beginning of the hb_pb_cat_dur targeting key value. Must be non-empty. Prefix string `json:"prefix"` // MinDealTier specifies the minimum deal priority value (inclusive) that must be met for the targeting // key value to be modified. Must be greater than 0. MinDealTier int `json:"minDealTier"` }
DealTier defines the configuration of a deal tier.
type DealTierBidderMap ¶
type DealTierBidderMap map[BidderName]DealTier
DealTierBidderMap defines a correlation between bidders and deal tiers.
func ReadDealTiersFromImp ¶
func ReadDealTiersFromImp(imp openrtb2.Imp) (DealTierBidderMap, error)
ReadDealTiersFromImp returns a map of bidder deal tiers read from the impression of an original request (not split / cleaned).
type DeviceExt ¶ added in v0.169.0
type DeviceExt struct {
// contains filtered or unexported fields
}
func (*DeviceExt) GetExt ¶ added in v0.169.0
func (de *DeviceExt) GetExt() map[string]json.RawMessage
func (*DeviceExt) GetPrebid ¶ added in v0.169.0
func (de *DeviceExt) GetPrebid() *ExtDevicePrebid
func (*DeviceExt) SetExt ¶ added in v0.169.0
func (de *DeviceExt) SetExt(ext map[string]json.RawMessage)
func (*DeviceExt) SetPrebid ¶ added in v0.169.0
func (de *DeviceExt) SetPrebid(prebid *ExtDevicePrebid)
type Experiment ¶ added in v0.220.0
type Experiment struct {
AdsCert *AdsCert `json:"adscert,omitempty"`
}
Experiment defines if experimental features are available for the request
type ExtAcuityAds ¶
type ExtAdapterAlternateBidderCodes ¶ added in v0.228.0
type ExtAlternateBidderCodes ¶ added in v0.228.0
type ExtAlternateBidderCodes struct { Enabled bool `mapstructure:"enabled" json:"enabled"` Bidders map[string]ExtAdapterAlternateBidderCodes `mapstructure:"bidders" json:"bidders"` }
ExtAlternateBidderCodes defines list of alternate bidder codes allowed by adatpers. This overrides host level configs.
func (*ExtAlternateBidderCodes) IsValidBidderCode ¶ added in v0.228.0
func (bidderCodes *ExtAlternateBidderCodes) IsValidBidderCode(bidder, alternateBidder string) (bool, error)
type ExtApp ¶
type ExtApp struct {
Prebid ExtAppPrebid `json:"prebid"`
}
ExtApp defines the contract for bidrequest.app.ext
type ExtAppPrebid ¶
type ExtAppPrebid struct { Source string `json:"source,omitempty"` Version string `json:"version,omitempty"` }
ExtAppPrebid further defines the contract for bidrequest.app.ext.prebid.
type ExtBid ¶
type ExtBid struct {
Prebid *ExtBidPrebid `json:"prebid,omitempty"`
}
ExtBid defines the contract for bidresponse.seatbid.bid[i].ext
type ExtBidPrebid ¶
type ExtBidPrebid struct { Cache *ExtBidPrebidCache `json:"cache,omitempty"` DealPriority int `json:"dealpriority,omitempty"` DealTierSatisfied bool `json:"dealtiersatisfied,omitempty"` Meta *ExtBidPrebidMeta `json:"meta,omitempty"` Targeting map[string]string `json:"targeting,omitempty"` TargetBidderCode string `json:"targetbiddercode,omitempty"` Type BidType `json:"type,omitempty"` Video *ExtBidPrebidVideo `json:"video,omitempty"` Events *ExtBidPrebidEvents `json:"events,omitempty"` BidId string `json:"bidid,omitempty"` Passthrough json.RawMessage `json:"passthrough,omitempty"` Floors *ExtBidPrebidFloors `json:"floors,omitempty"` }
ExtBidPrebid defines the contract for bidresponse.seatbid.bid[i].ext.prebid DealPriority represents priority of deal bid. If its non deal bid then value will be 0 DealTierSatisfied true represents corresponding bid has satisfied the deal tier
type ExtBidPrebidCache ¶
type ExtBidPrebidCache struct { Key string `json:"key"` Url string `json:"url"` Bids *ExtBidPrebidCacheBids `json:"bids,omitempty"` }
ExtBidPrebidCache defines the contract for bidresponse.seatbid.bid[i].ext.prebid.cache
type ExtBidPrebidCacheBids ¶
type ExtBidPrebidEvents ¶
type ExtBidPrebidEvents struct { Win string `json:"win,omitempty"` Imp string `json:"imp,omitempty"` }
ExtBidPrebidEvents defines the contract for bidresponse.seatbid.bid[i].ext.prebid.events
type ExtBidPrebidFloors ¶ added in v0.256.0
type ExtBidPrebidFloors struct { FloorRule string `json:"floorRule,omitempty"` FloorRuleValue float64 `json:"floorRuleValue,omitempty"` FloorValue float64 `json:"floorValue,omitempty"` FloorCurrency string `json:"floorCurrency,omitempty"` }
ExtBidPrebidFloors defines the contract for bidresponse.seatbid.bid[i].ext.prebid.floors
type ExtBidPrebidMeta ¶
type ExtBidPrebidMeta struct { AdvertiserDomains []string `json:"advertiserDomains,omitempty"` AdvertiserID int `json:"advertiserId,omitempty"` AdvertiserName string `json:"advertiserName,omitempty"` AgencyID int `json:"agencyId,omitempty"` AgencyName string `json:"agencyName,omitempty"` BrandID int `json:"brandId,omitempty"` BrandName string `json:"brandName,omitempty"` DemandSource string `json:"demandSource,omitempty"` DChain json.RawMessage `json:"dchain,omitempty"` MediaType string `json:"mediaType,omitempty"` NetworkID int `json:"networkId,omitempty"` NetworkName string `json:"networkName,omitempty"` PrimaryCategoryID string `json:"primaryCatId,omitempty"` SecondaryCategoryIDs []string `json:"secondaryCatIds,omitempty"` AdapterCode string `json:"adaptercode,omitempty"` }
ExtBidPrebidMeta defines the contract for bidresponse.seatbid.bid[i].ext.prebid.meta
type ExtBidPrebidVideo ¶
type ExtBidPrebidVideo struct { Duration int `json:"duration"` PrimaryCategory string `json:"primary_category"` }
ExtBidPrebidVideo defines the contract for bidresponse.seatbid.bid[i].ext.prebid.video
type ExtBidResponse ¶
type ExtBidResponse struct { Debug *ExtResponseDebug `json:"debug,omitempty"` // Errors defines the contract for bidresponse.ext.errors Errors map[BidderName][]ExtBidderMessage `json:"errors,omitempty"` Warnings map[BidderName][]ExtBidderMessage `json:"warnings,omitempty"` // ResponseTimeMillis defines the contract for bidresponse.ext.responsetimemillis ResponseTimeMillis map[BidderName]int `json:"responsetimemillis,omitempty"` // RequestTimeoutMillis returns the timeout used in the auction. // This is useful if the timeout is saved in the Stored Request on the server. // Clients can run one auction, and then use this to set better connection timeouts on future auction requests. RequestTimeoutMillis int64 `json:"tmaxrequest,omitempty"` // ResponseUserSync defines the contract for bidresponse.ext.usersync Usersync map[BidderName]*ExtResponseSyncData `json:"usersync,omitempty"` // Prebid defines the contract for bidresponse.ext.prebid Prebid *ExtResponsePrebid `json:"prebid,omitempty"` }
ExtBidResponse defines the contract for bidresponse.ext
type ExtBidderMessage ¶
ExtBidderMessage defines an error object to be returned, consiting of a machine readable error code, and a human readable error message string.
type ExtBizzclick ¶ added in v0.187.0
type ExtDevice ¶
type ExtDevice struct { // Attribute: // atts // Type: // integer; optional - iOS Only // Description: // iOS app tracking authorization status. // Extension Spec: // https://github.com/InteractiveAdvertisingBureau/openrtb/blob/master/extensions/community_extensions/skadnetwork.md ATTS *IOSAppTrackingStatus `json:"atts"` // Attribute: // prebid // Type: // object; optional // Description: // Prebid extensions for the Device object. Prebid ExtDevicePrebid `json:"prebid"` }
ExtDevice defines the contract for bidrequest.device.ext
type ExtDeviceInt ¶
type ExtDeviceInt struct { MinWidthPerc int64 `json:"minwidthperc"` MinHeightPerc int64 `json:"minheightperc"` }
ExtDeviceInt defines the contract for bidrequest.device.ext.prebid.interstitial
func (*ExtDeviceInt) UnmarshalJSON ¶
func (edi *ExtDeviceInt) UnmarshalJSON(b []byte) error
type ExtDevicePrebid ¶
type ExtDevicePrebid struct {
Interstitial *ExtDeviceInt `json:"interstitial"`
}
ExtDevicePrebid defines the contract for bidrequest.device.ext.prebid
type ExtHttpCall ¶
type ExtHttpCall struct { Uri string `json:"uri"` RequestBody string `json:"requestbody"` RequestHeaders map[string][]string `json:"requestheaders"` ResponseBody string `json:"responsebody"` Status int `json:"status"` }
ExtHttpCall defines the contract for a bidresponse.ext.debug.httpcalls.{bidder}[i]
type ExtImp ¶ added in v0.251.0
type ExtImp struct {
Prebid *ImpExtPrebid `json:"prebid,omitempty"`
}
type ExtImp33across ¶
type ExtImp33across struct { SiteId string `json:"siteId"` ZoneId string `json:"zoneId,omitempty"` ProductId string `json:"productId,omitempty"` }
ExtImp33across defines the contract for bidrequest.imp[i].ext.prebid.bidder.33across
type ExtImpAMX ¶
type ExtImpAMX struct { TagID string `json:"tagId,omitempty"` AdUnitID string `json:"adUnitId,omitempty"` }
ExtImpAMX is the imp.ext format for the AMX bidder
type ExtImpAdOcean ¶
type ExtImpAdView ¶ added in v0.176.0
type ExtImpAdgeneration ¶
type ExtImpAdgeneration struct {
Id string `json:"id"`
}
type ExtImpAdhese ¶
type ExtImpAdhese struct { Account string `json:"account"` Location string `json:"location"` Format string `json:"format"` Keywords json.RawMessage `json:"targets,omitempty"` }
type ExtImpAdkernel ¶
type ExtImpAdkernel struct {
ZoneId int `json:"zoneId"`
}
ExtImpAdkernel defines the contract for bidrequest.imp[i].ext.prebid.bidder.adkernel
type ExtImpAdkernelAdn ¶
type ExtImpAdkernelAdn struct {
PublisherID int `json:"pubId"`
}
ExtImpAdkernelAdn defines the contract for bidrequest.imp[i].ext.prebid.bidder.adkernelAdn
type ExtImpAdman ¶
type ExtImpAdman struct {
TagID string `json:"TagID"`
}
ExtImpAdman defines adman specifiec param
type ExtImpAdmixer ¶
type ExtImpAdoppler ¶
type ExtImpAdot ¶
type ExtImpAdprime ¶
type ExtImpAdprime struct { TagID string `json:"TagID"` Keywords []string `json:"keywords"` Audiences []string `json:"audiences"` }
ExtImpAdprime defines adprime specifiec param
type ExtImpAdrino ¶ added in v0.221.0
type ExtImpAdrino struct {
Hash string `json:"hash"`
}
type ExtImpAdtarget ¶
type ExtImpAdtarget struct { SourceId int `json:"aid"` PlacementId int `json:"placementId,omitempty"` SiteId int `json:"siteId,omitempty"` BidFloor float64 `json:"bidFloor,omitempty"` }
ExtImpAdtarget defines the contract for bidrequest.imp[i].ext.prebid.bidder.adtarget
type ExtImpAdtelligent ¶
type ExtImpAdtelligent struct { SourceId int `json:"aid"` PlacementId int `json:"placementId,omitempty"` SiteId int `json:"siteId,omitempty"` BidFloor float64 `json:"bidFloor,omitempty"` }
ExtImpAdtelligent defines the contract for bidrequest.imp[i].ext.prebid.bidder.adtelligent
type ExtImpAdtrgtme ¶ added in v0.221.0
type ExtImpAdtrgtme struct {
SiteID uint64 `json:"site_id"`
}
ExtImpAdtrgtme defines the contract for bidrequest.imp[i].ext.prebid.bidder.adtrgtme
type ExtImpAdvangelists ¶
type ExtImpAdyoulike ¶
type ExtImpAdyoulike struct { // placementId, only mandatory field PlacementId string `json:"placement"` // Id of the forced campaign Campaign string `json:"campaign"` // Id of the forced track Track string `json:"track"` // Id of the forced creative Creative string `json:"creative"` // Context of the campaign values [SSP|AdServer] Source string `json:"source"` // Abitrary Id used for debug purpose Debug string `json:"debug"` }
ExtImpAdyoulike defines the contract for bidrequest.imp[i].ext.prebid.bidder.adyoulike
type ExtImpAlgorix ¶ added in v0.163.0
type ExtImpAlgorix struct { Sid string `json:"sid"` Token string `json:"token"` PlacementId string `json:"placementId"` AppId string `json:"appId"` Region string `json:"region"` }
ExtImpAlgoriX defines the contract for bidrequest.imp[i].ext.prebid.bidder.algorix
type ExtImpApacdex ¶ added in v0.188.0
type ExtImpApplogy ¶
type ExtImpApplogy struct {
Token string `json:"token"`
}
type ExtImpAppnexus ¶
type ExtImpAppnexus struct { DeprecatedPlacementId jsonutil.StringInt `json:"placementId"` LegacyInvCode string `json:"invCode"` LegacyTrafficSourceCode string `json:"trafficSourceCode"` PlacementId jsonutil.StringInt `json:"placement_id"` InvCode string `json:"inv_code"` Member string `json:"member"` Keywords ExtImpAppnexusKeywords `json:"keywords"` TrafficSourceCode string `json:"traffic_source_code"` Reserve float64 `json:"reserve"` Position string `json:"position"` UsePaymentRule *bool `json:"use_pmt_rule"` DeprecatedUsePaymentRule *bool `json:"use_payment_rule"` // At this time we do no processing on the private sizes, so just leaving it as a JSON blob. PrivateSizes json.RawMessage `json:"private_sizes"` AdPodId bool `json:"generate_ad_pod_id"` ExtInvCode string `json:"ext_inv_code"` ExternalImpId string `json:"external_imp_id"` }
ExtImpAppnexus defines the contract for bidrequest.imp[i].ext.prebid.bidder.appnexus
type ExtImpAppnexusKeywords ¶ added in v0.255.0
type ExtImpAppnexusKeywords string
func (*ExtImpAppnexusKeywords) String ¶ added in v0.255.0
func (ks *ExtImpAppnexusKeywords) String() string
func (*ExtImpAppnexusKeywords) UnmarshalJSON ¶ added in v0.255.0
func (ks *ExtImpAppnexusKeywords) UnmarshalJSON(b []byte) error
type ExtImpAvocet ¶
type ExtImpAvocet struct { Placement string `json:"placement,omitempty"` PlacementCode string `json:"placement_code,omitempty"` }
ExtImpAvocet defines the contract for bidrequest.imp[i].ext.prebid.bidder.avocet
type ExtImpAxonix ¶ added in v0.167.0
type ExtImpAxonix struct {
SupplyId string `json:"supplyId"`
}
type ExtImpBeachfront ¶
type ExtImpBeachfront struct { AppId string `json:"appId"` AppIds ExtImpBeachfrontAppIds `json:"appIds"` BidFloor float64 `json:"bidfloor"` VideoResponseType string `json:"videoResponseType,omitempty"` }
type ExtImpBeachfrontAppIds ¶
type ExtImpBeintoo ¶
type ExtImpBetween ¶
type ExtImpBidmachine ¶
type ExtImpBidsCube ¶
type ExtImpBidsCube struct {
PlacementID string `json:"placementId"`
}
type ExtImpBluesea ¶ added in v0.259.0
type ExtImpBrave ¶ added in v0.240.0
type ExtImpBrave struct {
PlacementID string `json:"placementId"`
}
type ExtImpBrightroll ¶
type ExtImpBrightroll struct {
Publisher string `json:"publisher"`
}
ExtImpBrightroll defines the contract for bidrequest.imp[i].ext.prebid.bidder.brightroll
type ExtImpCcx ¶ added in v0.233.0
type ExtImpCcx struct {
PlacementID string `json:"placementId"`
}
type ExtImpColossus ¶
type ExtImpColossus struct {
TagID string `json:"TagID"`
}
ExtImpColossus defines colossus specifiec param
type ExtImpConnectAd ¶
type ExtImpConsumable ¶
type ExtImpConsumable struct { NetworkId int `json:"networkId,omitempty"` SiteId int `json:"siteId,omitempty"` UnitId int `json:"unitId,omitempty"` /* UnitName gets used as a classname and in the URL when building the ad markup */ UnitName string `json:"unitName,omitempty"` }
ExtImpConsumable defines the contract for bidrequest.imp[i].ext.prebid.bidder.consumable
type ExtImpConversant ¶
type ExtImpConversant struct { SiteID string `json:"site_id"` Secure *int8 `json:"secure"` TagID string `json:"tag_id"` Position *int8 `json:"position"` BidFloor float64 `json:"bidfloor"` MIMEs []string `json:"mimes"` API []int8 `json:"api"` Protocols []int8 `json:"protocols"` MaxDuration *int64 `json:"maxduration"` }
type ExtImpCpmstar ¶
type ExtImpCriteo ¶
ExtImpCriteo defines the contract for bidrequest.imp[i].ext.prebid.bidder.criteo
type ExtImpData ¶ added in v0.251.0
type ExtImpData struct { PbAdslot string `json:"pbadslot,omitempty"` AdServer *ExtImpDataAdServer `json:"adserver,omitempty"` }
type ExtImpDataAdServer ¶ added in v0.251.0
type ExtImpDatablocks ¶
ExtImpDatablocks defines the contract for bidrequest.imp[i].ext.prebid.bidder.datablocks
type ExtImpDecenterAds ¶
type ExtImpDecenterAds struct {
PlacementID string `json:"placementId"`
}
type ExtImpDeepintent ¶
type ExtImpDeepintent struct {
TagID string `json:"tagId"`
}
type ExtImpDianomi ¶ added in v0.220.0
type ExtImpEPlanning ¶
type ExtImpEPlanning struct { ClientID string `json:"ci"` AdUnitCode string `json:"adunit_code"` SizeString string }
ExtImpEPlanning defines the contract for bidrequest.imp[i].ext.prebid.bidder.eplanning
type ExtImpEmxDigital ¶
type ExtImpEngageBDR ¶
type ExtImpEngageBDR struct {
Sspid string `json:"sspid"`
}
ExtImpEngageBDR defines the contract for bidrequest.imp[i].ext.prebid.bidder.engagebdr
type ExtImpExtraDataSmaato ¶ added in v0.257.0
type ExtImpExtraDataSmaato struct {
Skadn json.RawMessage `json:"skadn,omitempty"`
}
ExtImpExtraDataSmaato defines extra properties from imp[i].ext object
type ExtImpFacebook ¶
type ExtImpGamma ¶
type ExtImpGamma struct { PartnerID string `json:"id"` ZoneID string `json:"zid"` WebID string `json:"wid"` }
ExtImpGamma defines the contract for bidrequest.imp[i].ext.prebid.bidder.gamma
type ExtImpGamoshi ¶
type ExtImpGamoshi struct { SupplyPartnerId string `json:"supplyPartnerId"` FavoredMediaType string `json:"favoredMediaType"` }
ExtImpGamoshi defines the contract for bidrequest.imp[i].ext.prebid.bidder.gamoshi
type ExtImpGrid ¶
type ExtImpGrid struct { Uid int `json:"uid"` Keywords json.RawMessage `json:"keywords,omitempty"` }
ExtImpGrid defines the contract for bidrequest.imp[i].ext.prebid.bidder.grid
type ExtImpGumGum ¶
type ExtImpGumGum struct { Zone string `json:"zone,omitempty"` PubID float64 `json:"pubId,omitempty"` IrisID string `json:"irisid,omitempty"` Slot float64 `json:"slot,omitempty"` }
ExtImpGumGum defines the contract for bidrequest.imp[i].ext.prebid.bidder.gumgum Either Zone or PubId must be present, others are optional parameters
type ExtImpGumGumBanner ¶ added in v0.172.0
type ExtImpGumGumBanner struct { Si float64 `json:"si,omitempty"` MaxW float64 `json:"maxw,omitempty"` MaxH float64 `json:"maxh,omitempty"` }
ExtImpGumGumBanner defines the contract for bidresponse.seatbid.bid[i].ext.prebid.bidder.gumgum.banner
type ExtImpGumGumVideo ¶
type ExtImpGumGumVideo struct {
IrisID string `json:"irisid,omitempty"`
}
ExtImpGumGumVideo defines the contract for bidresponse.seatbid.bid[i].ext.prebid.bidder.gumgum.video
type ExtImpHuaweiAds ¶ added in v0.174.0
type ExtImpImds ¶ added in v0.239.0
ExtImpImds defines the contract for bidrequest.imp[i].ext.prebid.bidder.imds
type ExtImpImpactify ¶ added in v0.180.0
type ExtImpImpactify struct { AppID string `json:"appId"` Format string `json:"format"` Style string `json:"style"` }
ExtImpImpactify defines the contract for bidrequest.imp[i].ext.prebid.bidder.impactify
type ExtImpInMobi ¶
type ExtImpInMobi struct {
Plc string `json:"plc"`
}
type ExtImpInteractiveoffers ¶
type ExtImpInteractiveoffers struct {
PartnerId string `json:"partnerId"`
}
type ExtImpInvibes ¶
type ExtImpInvibes struct { PlacementID string `json:"placementId,omitempty"` DomainID int `json:"domainId"` Debug ExtImpInvibesDebug `json:"debug,omitempty"` }
type ExtImpInvibesDebug ¶
type ExtImpJixie ¶
type ExtImpKidoz ¶
type ExtImpKubient ¶
type ExtImpKubient struct {
ZoneID string `json:"zoneid"`
}
ExtImpKubient defines the contract for bidrequest.imp[i].ext.prebid.bidder.kubient
type ExtImpLockerDome ¶
type ExtImpLockerDome struct { // LockerDome params AdUnitId string `json:"adUnitId"` }
ExtImpLockerDome defines the contract for bidrequest.imp[i].ext.prebid.bidder.lockerdome
type ExtImpLogicad ¶
type ExtImpLogicad struct {
Tid string `json:"tid"`
}
type ExtImpLunaMedia ¶
type ExtImpMadvertise ¶
type ExtImpMadvertise struct {
ZoneID string `json:"zoneId"`
}
ExtImpMadvertise defines the contract for bidrequest.imp[i].ext.prebid.bidder.madvertise
type ExtImpMarsmedia ¶
ExtImpMarsmedia defines the contract for bidrequest.imp[i].ext.prebid.bidder.marsmedia
type ExtImpMedianet ¶ added in v0.195.0
type ExtImpMgid ¶
type ExtImpMgid struct { AccountId string `json:"accountId"` PlacementId string `json:"placementId,omitempty"` Cur string `json:"cur"` Currency string `json:"currency"` BidFloor float64 `json:"bidfloor"` BidFloor2 float64 `json:"bidFloor"` }
ExtImpMgid defines the contract for bidrequest.imp[i].ext.prebid.bidder.mgid
type ExtImpMobileFuse ¶
type ExtImpMobileFuse struct { PlacementId int `json:"placement_id"` PublisherId int `json:"pub_id"` TagidSrc string `json:"tagid_src"` }
ExtImpMobileFuse defines the contract for bidrequest.imp[i].ext.prebid.bidder.mobilefuse
type ExtImpNanoInteractive ¶
type ExtImpNanoInteractive struct { Pid string `json:"pid"` Nq []string `json:"nq,omitempty"` Category string `json:"category,omitempty"` SubId string `json:"subId,omitempty"` Ref string `json:"ref,omitempty"` }
ExtImpNanoInteractive defines the contract for bidrequest.imp[i].ext.prebid.bidder.nanointeractive
type ExtImpNinthDecimal ¶
type ExtImpNoBid ¶
type ExtImpOnetag ¶
type ExtImpOnetag struct { PubId string `json:"pubId"` Ext json.RawMessage `json:"ext"` }
type ExtImpOpenWeb ¶ added in v0.175.0
type ExtImpOpenWeb struct { SourceID int `json:"aid"` PlacementID int `json:"placementId,omitempty"` SiteID int `json:"siteId,omitempty"` BidFloor float64 `json:"bidFloor,omitempty"` }
ExtImpOpenWeb defines the contract for bidrequest.imp[i].ext.prebid.bidder.openweb
type ExtImpOpenx ¶
type ExtImpOpenx struct { Unit string `json:"unit"` Platform string `json:"platform"` DelDomain string `json:"delDomain"` CustomFloor float64 `json:"customFloor"` CustomParams map[string]interface{} `json:"customParams"` }
ExtImpOpenx defines the contract for bidrequest.imp[i].ext.prebid.bidder.openx
type ExtImpOrbidder ¶
type ExtImpOrbidder struct { AccountId string `json:"accountId"` PlacementId string `json:"placementId"` BidFloor float64 `json:"bidfloor"` }
ExtImpOrbidder defines the contract for bidrequest.imp[i].ext.prebid.bidder.openx
type ExtImpOutbrain ¶
type ExtImpOutbrain struct { Publisher ExtImpOutbrainPublisher `json:"publisher"` TagId string `json:"tagid"` BCat []string `json:"bcat"` BAdv []string `json:"badv"` }
ExtImpOutbrain defines the contract for bidrequest.imp[i].ext.prebid.bidder.outbrain
type ExtImpOutbrainPublisher ¶
type ExtImpPrebid ¶
type ExtImpPrebid struct { // StoredRequest specifies which stored impression to use, if any. StoredRequest *ExtStoredRequest `json:"storedrequest,omitempty"` // StoredResponse specifies which stored impression to use, if any. StoredAuctionResponse *ExtStoredAuctionResponse `json:"storedauctionresponse,omitempty"` // Stored bid response determines if imp has stored bid response for bidder StoredBidResponse []ExtStoredBidResponse `json:"storedbidresponse,omitempty"` // IsRewardedInventory is a signal intended for video impressions. Must be 0 or 1. IsRewardedInventory *int8 `json:"is_rewarded_inventory,omitempty"` // Bidder is the preferred approach for providing parameters to be interpreted by the bidder's adapter. Bidder map[string]json.RawMessage `json:"bidder,omitempty"` Options *Options `json:"options,omitempty"` Passthrough json.RawMessage `json:"passthrough,omitempty"` Floors *ExtImpPrebidFloors `json:"floors,omitempty"` }
ExtImpPrebid defines the contract for bidrequest.imp[i].ext.prebid
type ExtImpPrebidFloors ¶ added in v0.251.0
type ExtImpPubmatic ¶
type ExtImpPubmatic struct { PublisherId string `json:"publisherId"` AdSlot string `json:"adSlot"` Dctr string `json:"dctr"` PmZoneID string `json:"pmzoneid"` WrapExt json.RawMessage `json:"wrapper,omitempty"` Keywords []*ExtImpPubmaticKeyVal `json:"keywords,omitempty"` Kadfloor string `json:"kadfloor,omitempty"` }
type ExtImpPubmaticKeyVal ¶
type ExtImpPubmaticKeyVal struct { Key string `json:"key,omitempty"` Values []string `json:"value,omitempty"` }
ExtImpPubmaticKeyVal defines the contract for bidrequest.imp[i].ext.prebid.bidder.pubmatic.keywords[i]
type ExtImpPubnative ¶
type ExtImpPulsePoint ¶
type ExtImpPwbid ¶ added in v0.249.0
type ExtImpRhythmone ¶
type ExtImpRhythmone struct { PlacementId string `json:"placementId"` Zone string `json:"zone"` Path string `json:"path"` S2S bool }
ExtImpRhythmone defines the contract for bidrequest.imp[i].ext.prebid.bidder.rhythmone
type ExtImpRichaudience ¶ added in v0.182.0
type ExtImpRubicon ¶
type ExtImpRubicon struct { AccountId json.Number `json:"accountId"` SiteId json.Number `json:"siteId"` ZoneId json.Number `json:"zoneId"` Inventory json.RawMessage `json:"inventory,omitempty"` BidOnMultiformat bool `json:"bidonmultiformat,omitempty"` Keywords []string `json:"keywords,omitempty"` Visitor json.RawMessage `json:"visitor,omitempty"` Video rubiconVideoParams `json:"video"` Debug impExtRubiconDebug `json:"debug,omitempty"` PChain string `json:"pchain,omitempty"` }
ExtImpRubicon defines the contract for bidrequest.imp[i].ext.prebid.bidder.rubicon
type ExtImpSaLunamedia ¶ added in v0.166.0
type ExtImpSharethrough ¶
type ExtImpSharethrough struct {}
type ExtImpSmaato ¶
type ExtImpSmaato struct { PublisherID string `json:"publisherId"` AdSpaceID string `json:"adspaceId"` AdBreakID string `json:"adbreakId"` }
ExtImpSmaato defines the contract for bidrequest.imp[i].ext.prebid.bidder.smaato PublisherId and AdSpaceId are mandatory parameters for non adpod (long-form video) requests, others are optional parameters PublisherId and AdBreakId are mandatory parameters for adpod (long-form video) requests, others are optional parameters AdSpaceId is the identifier for specific ad placement or ad tag AdBreakId is the identifier for specific ad placement or ad tag
type ExtImpSmartRTB ¶
type ExtImpSmartadserver ¶
type ExtImpSmartadserver struct { SiteID int `json:"siteId"` PageID int `json:"pageId"` FormatID int `json:"formatId"` NetworkID int `json:"networkId"` }
ExtImpSmartadserver defines the contract for bidrequest.imp[i].ext.prebid.bidder.smartadserver
type ExtImpSonobi ¶
type ExtImpSonobi struct {
TagID string `json:"tagid"`
}
type ExtImpSovrn ¶
type ExtImpSspbc ¶ added in v0.219.0
type ExtImpStroeerCore ¶ added in v0.212.0
type ExtImpStroeerCore struct {
Sid string `json:"sid,omitempty"`
}
type ExtImpTappx ¶
type ExtImpTappx struct { Host string `json:"host,omitempty"` //DEPRECATED TappxKey string `json:"tappxkey"` Endpoint string `json:"endpoint"` BidFloor float64 `json:"bidfloor,omitempty"` Mktag string `json:"mktag,omitempty"` Bcid []string `json:"bcid,omitempty"` Bcrid []string `json:"bcrid,omitempty"` }
type ExtImpTelaria ¶
type ExtImpTelaria struct { AdCode string `json:"adCode,omitempty"` SeatCode string `json:"seatCode"` Extra json.RawMessage `json:"extra,omitempty"` }
type ExtImpTrafficGate ¶ added in v0.212.0
type ExtImpTriplelift ¶
type ExtImpTriplelift struct { InvCode string `json:"inventoryCode"` Floor *float64 `json:"floor"` }
ExtImpTriplelift defines the contract for bidrequest.imp[i].ext.prebid.bidder.triplelift
type ExtImpUcfunnel ¶
type ExtImpUcfunnel struct { AdUnitId string `json:"adunitid"` PartnerId string `json:"partnerid"` }
ExtImpUcfunnel defines the contract for bidrequest.imp[i].ext.prebid.bidder.ucfunnel
type ExtImpUndertone ¶ added in v0.244.0
type ExtImpUnicorn ¶
type ExtImpUnicorn struct { PlacementID string `json:"placementId,omitempty"` PublisherID string `json:"publisherId,omitempty"` MediaID string `json:"mediaId,omitempty"` AccountID int `json:"accountId,omitempty"` }
ExtImpUnicorn defines the contract for bidrequest.imp[i].ext.prebid.bidder.unicorn
type ExtImpUnruly ¶
type ExtImpVideoByte ¶ added in v0.184.0
type ExtImpVideoByte struct { PublisherId string `json:"pubId"` PlacementId string `json:"placementId"` NetworkId string `json:"nid"` }
ExtImpVideoByte defines the contract for bidrequest.imp[i].ext.prebid.bidder.videobyte
type ExtImpVideoHeroes ¶ added in v0.237.0
type ExtImpVideoHeroes struct {
PlacementID string `json:"placementId"`
}
type ExtImpVrtcal ¶
type ExtImpVrtcal struct {
Just_an_unused_vrtcal_param string `json:"Just_an_unused_vrtcal_param"`
}
ExtImpVrtcal defines the contract for bidrequest.imp[i].ext.prebid.bidder.vrtcal
type ExtImpYahooAdvertising ¶ added in v0.259.0
ExtImpYahooAdvertising defines the contract for bidrequest.imp[i].ext.prebid.bidder.yahooAdvertising
type ExtImpYahooSSP ¶ added in v0.178.0
ExtImpYahooSSP defines the contract for bidrequest.imp[i].ext.prebid.bidder.yahoossp
type ExtImpYeahmobi ¶
ExtImpYeahmobi defines the contract for bidrequest.imp[i].ext.prebid.bidder.yeahmobi
type ExtImpYieldlab ¶
type ExtImpYieldlab struct { AdslotID string `json:"adslotId"` SupplyID string `json:"supplyId"` Targeting map[string]string `json:"targeting"` ExtId string `json:"extId"` }
ExtImpYieldlab defines the contract for bidrequest.imp[i].ext.prebid.bidder.yieldlab
type ExtImpYieldmo ¶
type ExtImpYieldmo struct {
PlacementId string `json:"placementId"`
}
ExtImpYieldmo defines the contract for bidrequest.imp[i].ext.prebid.bidder.yieldmo
type ExtImpYieldone ¶
type ExtImpYieldone struct {
PlacementId string `json:"placementId"`
}
ExtImpYieldone defines the contract for bidrequest.imp[i].ext.prebid.bidder.yieldone
type ExtImpZeroClickFraud ¶
ExtImpZeroClickFraud defines the contract for bidrequest.imp[i].ext.prebid.bidder.datablocks
type ExtIncludeBrandCategory ¶
type ExtKrushmedia ¶
type ExtKrushmedia struct {
AccountID string `json:"key"`
}
ExtKrushmedia defines imp[0].ext object structure
type ExtMotorik ¶ added in v0.258.0
type ExtMultiBid ¶ added in v0.245.0
type ExtMultiBid struct { Bidder string `json:"bidder,omitempty"` Bidders []string `json:"bidders,omitempty"` MaxBids *int `json:"maxbids,omitempty"` TargetBidderCodePrefix string `json:"targetbiddercodeprefix,omitempty"` }
func ValidateAndBuildExtMultiBid ¶ added in v0.245.0
func ValidateAndBuildExtMultiBid(prebid *ExtRequestPrebid) ([]*ExtMultiBid, []error)
func (ExtMultiBid) String ¶ added in v0.245.0
func (m ExtMultiBid) String() string
type ExtPublisher ¶
type ExtPublisher struct {
Prebid *ExtPublisherPrebid `json:"prebid"`
}
ExtPublisher defines the contract for ...publisher.ext (found in both bidrequest.site and bidrequest.app)
type ExtPublisherPrebid ¶
type ExtPublisherPrebid struct { // parentAccount would define the legal entity (publisher owner or network) that has the direct relationship with the PBS // host. As such, the definition depends on the PBS hosting entity. ParentAccount *string `json:"parentAccount,omitempty"` }
ExtPublisherPrebid defines the contract for publisher.ext.prebid
type ExtRegs ¶
type ExtRegs struct { // GDPR should be "1" if the caller believes the user is subject to GDPR laws, "0" if not, and undefined // if it's unknown. For more info on this parameter, see: https://iabtechlab.com/wp-content/uploads/2018/02/OpenRTB_Advisory_GDPR_2018-02.pdf GDPR *int8 `json:"gdpr,omitempty"` // USPrivacy should be a four character string, see: https://iabtechlab.com/wp-content/uploads/2019/11/OpenRTB-Extension-U.S.-Privacy-IAB-Tech-Lab.pdf USPrivacy string `json:"us_privacy,omitempty"` }
ExtRegs defines the contract for bidrequest.regs.ext
type ExtRequest ¶
type ExtRequest struct { Prebid ExtRequestPrebid `json:"prebid"` SChain *openrtb2.SupplyChain `json:"schain,omitempty"` }
ExtRequest defines the contract for bidrequest.ext
type ExtRequestCurrency ¶ added in v0.163.0
type ExtRequestPrebid ¶
type ExtRequestPrebid struct { Aliases map[string]string `json:"aliases,omitempty"` AliasGVLIDs map[string]uint16 `json:"aliasgvlids,omitempty"` BidAdjustmentFactors map[string]float64 `json:"bidadjustmentfactors,omitempty"` BidderConfigs []BidderConfig `json:"bidderconfig,omitempty"` BidderParams json.RawMessage `json:"bidderparams,omitempty"` Cache *ExtRequestPrebidCache `json:"cache,omitempty"` Channel *ExtRequestPrebidChannel `json:"channel,omitempty"` CurrencyConversions *ExtRequestCurrency `json:"currency,omitempty"` Data *ExtRequestPrebidData `json:"data,omitempty"` Debug bool `json:"debug,omitempty"` Events json.RawMessage `json:"events,omitempty"` Experiment *Experiment `json:"experiment,omitempty"` Integration string `json:"integration,omitempty"` MultiBid []*ExtMultiBid `json:"multibid,omitempty"` Passthrough json.RawMessage `json:"passthrough,omitempty"` SChains []*ExtRequestPrebidSChain `json:"schains,omitempty"` Server *ExtRequestPrebidServer `json:"server,omitempty"` StoredRequest *ExtStoredRequest `json:"storedrequest,omitempty"` SupportDeals bool `json:"supportdeals,omitempty"` Targeting *ExtRequestTargeting `json:"targeting,omitempty"` // NoSale specifies bidders with whom the publisher has a legal relationship where the // passing of personally identifiable information doesn't constitute a sale per CCPA law. // The array may contain a single sstar ('*') entry to represent all bidders. NoSale []string `json:"nosale,omitempty"` //AlternateBidderCodes is populated with host's AlternateBidderCodes config if not defined in request AlternateBidderCodes *ExtAlternateBidderCodes `json:"alternatebiddercodes,omitempty"` Floors *PriceFloorRules `json:"floors,omitempty"` MultiBidMap map[string]ExtMultiBid `json:"-"` // Trace controls the level of detail in the output information returned from executing hooks. // There are two options: // - verbose: sets maximum level of output information // - basic: excludes debugmessages and analytic_tags from output // any other value or an empty string disables trace output at all. Trace string `json:"trace,omitempty"` // Macros specifies list of custom macros along with the values. This is used while forming // the tracker URLs, where PBS will replace the Custom Macro with its value with url-encoding Macros map[string]string `json:"macros,omitempty"` AdServerTargeting []AdServerTarget `json:"adservertargeting,omitempty"` BidAdjustments *ExtRequestPrebidBidAdjustments `json:"bidadjustments,omitempty"` // ReturnAllBidStatus if true populates bidresponse.ext.prebid.seatnonbid with all bids which was // either rejected, nobid, input error ReturnAllBidStatus bool `json:"returnallbidstatus,omitempty"` }
ExtRequestPrebid defines the contract for bidrequest.ext.prebid
func (*ExtRequestPrebid) Clone ¶ added in v0.254.0
func (erp *ExtRequestPrebid) Clone() *ExtRequestPrebid
type ExtRequestPrebidBidAdjustments ¶ added in v0.254.0
type ExtRequestPrebidBidAdjustments struct {
MediaType MediaType `json:"mediatype,omitempty"`
}
ExtRequestPrebidBidAdjustments defines the contract for bidrequest.ext.prebid.bidadjustments
type ExtRequestPrebidCache ¶
type ExtRequestPrebidCache struct { Bids *ExtRequestPrebidCacheBids `json:"bids,omitempty"` VastXML *ExtRequestPrebidCacheVAST `json:"vastxml,omitempty"` }
ExtRequestPrebidCache defines the contract for bidrequest.ext.prebid.cache
type ExtRequestPrebidCacheBids ¶
type ExtRequestPrebidCacheBids struct {
ReturnCreative *bool `json:"returnCreative,omitempty"`
}
ExtRequestPrebidCacheBids defines the contract for bidrequest.ext.prebid.cache.bids
type ExtRequestPrebidCacheVAST ¶
type ExtRequestPrebidCacheVAST struct {
ReturnCreative *bool `json:"returnCreative,omitempty"`
}
ExtRequestPrebidCacheVAST defines the contract for bidrequest.ext.prebid.cache.vastxml
type ExtRequestPrebidChannel ¶ added in v0.177.0
ExtRequestPrebidChannel defines the contract for bidrequest.ext.prebid.channel
type ExtRequestPrebidData ¶
type ExtRequestPrebidData struct { EidPermissions []ExtRequestPrebidDataEidPermission `json:"eidpermissions"` Bidders []string `json:"bidders,omitempty"` }
ExtRequestPrebidData defines Prebid's First Party Data (FPD) and related bid request options.
type ExtRequestPrebidDataEidPermission ¶
type ExtRequestPrebidDataEidPermission struct { Source string `json:"source"` Bidders []string `json:"bidders"` }
ExtRequestPrebidDataEidPermission defines a filter rule for filter user.ext.eids
type ExtRequestPrebidSChain ¶
type ExtRequestPrebidSChain struct { Bidders []string `json:"bidders,omitempty"` SChain openrtb2.SupplyChain `json:"schain"` }
ExtRequestPrebid defines the contract for bidrequest.ext.prebid.schains
type ExtRequestPrebidServer ¶ added in v0.229.0
type ExtRequestTargeting ¶
type ExtRequestTargeting struct { PriceGranularity *PriceGranularity `json:"pricegranularity,omitempty"` MediaTypePriceGranularity MediaTypePriceGranularity `json:"mediatypepricegranularity,omitempty"` IncludeWinners *bool `json:"includewinners,omitempty"` IncludeBidderKeys *bool `json:"includebidderkeys,omitempty"` IncludeBrandCategory *ExtIncludeBrandCategory `json:"includebrandcategory,omitempty"` IncludeFormat bool `json:"includeformat,omitempty"` DurationRangeSec []int `json:"durationrangesec,omitempty"` PreferDeals bool `json:"preferdeals,omitempty"` AppendBidderNames bool `json:"appendbiddernames,omitempty"` }
ExtRequestTargeting defines the contract for bidrequest.ext.prebid.targeting
type ExtResponseDebug ¶
type ExtResponseDebug struct { // HttpCalls defines the contract for bidresponse.ext.debug.httpcalls HttpCalls map[BidderName][]*ExtHttpCall `json:"httpcalls,omitempty"` // Request after resolution of stored requests and debug overrides ResolvedRequest json.RawMessage `json:"resolvedrequest,omitempty"` }
ExtResponseDebug defines the contract for bidresponse.ext.debug
type ExtResponseNonBidPrebid ¶ added in v0.259.0
type ExtResponseNonBidPrebid struct {
Bid NonBidObject `json:"bid"`
}
ExtResponseNonBidPrebid represents bidresponse.ext.prebid.seatnonbid[].nonbid[].ext
type ExtResponsePrebid ¶
type ExtResponsePrebid struct { AuctionTimestamp int64 `json:"auctiontimestamp,omitempty"` Passthrough json.RawMessage `json:"passthrough,omitempty"` Modules json.RawMessage `json:"modules,omitempty"` Fledge *Fledge `json:"fledge,omitempty"` Targeting map[string]string `json:"targeting,omitempty"` // SeatNonBid holds the array of Bids which are either rejected, no bids inside bidresponse.ext.prebid.seatnonbid SeatNonBid []SeatNonBid `json:"seatnonbid,omitempty"` }
ExtResponsePrebid defines the contract for bidresponse.ext.prebid
type ExtResponseSyncData ¶
type ExtResponseSyncData struct { Status CookieStatus `json:"status"` // Syncs must have length > 0 Syncs []*ExtUserSync `json:"syncs"` }
ExtResponseSyncData defines the contract for bidresponse.ext.usersync.{bidder}
type ExtSilverMob ¶
ExtSilverMob defines the contract for bidrequest.imp[i].ext.prebid.bidder.silvermob
type ExtSite ¶
type ExtSite struct { // AMP should be 1 if the request comes from an AMP page, and 0 if not. AMP int8 `json:"amp"` }
ExtSite defines the contract for bidrequest.site.ext
func (*ExtSite) UnmarshalJSON ¶
type ExtSmartHub ¶ added in v0.172.0
type ExtSmartyAds ¶
type ExtSmartyAds struct { AccountID string `json:"accountid"` SourceID string `json:"sourceid"` Host string `json:"host"` }
ExtSmartyAds defines the contract for bidrequest.imp[i].ext.prebid.bidder.smartyads
type ExtSource ¶ added in v0.190.0
type ExtSource struct {
SChain *openrtb2.SupplyChain `json:"schain"`
}
ExtSource defines the contract for bidrequest.source.ext
type ExtStoredAuctionResponse ¶ added in v0.199.0
type ExtStoredAuctionResponse struct {
ID string `json:"id"`
}
ExtStoredAuctionResponse defines the contract for bidrequest.imp[i].ext.prebid.storedauctionresponse
type ExtStoredBidResponse ¶ added in v0.208.0
type ExtStoredBidResponse struct { ID string `json:"id"` Bidder string `json:"bidder"` ReplaceImpId *bool `json:"replaceimpid"` }
ExtStoredBidResponse defines the contract for bidrequest.imp[i].ext.prebid.storedbidresponse
type ExtStoredRequest ¶
type ExtStoredRequest struct {
ID string `json:"id"`
}
ExtStoredRequest defines the contract for bidrequest.imp[i].ext.prebid.storedrequest
type ExtUser ¶
type ExtUser struct { // Consent is a GDPR consent string. See "Advised Extensions" of // https://iabtechlab.com/wp-content/uploads/2018/02/OpenRTB_Advisory_GDPR_2018-02.pdf Consent string `json:"consent,omitempty"` ConsentedProvidersSettings *ConsentedProvidersSettingsIn `json:"ConsentedProvidersSettings,omitempty"` ConsentedProvidersSettingsParsed *ConsentedProvidersSettingsOut `json:"consented_providers_settings,omitempty"` Prebid *ExtUserPrebid `json:"prebid,omitempty"` Eids []openrtb2.EID `json:"eids,omitempty"` }
ExtUser defines the contract for bidrequest.user.ext
type ExtUserDataDeviceIdHuaweiAds ¶ added in v0.174.0
type ExtUserDataHuaweiAds ¶ added in v0.174.0
type ExtUserDataHuaweiAds struct {
Data ExtUserDataDeviceIdHuaweiAds `json:"data,omitempty"`
}
type ExtUserPrebid ¶
ExtUserPrebid defines the contract for bidrequest.user.ext.prebid
type ExtUserSync ¶
type ExtUserSync struct { Url string `json:"url"` Type UserSyncType `json:"type"` }
ExtUserSync defines the contract for bidresponse.ext.usersync.{bidder}.syncs[i]
type ExtXeworks ¶ added in v0.257.0
type Fledge ¶ added in v0.239.0
type Fledge struct {
AuctionConfigs []*FledgeAuctionConfig `json:"auctionconfigs,omitempty"`
}
FledgeResponse defines the contract for bidresponse.ext.fledge
type FledgeAuctionConfig ¶ added in v0.239.0
type FledgeAuctionConfig struct { ImpId string `json:"impid"` Bidder string `json:"bidder,omitempty"` Adapter string `json:"adapter,omitempty"` Config json.RawMessage `json:"config"` }
FledgeAuctionConfig defines the container for bidresponse.ext.fledge.auctionconfigs[]
type GranularityRange ¶
type GranularityRange struct { Min float64 `json:"min"` Max float64 `json:"max"` Increment float64 `json:"increment"` }
GranularityRange struct defines a range of prices used by PriceGranularity
type IOSAppTrackingStatus ¶
type IOSAppTrackingStatus int
IOSAppTrackingStatus describes the values for iOS app tracking authorization status.
const ( IOSAppTrackingStatusNotDetermined IOSAppTrackingStatus = 0 IOSAppTrackingStatusRestricted IOSAppTrackingStatus = 1 IOSAppTrackingStatusDenied IOSAppTrackingStatus = 2 IOSAppTrackingStatusAuthorized IOSAppTrackingStatus = 3 )
Values of the IOSAppTrackingStatus enumeration.
func ParseDeviceExtATTS ¶
func ParseDeviceExtATTS(deviceExt json.RawMessage) (*IOSAppTrackingStatus, error)
ParseDeviceExtATTS parses the ATTS value from the request.device.ext OpenRTB field.
type ImpExt ¶ added in v0.228.0
type ImpExt struct {
// contains filtered or unexported fields
}
func CreateImpExtForTesting ¶ added in v0.228.0
func CreateImpExtForTesting(ext map[string]json.RawMessage, prebid *ExtImpPrebid) ImpExt
func (*ImpExt) GetData ¶ added in v0.251.0
func (e *ImpExt) GetData() *ExtImpData
func (*ImpExt) GetOrCreatePrebid ¶ added in v0.228.0
func (e *ImpExt) GetOrCreatePrebid() *ExtImpPrebid
func (*ImpExt) GetPrebid ¶ added in v0.228.0
func (e *ImpExt) GetPrebid() *ExtImpPrebid
func (*ImpExt) SetPrebid ¶ added in v0.228.0
func (e *ImpExt) SetPrebid(prebid *ExtImpPrebid)
type ImpExtAdnunitus ¶ added in v0.183.0
type ImpExtAdsinteractive ¶ added in v0.241.0
type ImpExtAdsinteractive struct {
AdUnit string `json:"adUnit"`
}
type ImpExtAppush ¶ added in v0.233.0
type ImpExtAxis ¶ added in v0.252.0
type ImpExtBeyondMedia ¶ added in v0.231.0
type ImpExtBeyondMedia struct {
PlacementID string `json:"placementId"`
}
type ImpExtBidstack ¶ added in v0.231.0
type ImpExtBidstack struct {
PublisherID string `json:"publisherId"`
}
type ImpExtBliink ¶ added in v0.238.0
type ImpExtBmtm ¶ added in v0.163.0
type ImpExtBmtm struct {
PlacementID int `json:"placement_id"`
}
type ImpExtBoldwin ¶ added in v0.222.0
type ImpExtCWire ¶ added in v0.239.0
type ImpExtCWire struct { PlacementID int `json:"placementId,omitempty"` PageID int `json:"pageId,omitempty"` CwCreative string `json:"cwcreative,omitempty"` CwDebug bool `json:"cwdebug,omitempty"` CwFeatures []string `json:"cwfeatures,omitempty"` }
ImpExtCwire defines the contract for MakeRequests `request.imp[i].ext.bidder`
type ImpExtCompass ¶ added in v0.188.0
type ImpExtDefinemedia ¶ added in v0.239.0
type ImpExtEmtv ¶ added in v0.255.0
type ImpExtEpom ¶
type ImpExtEpom struct { }
type ImpExtFRVRAdn ¶ added in v0.254.0
type ImpExtFlipp ¶ added in v0.256.0
type ImpExtFlipp struct { PublisherNameIdentifier string `json:"publisherNameIdentifier"` CreativeType string `json:"creativeType"` SiteID int64 `json:"siteId"` ZoneIds []int64 `json:"zoneIds,omitempty"` UserKey string `json:"userKey,omitempty"` IP string `json:"ip,omitempty"` Options ImpExtFlippOptions `json:"options,omitempty"` }
type ImpExtFlippOptions ¶ added in v0.256.0
type ImpExtFreewheelSSP ¶ added in v0.234.0
type ImpExtFreewheelSSP struct {
ZoneId int `json:"zoneId"`
}
type ImpExtGlobalsun ¶ added in v0.246.0
type ImpExtGlobalsun struct {
PlacementID string `json:"placementId"`
}
type ImpExtIQZone ¶ added in v0.173.0
type ImpExtInfytv ¶ added in v0.217.0
type ImpExtKargo ¶ added in v0.217.0
type ImpExtKiviads ¶ added in v0.241.0
type ImpExtLimelightDigital ¶ added in v0.245.0
type ImpExtLogan ¶ added in v0.242.0
type ImpExtLogan struct {
PlacementID string `json:"placementId"`
}
type ImpExtMgidX ¶ added in v0.259.0
type ImpExtNextMillennium ¶ added in v0.181.0
type ImpExtOperaads ¶ added in v0.169.0
type ImpExtPangle ¶
type ImpExtPrebid ¶ added in v0.251.0
type ImpExtPrebid struct {
Floors Price `json:"floors,omitempty"`
}
type ImpExtRise ¶ added in v0.259.0
type ImpExtRise struct {
PublisherID string `json:"publisher_id"`
}
ImpExtRise defines the contract for bidrequest.imp[i].ext.prebid.bidder.rise
type ImpExtSeedingAlliance ¶ added in v0.223.0
type ImpExtSeedingAlliance struct {
AdUnitID string `json:"adUnitID"`
}
type ImpExtSuntContent ¶ added in v0.233.0
type ImpExtSuntContent struct {
AdUnitID string `json:"adUnitID"`
}
type ImpExtTaboola ¶ added in v0.235.0
type ImpExtTaboola struct { PublisherId string `json:"publisherId"` PublisherDomain string `json:"publisherDomain"` BidFloor float64 `json:"bidfloor"` TagId string `json:"tagid"` TagID string `json:"tagId"` BCat []string `json:"bcat"` BAdv []string `json:"badv"` PageType string `json:"pageType"` Position *int `json:"position"` }
type ImpExtVidoomy ¶ added in v0.190.0
type ImpExtVidoomy struct {
ZoneID string `json:"zoneId"`
}
type ImpExtVisibleMeasures ¶ added in v0.244.0
type ImpFloorExt ¶ added in v0.251.0
type ImpWrapper ¶ added in v0.228.0
ImpWrapper wraps an OpenRTB impression object to provide storage for unmarshalled ext fields, so they will not need to be unmarshalled multiple times. It is intended to use the ImpWrapper via the RequestWrapper and follow the same usage conventions.
func (*ImpWrapper) Clone ¶ added in v0.254.0
func (w *ImpWrapper) Clone() *ImpWrapper
func (*ImpWrapper) GetImpExt ¶ added in v0.228.0
func (w *ImpWrapper) GetImpExt() (*ImpExt, error)
func (*ImpWrapper) RebuildImp ¶ added in v0.228.0
func (w *ImpWrapper) RebuildImp() error
type IncludeBrandCategory ¶
type IncludeBrandCategory struct { // Attribute: // primaryadserver // Type: // int; optional // The ad server used by the publisher. Supported Values 1- Freewheel , 2- DFP PrimaryAdserver int `json:"primaryadserver"` // Attribute: // publisher // Type: // string; optional // Identifier for the Publisher Publisher string `json:"publisher"` // Attribute: // translatecategories // Type: // *bool; optional // Description: // Indicates if IAB categories should be translated to adserver category TranslateCategories *bool `json:"translatecategories,omitempty"` }
type MediaType ¶ added in v0.254.0
type MediaType struct { Banner map[BidderName]AdjustmentsByDealID `json:"banner,omitempty"` VideoInstream map[BidderName]AdjustmentsByDealID `json:"video-instream,omitempty"` VideoOutstream map[BidderName]AdjustmentsByDealID `json:"video-outstream,omitempty"` Audio map[BidderName]AdjustmentsByDealID `json:"audio,omitempty"` Native map[BidderName]AdjustmentsByDealID `json:"native,omitempty"` WildCard map[BidderName]AdjustmentsByDealID `json:"*,omitempty"` }
MediaType defines contract for bidrequest.ext.prebid.bidadjustments.mediatype BidderName will map to a DealID that will map to a slice of bid adjustments
type MediaTypePriceGranularity ¶ added in v0.258.0
type MediaTypePriceGranularity struct { Banner *PriceGranularity `json:"banner,omitempty"` Video *PriceGranularity `json:"video,omitempty"` Native *PriceGranularity `json:"native,omitempty"` }
MediaTypePriceGranularity specify price granularity configuration at the bid type level
type NonBid ¶ added in v0.259.0
type NonBid struct { ImpId string `json:"impid"` StatusCode int `json:"statuscode"` Ext NonBidExt `json:"ext"` }
NonBid represnts the Non Bid Reason (statusCode) for given impression ID
type NonBidExt ¶ added in v0.259.0
type NonBidExt struct {
Prebid ExtResponseNonBidPrebid `json:"prebid"`
}
type NonBidObject ¶ added in v0.259.0
type NonBidObject struct { Price float64 `json:"price,omitempty"` ADomain []string `json:"adomain,omitempty"` CatTax adcom1.CategoryTaxonomy `json:"cattax,omitempty"` Cat []string `json:"cat,omitempty"` DealID string `json:"dealid,omitempty"` W int64 `json:"w,omitempty"` H int64 `json:"h,omitempty"` Dur int64 `json:"dur,omitempty"` MType openrtb2.MarkupType `json:"mtype,omitempty"` OriginalBidCPM float64 `json:"origbidcpm,omitempty"` OriginalBidCur string `json:"origbidcur,omitempty"` }
NonBidObject is subset of Bid object with exact json signature defined at https://github.com/prebid/openrtb/blob/v19.0.0/openrtb2/bid.go It also contains the custom fields
type ORTB2 ¶ added in v0.183.0
type ORTB2 struct { Site map[string]json.RawMessage `json:"site,omitempty"` App map[string]json.RawMessage `json:"app,omitempty"` User map[string]json.RawMessage `json:"user,omitempty"` }
type Options ¶ added in v0.175.0
type Options struct {
EchoVideoAttrs bool `json:"echovideoattrs"`
}
type Pod ¶
type Pod struct { // Attribute: // podid // Type: // integer; required // Unique id of the pod within a particular request. PodId int `json:"podid"` // Attribute: // adpoddurationsec // Type: // integer; required // Duration of the adPod AdPodDurationSec int `json:"adpoddurationsec"` // Attribute: // configid // Type: // string; required // ID of the stored config that corresponds to a single pod request ConfigId string `json:"configid"` }
type PodConfig ¶
type PodConfig struct { // Attribute: // durationrangesec // Type: // int array, required // Description: // Range of ad durations allowed in the response DurationRangeSec []int `json:"durationrangesec"` // Attribute: // requireexactduration // Type: // boolean, optional // Flag indicating exact ad duration requirement. Default is false. RequireExactDuration bool `json:"requireexactduration,omitempty"` // Attribute: // pods // Type: // object; required // Container object for describing the adPod(s) to be requested. Pods []Pod `json:"pods"` }
type PriceFloorData ¶ added in v0.251.0
type PriceFloorData struct { Currency string `json:"currency,omitempty"` SkipRate int `json:"skiprate,omitempty"` FloorsSchemaVersion string `json:"floorsschemaversion,omitempty"` ModelTimestamp int `json:"modeltimestamp,omitempty"` ModelGroups []PriceFloorModelGroup `json:"modelgroups,omitempty"` FloorProvider string `json:"floorprovider,omitempty"` }
type PriceFloorEndpoint ¶ added in v0.251.0
type PriceFloorEndpoint struct {
URL string `json:"url,omitempty"`
}
type PriceFloorEnforcement ¶ added in v0.251.0
type PriceFloorModelGroup ¶ added in v0.251.0
type PriceFloorModelGroup struct { Currency string `json:"currency,omitempty"` ModelWeight *int `json:"modelweight,omitempty"` ModelVersion string `json:"modelversion,omitempty"` SkipRate int `json:"skiprate,omitempty"` Schema PriceFloorSchema `json:"schema,omitempty"` Values map[string]float64 `json:"values,omitempty"` Default float64 `json:"default,omitempty"` }
func (PriceFloorModelGroup) Copy ¶ added in v0.251.0
func (mg PriceFloorModelGroup) Copy() PriceFloorModelGroup
type PriceFloorRules ¶ added in v0.251.0
type PriceFloorRules struct { FloorMin float64 `json:"floormin,omitempty"` FloorMinCur string `json:"floormincur,omitempty"` SkipRate int `json:"skiprate,omitempty"` Location *PriceFloorEndpoint `json:"floorendpoint,omitempty"` Data *PriceFloorData `json:"data,omitempty"` Enforcement *PriceFloorEnforcement `json:"enforcement,omitempty"` Enabled *bool `json:"enabled,omitempty"` Skipped *bool `json:"skipped,omitempty"` FloorProvider string `json:"floorprovider,omitempty"` FetchStatus string `json:"fetchstatus,omitempty"` PriceFloorLocation string `json:"location,omitempty"` }
PriceFloorRules defines the contract for bidrequest.ext.prebid.floors
func (*PriceFloorRules) GetEnabled ¶ added in v0.251.0
func (Floors *PriceFloorRules) GetEnabled() bool
GetEnabled will check if floors is enabled in request
func (*PriceFloorRules) GetEnforceDealsFlag ¶ added in v0.256.0
func (Floors *PriceFloorRules) GetEnforceDealsFlag() bool
GetEnforceDealsFlag will return FloorDeals flag in request
func (*PriceFloorRules) GetEnforcePBS ¶ added in v0.256.0
func (Floors *PriceFloorRules) GetEnforcePBS() bool
GetEnforcePBS will check if floors enforcement is enabled in request
func (*PriceFloorRules) GetEnforceRate ¶ added in v0.256.0
func (Floors *PriceFloorRules) GetEnforceRate() int
GetEnforceRate will return enforcement rate in request
func (*PriceFloorRules) GetFloorsSkippedFlag ¶ added in v0.256.0
func (Floors *PriceFloorRules) GetFloorsSkippedFlag() bool
GetFloorsSkippedFlag will return floors skipped flag
type PriceFloorSchema ¶ added in v0.251.0
type PriceGranularity ¶
type PriceGranularity struct { Precision *int `json:"precision,omitempty"` Ranges []GranularityRange `json:"ranges,omitempty"` }
PriceGranularity defines the allowed values for bidrequest.ext.prebid.targeting.pricegranularity or bidrequest.ext.prebid.targeting.mediatypepricegranularity.banner|video|native
func NewPriceGranularityDefault ¶ added in v0.243.0
func NewPriceGranularityDefault() PriceGranularity
func NewPriceGranularityFromLegacyID ¶ added in v0.243.0
func NewPriceGranularityFromLegacyID(v string) (PriceGranularity, bool)
NewPriceGranularityFromLegacyID converts a legacy string into the new PriceGranularity structure.
func (*PriceGranularity) UnmarshalJSON ¶
func (pg *PriceGranularity) UnmarshalJSON(b []byte) error
type PriceGranularityRaw ¶
type PriceGranularityRaw PriceGranularity
type RegExt ¶ added in v0.169.0
type RegExt struct {
// contains filtered or unexported fields
}
func (*RegExt) GetUSPrivacy ¶ added in v0.169.0
func (*RegExt) SetUSPrivacy ¶ added in v0.169.0
type RequestExt ¶ added in v0.169.0
type RequestExt struct {
// contains filtered or unexported fields
}
func (*RequestExt) Clone ¶ added in v0.254.0
func (re *RequestExt) Clone() *RequestExt
func (*RequestExt) Dirty ¶ added in v0.169.0
func (re *RequestExt) Dirty() bool
func (*RequestExt) GetExt ¶ added in v0.169.0
func (re *RequestExt) GetExt() map[string]json.RawMessage
func (*RequestExt) GetPrebid ¶ added in v0.169.0
func (re *RequestExt) GetPrebid() *ExtRequestPrebid
func (*RequestExt) GetSChain ¶ added in v0.190.0
func (re *RequestExt) GetSChain() *openrtb2.SupplyChain
These schain methods on the request.ext are only for ORTB 2.4 backwards compatibility and should not be used for any other purposes. To access ORTB 2.5 schains, see source.ext.schain or request.ext.prebid.schains.
func (*RequestExt) SetExt ¶ added in v0.169.0
func (re *RequestExt) SetExt(ext map[string]json.RawMessage)
func (*RequestExt) SetPrebid ¶ added in v0.169.0
func (re *RequestExt) SetPrebid(prebid *ExtRequestPrebid)
func (*RequestExt) SetSChain ¶ added in v0.190.0
func (re *RequestExt) SetSChain(schain *openrtb2.SupplyChain)
type RequestWrapper ¶ added in v0.169.0
type RequestWrapper struct { *openrtb2.BidRequest // contains filtered or unexported fields }
RequestWrapper wraps the OpenRTB request to provide a storage location for unmarshalled ext fields, so they will not need to be unmarshalled multiple times.
To start with, the wrapper can be created for a request 'req' via: reqWrapper := openrtb_ext.RequestWrapper{BidRequest: req}
In order to access an object's ext field, fetch it via: userExt, err := reqWrapper.GetUserExt() or other Get method as appropriate.
To read or write values, use the Ext objects Get and Set methods. If you need to write to a field that has its own Set method, use that to set the value rather than using SetExt() with that change done in the map; when rewritting the ext JSON the code will overwrite the the values in the map with the values stored in the seperate fields.
userPrebid := userExt.GetPrebid() userExt.SetConsent(consentString)
The GetExt() and SetExt() should only be used to access fields that have not already been resolved in the object. Using SetExt() at all is a strong hint that the ext object should be extended to support the new fields being set in the map.
NOTE: The RequestWrapper methods (particularly the ones calling (un)Marshal are not thread safe)
func (*RequestWrapper) Clone ¶ added in v0.254.0
func (rw *RequestWrapper) Clone() *RequestWrapper
func (*RequestWrapper) GetAppExt ¶ added in v0.169.0
func (rw *RequestWrapper) GetAppExt() (*AppExt, error)
func (*RequestWrapper) GetDeviceExt ¶ added in v0.169.0
func (rw *RequestWrapper) GetDeviceExt() (*DeviceExt, error)
func (*RequestWrapper) GetImp ¶ added in v0.228.0
func (rw *RequestWrapper) GetImp() []*ImpWrapper
func (*RequestWrapper) GetRegExt ¶ added in v0.169.0
func (rw *RequestWrapper) GetRegExt() (*RegExt, error)
func (*RequestWrapper) GetRequestExt ¶ added in v0.169.0
func (rw *RequestWrapper) GetRequestExt() (*RequestExt, error)
func (*RequestWrapper) GetSiteExt ¶ added in v0.169.0
func (rw *RequestWrapper) GetSiteExt() (*SiteExt, error)
func (*RequestWrapper) GetSourceExt ¶ added in v0.190.0
func (rw *RequestWrapper) GetSourceExt() (*SourceExt, error)
func (*RequestWrapper) GetUserExt ¶ added in v0.169.0
func (rw *RequestWrapper) GetUserExt() (*UserExt, error)
func (*RequestWrapper) LenImp ¶ added in v0.228.0
func (rw *RequestWrapper) LenImp() int
LenImp returns the number of impressions without causing the creation of ImpWrapper objects.
func (*RequestWrapper) RebuildRequest ¶ added in v0.169.0
func (rw *RequestWrapper) RebuildRequest() error
func (*RequestWrapper) SetImp ¶ added in v0.228.0
func (rw *RequestWrapper) SetImp(imps []*ImpWrapper)
type SeatNonBid ¶ added in v0.259.0
type SeatNonBid struct { NonBid []NonBid `json:"nonbid"` Seat string `json:"seat"` Ext json.RawMessage `json:"ext"` }
SeatNonBid is collection of NonBid objects with seat information
type SourceExt ¶
type SourceExt struct {
// contains filtered or unexported fields
}
func (*SourceExt) GetExt ¶ added in v0.190.0
func (se *SourceExt) GetExt() map[string]json.RawMessage
func (*SourceExt) GetSChain ¶ added in v0.190.0
func (se *SourceExt) GetSChain() *openrtb2.SupplyChain
func (*SourceExt) SetExt ¶ added in v0.190.0
func (se *SourceExt) SetExt(ext map[string]json.RawMessage)
func (*SourceExt) SetSChain ¶ added in v0.190.0
func (se *SourceExt) SetSChain(schain *openrtb2.SupplyChain)
type TargetingKey ¶
type TargetingKey string
TargetingKeys are used throughout Prebid as keys which can be used in an ad server like DFP. Clients set the values we assign on the request to the ad server, where they can be substituted like macros into Creatives.
Removing one of these, or changing the semantics of what we store there, will probably break the line item setups for many publishers.
These are especially important to Prebid Mobile. It's much more cumbersome for a Mobile App to update code than it is for a website. As a result, they rely heavily on these targeting keys so that any changes can be made on Prebid Server and the Ad Server's line items.
func (TargetingKey) BidderKey ¶
func (key TargetingKey) BidderKey(bidder BidderName, maxLength int) string
func (TargetingKey) TruncateKey ¶ added in v0.206.0
func (key TargetingKey) TruncateKey(maxLength int) string
type UserExt ¶ added in v0.169.0
type UserExt struct {
// contains filtered or unexported fields
}
func (*UserExt) GetConsent ¶ added in v0.169.0
func (*UserExt) GetConsentedProvidersSettingsIn ¶ added in v0.231.0
func (ue *UserExt) GetConsentedProvidersSettingsIn() *ConsentedProvidersSettingsIn
GetConsentedProvidersSettingsIn() returns a reference to a copy of ConsentedProvidersSettingsIn, a struct that has a string field formatted as a Google's Additional Consent string
func (*UserExt) GetConsentedProvidersSettingsOut ¶ added in v0.231.0
func (ue *UserExt) GetConsentedProvidersSettingsOut() *ConsentedProvidersSettingsOut
GetConsentedProvidersSettingsOut() returns a reference to a copy of ConsentedProvidersSettingsOut, a struct that has an int array field listing Google's Additional Consent string elements
func (*UserExt) GetPrebid ¶ added in v0.169.0
func (ue *UserExt) GetPrebid() *ExtUserPrebid
func (*UserExt) SetConsent ¶ added in v0.169.0
func (*UserExt) SetConsentedProvidersSettingsIn ¶ added in v0.231.0
func (ue *UserExt) SetConsentedProvidersSettingsIn(cpSettings *ConsentedProvidersSettingsIn)
SetConsentedProvidersSettingsIn() sets ConsentedProvidersSettingsIn, a struct that has a string field formatted as a Google's Additional Consent string
func (*UserExt) SetConsentedProvidersSettingsOut ¶ added in v0.231.0
func (ue *UserExt) SetConsentedProvidersSettingsOut(cpSettings *ConsentedProvidersSettingsOut)
SetConsentedProvidersSettingsIn() sets ConsentedProvidersSettingsOut, a struct that has an int array field listing Google's Additional Consent string elements. This function overrides an existing ConsentedProvidersSettingsOut object, if any
func (*UserExt) SetExt ¶ added in v0.169.0
func (ue *UserExt) SetExt(ext map[string]json.RawMessage)
func (*UserExt) SetPrebid ¶ added in v0.169.0
func (ue *UserExt) SetPrebid(prebid *ExtUserPrebid)
type UserSyncType ¶
type UserSyncType string
UserSyncType describes the allowed values for bidresponse.ext.usersync.{bidder}.syncs[i].type
const ( UserSyncIframe UserSyncType = "iframe" UserSyncPixel UserSyncType = "pixel" )
Source Files ¶
- alternatebiddercodes.go
- app.go
- bid.go
- bid_request_video.go
- bid_response_video.go
- bidders.go
- convert_down.go
- convert_up.go
- deal_tier.go
- device.go
- doc.go
- floors.go
- imp.go
- imp_33across.go
- imp_aax.go
- imp_aceex.go
- imp_acuityads.go
- imp_adf.go
- imp_adgeneration.go
- imp_adhese.go
- imp_adkernel.go
- imp_adkernelAdn.go
- imp_adman.go
- imp_admixer.go
- imp_adnuntius.go
- imp_adocean.go
- imp_adoppler.go
- imp_adot.go
- imp_adpone.go
- imp_adprime.go
- imp_adrino.go
- imp_adsinteractive.go
- imp_adtarget.go
- imp_adtelligent.go
- imp_adtrgtme.go
- imp_advangelists.go
- imp_adview.go
- imp_adyoulike.go
- imp_aja.go
- imp_algorix.go
- imp_amx.go
- imp_apacdex.go
- imp_applogy.go
- imp_appnexus.go
- imp_appush.go
- imp_avocet.go
- imp_axis.go
- imp_axonix.go
- imp_beachfront.go
- imp_beintoo.go
- imp_between.go
- imp_beyondmedia.go
- imp_bidmachine.go
- imp_bidscube.go
- imp_bidstack.go
- imp_bizzclick.go
- imp_bliink.go
- imp_bluesea.go
- imp_bmtm.go
- imp_boldwin.go
- imp_brave.go
- imp_brightroll.go
- imp_ccx.go
- imp_colossus.go
- imp_compass.go
- imp_connectad.go
- imp_consumable.go
- imp_conversant.go
- imp_cpmstar.go
- imp_criteo.go
- imp_cwire.go
- imp_datablocks.go
- imp_decenterads.go
- imp_deepintent.go
- imp_definemedia.go
- imp_dianomi.go
- imp_emtv.go
- imp_emx_digital.go
- imp_engagebdr.go
- imp_eplanning.go
- imp_epom.go
- imp_facebook.go
- imp_flipp.go
- imp_freewheelssp.go
- imp_frvradn.go
- imp_gamma.go
- imp_gamoshi.go
- imp_globalsun.go
- imp_grid.go
- imp_gumgum.go
- imp_huaweiads.go
- imp_imds.go
- imp_impactify.go
- imp_infytv.go
- imp_inmobi.go
- imp_interactiveoffers.go
- imp_invibes.go
- imp_iqzone.go
- imp_ix.go
- imp_jixie.go
- imp_kargo.go
- imp_kayzen.go
- imp_kidoz.go
- imp_kiviads.go
- imp_krushmedia.go
- imp_kubient.go
- imp_limelightDigital.go
- imp_lockerdome.go
- imp_logan.go
- imp_logicad.go
- imp_lunamedia.go
- imp_madvertise.go
- imp_marsmedia.go
- imp_medianet.go
- imp_mgid.go
- imp_mgidX.go
- imp_mobilefuse.go
- imp_motorik.go
- imp_nanointeractive.go
- imp_nextmillennium.go
- imp_ninthdecimal.go
- imp_nobid.go
- imp_onetag.go
- imp_openweb.go
- imp_openx.go
- imp_operaads.go
- imp_orbidder.go
- imp_outbrain.go
- imp_pangle.go
- imp_pubmatic.go
- imp_pubnative.go
- imp_pulsepoint.go
- imp_pwbid.go
- imp_rhythmone.go
- imp_richaudience.go
- imp_rise.go
- imp_rubicon.go
- imp_sa_lunamedia.go
- imp_seedingAlliance.go
- imp_sharethrough.go
- imp_silvermob.go
- imp_smaato.go
- imp_smartadserver.go
- imp_smarthub.go
- imp_smartrtb.go
- imp_smartyads.go
- imp_sonobi.go
- imp_sovrn.go
- imp_sspbc.go
- imp_stroeercore.go
- imp_suntContent.go
- imp_taboola.go
- imp_tappx.go
- imp_telaria.go
- imp_trafficgate.go
- imp_triplelift.go
- imp_ucfunnel.go
- imp_undertone.go
- imp_unicorn.go
- imp_unruly.go
- imp_videobyte.go
- imp_videoheroes.go
- imp_vidoomy.go
- imp_visiblemeasures.go
- imp_vrtcal.go
- imp_xeworks.go
- imp_yahooAdvertising.go
- imp_yahoossp.go
- imp_yeahmobi.go
- imp_yieldlab.go
- imp_yieldmo.go
- imp_yieldone.go
- imp_zeroclickfraud.go
- multibid.go
- publisher.go
- regs.go
- request.go
- request_wrapper.go
- response.go
- site.go
- source.go
- supplyChain.go
- user.go