github.com/prebid/prebid-server/v2@v2.18.0/openrtb_ext/bid_request_video.go (about)

     1  package openrtb_ext
     2  
     3  import "github.com/prebid/openrtb/v20/openrtb2"
     4  
     5  type BidRequestVideo struct {
     6  	// Attribute:
     7  	//   storedrequestid
     8  	// Type:
     9  	//   string; required
    10  	// Description:
    11  	//   Unique ID of the stored request
    12  	StoredRequestId string `json:"storedrequestid"`
    13  
    14  	// Attribute:
    15  	//   podconfig
    16  	// Type:
    17  	//   object; required
    18  	// Description:
    19  	//   Container object for describing all the pod configurations
    20  	PodConfig PodConfig `json:"podconfig"`
    21  
    22  	// Attribute:
    23  	//   app
    24  	// Type:
    25  	//   object; App or Site required
    26  	// Description:
    27  	//   Application where the impression will be shown
    28  	App *openrtb2.App `json:"app"`
    29  
    30  	// Attribute:
    31  	//   site
    32  	// Type:
    33  	//   object; App or Site required
    34  	// Description:
    35  	//   Site where the impression will be shown
    36  	Site *openrtb2.Site `json:"site"`
    37  
    38  	// Attribute:
    39  	//   user
    40  	// Type:
    41  	//   object; optional
    42  	// Description:
    43  	//   Container object for the user of of the actual device
    44  	User *openrtb2.User `json:"user,omitempty"`
    45  
    46  	// Attribute:
    47  	//   device
    48  	// Type:
    49  	//   object; optional
    50  	// Description:
    51  	//   Device specific data
    52  	Device openrtb2.Device `json:"device,omitempty"`
    53  
    54  	// Attribute:
    55  	//   includebrandcategory
    56  	// Type:
    57  	//   object; optional
    58  	// Description:
    59  	//   Indicates that the response requires an adserver specific content category
    60  	IncludeBrandCategory *IncludeBrandCategory `json:"includebrandcategory,omitempty"`
    61  
    62  	// Attribute:
    63  	//   video
    64  	// Type:
    65  	//   object; required
    66  	// Description:
    67  	//   Player container object
    68  	Video *openrtb2.Video `json:"video,omitempty"`
    69  
    70  	// Attribute:
    71  	//   content
    72  	// Type:
    73  	//   object; optional
    74  	// Description:
    75  	//  Misc content meta data that can be used for targeting the adPod(s)
    76  	Content openrtb2.Content `json:"content,omitempty"`
    77  
    78  	// Attribute:
    79  	//   cacheconfig
    80  	// Type:
    81  	//   object; optional
    82  	// Description:
    83  	//  Container object for all Prebid Cache configs
    84  	Cacheconfig Cacheconfig `json:"cacheconfig,omitempty"`
    85  
    86  	// Attribute:
    87  	//   test
    88  	// Type:
    89  	//   integer; default 0
    90  	// Description:
    91  	//    Indicator of test mode in which auctions are not billable,
    92  	//    where 0 = live mode, 1 = test mode.
    93  	Test int8 `json:"test,omitempty"`
    94  
    95  	// Attribute:
    96  	//   pricegranularity
    97  	// Type:
    98  	//   object; optional
    99  	// Description:
   100  	//    Object to tell ad server how much money the “bidder” demand is worth to you
   101  	PriceGranularity *PriceGranularity `json:"pricegranularity,omitempty"`
   102  
   103  	// Attribute:
   104  	//   tmax
   105  	// Type:
   106  	//   integer
   107  	// Description:
   108  	//    Maximum time in milliseconds the exchange allows for bids to
   109  	//    be received including Internet latency to avoid timeout. This
   110  	//    value supersedes any a priori guidance from the exchange.
   111  	TMax int64 `json:"tmax,omitempty"`
   112  
   113  	// Attribute:
   114  	//   bcat
   115  	// Type:
   116  	//   string array
   117  	// Description:
   118  	//   Blocked advertiser categories using the IAB content
   119  	//   categories. Refer to List 5.1.
   120  	BCat []string `json:"bcat,omitempty"`
   121  
   122  	// Attribute:
   123  	//   badv
   124  	// Type:
   125  	//   string array
   126  	// Description:
   127  	//   Block list of advertisers by their domains (e.g., “ford.com”).
   128  	BAdv []string `json:"badv,omitempty"`
   129  
   130  	// Attribute:
   131  	//   regs
   132  	// Type:
   133  	//   object; optional
   134  	// Description:
   135  	//   Contains the OpenRTB Regs object to be passed to OpenRTB request
   136  	Regs *openrtb2.Regs `json:"regs,omitempty"`
   137  
   138  	// Attribute:
   139  	//   supportdeals
   140  	// Type:
   141  	//   bool; optional
   142  	// Description:
   143  	//   Indicates that the response should update key to include prefix and tier
   144  	SupportDeals bool `json:"supportdeals,omitempty"`
   145  
   146  	// Attribute:
   147  	//   appendbiddernames
   148  	// Type:
   149  	//   boolean, optional
   150  	//  Flag indicating if the bidder name will be added to the hb_pb_cat_dur. Default is false.
   151  	AppendBidderNames bool `json:"appendbiddernames,omitempty"`
   152  }
   153  
   154  type PodConfig struct {
   155  	// Attribute:
   156  	//   durationrangesec
   157  	// Type:
   158  	//  int array, required
   159  	// Description:
   160  	//  Range of ad durations allowed in the response
   161  	DurationRangeSec []int `json:"durationrangesec"`
   162  
   163  	// Attribute:
   164  	//   requireexactduration
   165  	// Type:
   166  	//   boolean, optional
   167  	//  Flag indicating exact ad duration requirement. Default is false.
   168  	RequireExactDuration bool `json:"requireexactduration,omitempty"`
   169  
   170  	// Attribute:
   171  	//   pods
   172  	// Type:
   173  	//   object; required
   174  	//  Container object for describing the adPod(s) to be requested.
   175  	Pods []Pod `json:"pods"`
   176  }
   177  
   178  type Pod struct {
   179  	// Attribute:
   180  	//   podid
   181  	// Type:
   182  	//   integer; required
   183  	//  Unique id of the pod within a particular request.
   184  	PodId int `json:"podid"`
   185  
   186  	// Attribute:
   187  	//   adpoddurationsec
   188  	// Type:
   189  	//   integer; required
   190  	//  Duration of the adPod
   191  	AdPodDurationSec int `json:"adpoddurationsec"`
   192  
   193  	// Attribute:
   194  	//   configid
   195  	// Type:
   196  	//   string; required
   197  	//  ID of the stored config that corresponds to a single pod request
   198  	ConfigId string `json:"configid"`
   199  }
   200  
   201  type IncludeBrandCategory struct {
   202  	// Attribute:
   203  	//   primaryadserver
   204  	// Type:
   205  	//   int; optional
   206  	//  The ad server used by the publisher. Supported Values 1- Freewheel , 2- DFP
   207  	PrimaryAdserver int `json:"primaryadserver"`
   208  
   209  	// Attribute:
   210  	//   publisher
   211  	// Type:
   212  	//   string; optional
   213  	//  Identifier for the Publisher
   214  	Publisher string `json:"publisher"`
   215  
   216  	// Attribute:
   217  	//   translatecategories
   218  	// Type:
   219  	//   *bool; optional
   220  	// Description:
   221  	//   Indicates if IAB categories should be translated to adserver category
   222  	TranslateCategories *bool `json:"translatecategories,omitempty"`
   223  }
   224  
   225  type Cacheconfig struct {
   226  	// Attribute:
   227  	//   ttl
   228  	// Type:
   229  	//   int; optional
   230  	//  Time to Live for a cache entry specified in seconds
   231  	Ttl int `json:"ttl"`
   232  }