@@ -72,6 +72,54 @@ type Request struct {
7272 Ext Extensions
7373}
7474
75+ // ID and at least one “seatbid” object is required, which contains a bid on at least one impression.
76+ // Other attributes are optional since an exchange may establish default values.
77+ // No-Bids on all impressions should be indicated as a HTTP 204 response.
78+ // For no-bids on specific impressions, the bidder should omit these from the bid response.
79+ type Response struct {
80+ Id * string `json:"id"` // Reflection of the bid request ID for logging purposes
81+ Seatbid []Seatbid `json:"seatbid"` // Array of seatbid objects
82+ Bidid * string `json:"bidid,omitempty"` // Optional response tracking ID for bidders
83+ Cur * string `json:"cur,omitempty"` // Bid currency
84+ Customdata * string `json:"customdata,omitempty"` // Encoded user features
85+ Ext Extensions `json:"ext,omitempty"` // Custom specifications in Json
86+ }
87+
88+ // At least one of Bid is required.
89+ // A bid response can contain multiple “seatbid” objects, each on behalf of a different bidder seat.
90+ // Seatbid object can contain multiple bids each pertaining to a different impression on behalf of a seat.
91+ // Each “bid” object must include the impression ID to which it pertains as well as the bid price.
92+ // Group attribute can be used to specify if a seat is willing to accept any impressions that it can win (default) or if it is
93+ // only interested in winning any if it can win them all (i.e., all or nothing).
94+ type Seatbid struct {
95+ Bid []Bid `json:"id"` // Array of bid objects; each realtes to an imp, if exchange supported can have many bid objects.
96+ Seat * string `json:"seat,omiempty"` // ID of the bidder seat optional string ID of the bidder seat on whose behalf this bid is made.
97+ Group * int `json:"group,omiempty"` // '1' means impression must be won-lost as a group; default is '0'.
98+ Ext Extensions `json:"ext,omiempty"`
99+ }
100+
101+ // ID, Impid and Price are required; all other optional.
102+ // If the bidder wins the impression, the exchange calls notice URL (nurl)
103+ // a) to inform the bidder of the win;
104+ // b) to convey certain information using substitution macros.
105+ // Adomain can be used to check advertiser block list compliance.
106+ // Cid can be used to block ads that were previously identified as inappropriate.
107+ // Substitution macros may allow a bidder to use a static notice URL for all of its bids.
108+ type Bid struct {
109+ Id * string `json:"id"`
110+ Impid * string `json:"impid"` // Required string ID of the impression object to which this bid applies.
111+ Price * float32 `json:"price"` // Bid price in CPM. Suggests using integer math for accounting to avoid rounding errors.
112+ Adid * string `json:"adid,omitempty"` // References the ad to be served if the bid wins.
113+ Nurl * string `json:"nurl,omitempty"` // Win notice URL.
114+ Adm * string `json:"adm,omitempty"` // Actual ad markup. XHTML if a response to a banner object, or VAST XML if a response to a video object.
115+ Adomain []string `json:"adomain,omitempty"` // Advertiser’s primary or top-level domain for advertiser checking; or multiple if imp rotating.
116+ Iurl * string `json:"iurl,omitempty"` // Sample image URL.
117+ Cid * string `json:"cid,omitempty"` // Campaign ID that appears with the Ad markup.
118+ Crid * string `json:"crid,omitempty"` // Creative ID for reporting content issues or defects. This could also be used as a reference to a creative ID that is posted with an exchange.
119+ Attr []int `json:"attr,omitempty"` // Array of creative attributes.
120+ Ext Extensions `json:"ext,omitempty"`
121+ }
122+
75123// The "imp" object describes the ad position or impression being auctioned. A single bid request
76124// can include multiple "imp" objects, a use case for which might be an exchange that supports
77125// selling all ad positions on a given page as a bundle. Each "imp" object has a required ID so that
0 commit comments