Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions adcom1/category_taxonomy.go
Original file line number Diff line number Diff line change
Expand Up @@ -14,4 +14,6 @@ const (
CatTaxIABContent21 CategoryTaxonomy = 5 // IAB Tech Lab Content Category Taxonomy 2.1.
CatTaxIABContent22 CategoryTaxonomy = 6 // IAB Tech Lab Content Category Taxonomy 2.2.
CatTaxIABContent30 CategoryTaxonomy = 7 // IAB Tech Lab Content Category Taxonomy 3.0.
CatTaxIABProduct20 CategoryTaxonomy = 8 // IAB Tech Lab Ad Product Taxonomy 2.0.
CatTaxIABContent31 CategoryTaxonomy = 9 // IAB Tech Lab Content Taxonomy 3.1.
)
46 changes: 43 additions & 3 deletions adcom1/content.go
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ type Content struct {
// Type:
// string
// Definition:
// ID uniquely identifying the content.
// Publisher-provided ID uniquely identifying the content.
ID string `json:"id,omitempty"`

// Attribute:
Expand Down Expand Up @@ -61,11 +61,29 @@ type Content struct {
// Attribute:
// genre
// Type:
// string
// string; DEPRECATED
// Definition:
// Genre that best describes the content (e.g., rock, pop, etc).
// NOTE: this field is deprecated, use 'genres' instead.
Genre string `json:"genre,omitempty"`

// Attribute:
// genres
// Type:
// string array
// Definition:
// Array of genre IDs that describe the content using IDs from the taxonomy indicated in gtax.
Genres []string `json:"genres,omitempty"`

// Attribute:
// gtax
// Type:
// integer; default 9
// Definition:
// The taxonomy in use for the genres attribute.
// Refer to List: Category Taxonomies.
GTax CategoryTaxonomy `json:"gtax,omitempty"`

// Attribute:
// album
// Type:
Expand Down Expand Up @@ -173,7 +191,9 @@ type Content struct {
// Type:
// integer
// Definition:
// Indication of live content, where 0 = not live, 1 = live (e.g., stream, live blog).
// An enumeration indicating the method of broadcast of the content where:
// 0 = the broadcast is not scheduled (e.g. it is VOD or otherwise user initiated).
// 1 = the broadcast is scheduled (also referred to as linear viewing).
Live int8 `json:"live,omitempty"`

// Attribute:
Expand Down Expand Up @@ -245,6 +265,26 @@ type Content struct {
// Refer to Object: Data.
Data []Data `json:"data,omitempty"`

// Attribute:
// realtime
// Type:
// integer
// Definition:
// An enumeration indicating if the event is happening in real time while it is being watched where:
// 0 = not happening in real time (e.g., a replay).
// 1 = yes, happening in real time (e.g., a live sports game).
Realtime int8 `json:"realtime,omitempty"`

// Attribute:
// firstbroadcast
// Type:
// integer
// Definition:
// An enumeration indicating whether this broadcast is the first time the content is available to an audience where:
// 0 = not first time being broadcast
// 1 = first time being broadcast
FirstBroadcast int8 `json:"firstbroadcast,omitempty"`

// Attribute:
// ext
// Type:
Expand Down
10 changes: 10 additions & 0 deletions adcom1/data.go
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,16 @@ type Data struct {
// Vendor-specific displayable name for the data provider.
Name string `json:"name,omitempty"`

// Attribute:
// cids
// Type:
// string array
// Definition:
// An array of Extended Content IDs, representing one or more identifiers
// for the video or audio content from the ID source specified in the name
// field of the data object.
CIDs []string `json:"cids,omitempty"`

// Attribute:
// segment
// Type:
Expand Down
4 changes: 1 addition & 3 deletions openrtb2/audio.go
Original file line number Diff line number Diff line change
Expand Up @@ -116,9 +116,7 @@ type Audio struct {
// Type:
// integer; default 0; DEPRECATED
// Description:
// If multiple ad impressions are offered in the same bid request,
// the sequence number will allow for the coordinated delivery
// of multiple creatives.
// Deprecated as of OpenRTB 2.6. Use slotinpod.
Sequence int64 `json:"sequence,omitempty"`

// Attribute:
Expand Down
4 changes: 1 addition & 3 deletions openrtb2/bid.go
Original file line number Diff line number Diff line change
Expand Up @@ -215,9 +215,7 @@ type Bid struct {
// Type:
// integer; DEPRECATED
// Description:
// NOTE: Deprecated in favor of the apis integer array.
// API required by the markup if applicable. Refer to List: API
// Frameworks in AdCOM 1.0.
// NOTE: Deprecated in favor of apis.
// Note:
// OpenRTB <=2.5 defined only frameworks 1..6.
API adcom1.APIFramework `json:"api,omitempty"`
Expand Down
54 changes: 52 additions & 2 deletions openrtb2/content.go
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ type Content struct {
// Type:
// string
// Description:
// ID uniquely identifying the content.
// Publisher-provided ID uniquely identifying the content.
ID string `json:"id,omitempty"`

// Attribute:
Expand Down Expand Up @@ -77,6 +77,29 @@ type Content struct {
// Genre that best describes the content (e.g., rock, pop, etc).
Genre string `json:"genre,omitempty"`

// Attribute:
// gtax
// Type:
// integer; default 9
// Description:
// The taxonomy in use. Refer to the AdCOM list List: Category
// Taxonomies for values. If no gtax field is supplied, Content
// Category Taxonomy 3.1 is assumed.
GTax adcom1.CategoryTaxonomy `json:"gtax,omitempty"`

// Attribute:
// genres
// Type:
// string array
// Description:
// Unique ID(s) for the genre of the content as listed in the
// taxonomy defined by the gtax field. If no gtax field is
// supplied, subset of rows listed in CTV Genre Mapping of
// Content Category Taxonomy 3.1 are assumed.
// See Section 7.13 in Implementation Guidance for additional
// detail.
Genres []string `json:"genres,omitempty"`

// Attribute:
// album
// Type:
Expand Down Expand Up @@ -204,7 +227,12 @@ type Content struct {
// Type:
// integer
// Description:
// 0 = not live, 1 = content is live (e.g., stream, live blog).
// An enumeration indicating the method of broadcast of the
// content where:
// 0 = the broadcast is not scheduled (e.g. it is VOD or otherwise
// user initiated).
// 1 = the broadcast is scheduled (also referred to as linear
// viewing).
LiveStream *int8 `json:"livestream,omitempty"`

// Attribute:
Expand Down Expand Up @@ -275,6 +303,28 @@ type Content struct {
// Details about the channel (Section 3.2.24) the content is on.
Channel *Channel `json:"channel,omitempty"`

// Attribute:
// realtime
// Type:
// integer
// Description:
// An enumeration indicating if the event is happening in real
// time while it is being watched where:
// 0 = not happening in real time (e.g., a replay).
// 1 = yes, happening in real time (e.g., a live sports game).
Realtime *int8 `json:"realtime,omitempty"`

// Attribute:
// firstbroadcast
// Type:
// integer
// Description:
// An enumeration indicating whether this broadcast is the first
// time the content is available to an audience where:
// 0 = not first time being broadcast
// 1 = first time being broadcast
FirstBroadcast *int8 `json:"firstbroadcast,omitempty"`

// Attribute:
// ext
// Type:
Expand Down
10 changes: 10 additions & 0 deletions openrtb2/data.go
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,16 @@ type Data struct {
// Exchange-specific name for the data provider.
Name string `json:"name,omitempty"`

// Attribute:
// cids
// Type:
// string array
// Description:
// An array of Extended Content IDs, representing one or more
// identifiers for the video or audio content from the ID source
// specified in the name field of the data object.
CIDs []string `json:"cids,omitempty"`

// Attribute:
// segment
// Type:
Expand Down
12 changes: 6 additions & 6 deletions openrtb2/device.go
Original file line number Diff line number Diff line change
Expand Up @@ -277,47 +277,47 @@ type Device struct {
// Type:
// string; DEPRECATED
// Description:
// Hardware device ID (e.g., IMEI); hashed via SHA1.
// Deprecated as of OpenRTB 2.6.
DIDSHA1 string `json:"didsha1,omitempty"`

// Attribute:
// didmd5
// Type:
// string; DEPRECATED
// Description:
// Hardware device ID (e.g., IMEI); hashed via MD5.
// Deprecated as of OpenRTB 2.6.
DIDMD5 string `json:"didmd5,omitempty"`

// Attribute:
// dpidsha1
// Type:
// string; DEPRECATED
// Description:
// Platform device ID (e.g., Android ID); hashed via SHA1.
// Deprecated as of OpenRTB 2.6.
DPIDSHA1 string `json:"dpidsha1,omitempty"`

// Attribute:
// dpidmd5
// Type:
// string; DEPRECATED
// Description:
// Platform device ID (e.g., Android ID); hashed via MD5.
// Deprecated as of OpenRTB 2.6.
DPIDMD5 string `json:"dpidmd5,omitempty"`

// Attribute:
// macsha1
// Type:
// string; DEPRECATED
// Description:
// MAC address of the device; hashed via SHA1.
// Deprecated as of OpenRTB 2.6.
MACSHA1 string `json:"macsha1,omitempty"`

// Attribute:
// macmd5
// Type:
// string; DEPRECATED
// Description:
// MAC address of the device; hashed via MD5.
// Deprecated as of OpenRTB 2.6.
MACMD5 string `json:"macmd5,omitempty"`

// Attribute:
Expand Down
5 changes: 2 additions & 3 deletions openrtb2/user.go
Original file line number Diff line number Diff line change
Expand Up @@ -36,16 +36,15 @@ type User struct {
// Type:
// integer; DEPRECATED
// Description:
// Year of birth as a 4-digit integer.
// Deprecated as of OpenRTB 2.6.
Yob int64 `json:"yob,omitempty"`

// Attribute:
// gender
// Type:
// string; DEPRECATED
// Description:
// Gender, where “M” = male, “F” = female, “O” = known to be
// other (i.e., omitted is unknown).
// Deprecated as of OpenRTB 2.6.
Gender string `json:"gender,omitempty"`

// Attribute:
Expand Down
7 changes: 2 additions & 5 deletions openrtb2/video.go
Original file line number Diff line number Diff line change
Expand Up @@ -162,8 +162,7 @@ type Video struct {
// Type:
// integer; DEPRECATED
// Description:
// Video placement type for the impression. Refer to List:
// Placement Subtypes - Video in AdCOM 1.0.
// Deprecated as of OpenRTB 2.6-202303. Use plcmt instead.
Placement adcom1.VideoPlacementSubtype `json:"placement,omitempty"`

// Attribute:
Expand Down Expand Up @@ -222,9 +221,7 @@ type Video struct {
// Type:
// integer; default 0; DEPRECATED
// Description:
// If multiple ad impressions are offered in the same bid request,
// the sequence number will allow for the coordinated delivery
// of multiple creatives.
// Deprecated as of OpenRTB 2.6. Use slotinpod.
Sequence int8 `json:"sequence,omitempty"`

// Attribute:
Expand Down