Salesforce

OpenRTB API for suppliers — Bid request specification — Part 1

« Go Back
Information
OpenRTB API for suppliers — Bid request specification — Part 1
OpenRTB-API-for-suppliers-Bid-request-specification-Part-1
Details

Overview

Equativ provides an OpenRTB API for suppliers which is able to receive OpenRTB bid requests. Equativ then runs an auction for each request so Equativ’s demand partners can bid on the opportunity. This guide contains the bid request specification (part 1).

Related articles


BidRequest object

OpenRTB fieldData typeNecessityDescription
idSTRINGREQUIREDThe unique ID of the bid request, provided by the exchange. A new ID is always generated before Equativ sends the bid request to its bidders.
impOBJECT ARRAY   REQUIREDAn array of impression objects. At least one impression object is required for a valid bid request. For more details, read sections "Multi-impression-type bid requests" and "Multi-imp-object bid requests" in the OpenRTB API for suppliers — Getting started article.
appOBJECT  SEE DESCRIPTION  An object to be included if the ad-supported content is part of a mobile application (as opposed to a mobile website). A bid request can contain either an app object, a site object or a dooh object.
The app object itself and all of its parameters are optional, so default values are not provided.
If an optional parameter is not specified, it will be considered unknown.
Providing an App ID or Bundle ID is strongly recommended.
siteOBJECTSEE DESCRIPTION  An object to be included if the ad-supported content is part of a website (as opposed to an application).
A bid request can contain either an app object, a site object or a dooh object.
doohOBJECTSEE DESCRIPTIONAn object to be included if the ad-supported content is digital out-of-home. A bid request can contain either an app object, a site object or a dooh object.
deviceOBJECTREQUIREDAn object containing device information, such as hardware, platform, location, carrier etc.
userOBJECTREQUIREDAn object containing information known or derived from the human user of the device.
tmaxINTEGEROPTIONALThe maximum amount of time in milliseconds to submit a bid. For example, 120 means the bidder has 120 ms to submit a bid before the auction is complete. If this value never changes across an exchange, then the exchange can supply this information offline.
The tmax value sent to Equativ's bidders is always lower to allow for sufficient time when processing the bid responses.
curSTRING[]OPTIONALAn array of allowed currencies for bids on the given bid request, using ISO-4217 alpha codes.
Default: USD.
Equativ will convert the bidPrice of its bid response to cur[0] (or the following if the first one is unknown).
sourceOBJECTSEE DESCRIPTION  An object describing the nature and behavior of the entity that is the source of the bid request, upstream from the exchange (see OpenRTB SupplyChain object). See description of child fields which may imply that this object is required.
regsOBJECTSEE DESCRIPTIONAn object specifying any industry, legal, or governmental regulations in force for the given bid request. See description of child fields which may imply that this object is required.
extDICTIONARYOPTIONALA placeholder for exchange specific extensions to OpenRTB. Contains bid_feedback information used for optimization of the bidding strategy towards DSPs.
bcatSTRING ARRAYOPTIONALBlocked advertiser categories using the specified category taxonomy.
The taxonomy to be used is defined by the cattax field. If no cattax field is supplied IAB Content Taxonomy 1.0 is assumed. Only one of acat or bcat should be present.
cattaxINTEGEROPTIONALdefault:1; The taxonomy in use for bcat. Refer to the AdCOM 1.0 list List: Category Taxonomies for values.
badvSTRING ARRAYOPTIONALBlock list of advertisers by their domains (e.g., “ford.com").

Imp object

For more details on how the Equativ SSP processes the imp object, read sections "Multi-impression-type bid requests" and "Multi-imp-object bid requests" in the OpenRTB API for suppliers — Getting started article.
 

OpenRTB fieldData typeNecessityDescription
bannerOBJECTSEE DESCRIPTIONA reference to a banner object.
Either a bannervideo or audio object must be included in an imp object. 
videoOBJECTSEE DESCRIPTIONA reference to a video object.
Either a bannervideo or audio object must be included in an imp object. 
audioOBJECTSEE DESCRIPTIONA reference to an audio object. The audio object will be converted into a video object (with audio mime types) if Equativ’s demand partner receiving the bidRequest is not capable of reading an audio object.
tagidSTRINGREQUIREDA global placement ID unique to a specific ad placement or ad tag that was used to initiate the auction.
bidfloorFLOATREQUIREDThe bid floor for this impression (as a CPM in bid floor currency).
bidfloorcurSTRINGOPTIONALThe currency to be specified using ISO-4217 alpha codes, if bidfloor is specified and multiple currencies are supported per bid request. Equativ converts the currency to the currency of the requested DSP (default: USD).
instlINTEGEROPTIONALA field indicating if the ad is an interstitial or a full screen ad:
  • 1 - the ad is an interstitial or a full screen ad
  • 0 - the ad is neither an interstitial nor a full screen ad
secureINTEGEROPTIONALA field indicating if the impression requires secure (HTTPS) URLs for creative assets and markup.
  • 1 - the impression requires secure assets
  • 0 - the impression does not require secure assets
If this field is omitted, the secure state is considered as being unknown and HTTP support is assumed.
rwddINTEGEROPTIONALA field indicating whether the user receives a reward for viewing the ad, where:
  • 1 - the user receives a reward
  • 0 - the user does not receive a reward
If omitted, non-rewarded is assumed.
A reward could be a news article for free, receiving an extra life in a game, or getting a sponsored ad-free music session.
Rewards are usually distributed after the video ad is completed.
dtFLOATOPTIONALA timestamp in Unix format (i.e. milliseconds since the epoch) when the item is estimated to be fulfilled – e.g. when a digital out-of-home (DOOH) impression will be displayed. 
qtyOBJECTOPTIONALA reference to the qty object.
extOBJECTOPTIONALA placeholder for exchange-specific extensions to OpenRTB.

Imp[].ext object

OpenRTB fieldData typeNecessityDescription
bidderOBJECTOPTIONALOptional bidder extensions. See Inventory mapping sample for further details and examples. See "Inventory mapping sample" here.

Imp[].ext.bidder object

Note that the entire extension is optional and may be omitted. See "Inventory mapping sample" here.
OpenRTB fieldData typeNecessityDescription
siteIdINTEGEROPTIONALThe Equativ site ID to link to the corresponding placement object defined in Equativ’s platform for inventory syncing. Any combination of one or more of the fields siteId / pageId / formatId is accepted.
pageIdINTEGEROPTIONALThe Equativ page ID to link to the corresponding placement object defined in Equativ’s platform for inventory syncing. Any combination of one or more of the fields siteId / pageId / formatId is accepted.
formatIdINTEGEROPTIONALThe Equativ format ID to link to the corresponding placement object defined in Equativ’s platform for inventory syncing. Any combination of one or more of the fields siteId / pageId / formatId is accepted.

App object

OpenRTB field________________Data typeNecessityDescription
nameSTRINGOPTIONALThe application name; can be masked upon request.
bundleSTRINGREQUIREDThe application bundle or package name (for example, com.foo.mygame), intended to be a unique ID across multiple exchanges.
storeurlSTRINGOPTIONALThe App store URL for iOS Applications.
publisherOBJECTOPTIONALAn object describing the publisher of the app in which the ad will be displayed. The publisher object itself and all of its parameters are optional, so default values are not provided. If a parameter is not specified, it will be considered as unknown.
keywordsSTRINGOPTIONALA list of semicolon-separated strings of keywords describing this site; e.g.: keywords: 'content=cook;content=sports;type=news',
Use case: You can use keywords to declare custom segments and target SSP delivery rules to keywords; this way, you can trigger a delivery rule only if a specific keyword is sent via the site.keywords or app.keywords objects of the bid request.
inventorypartnerdomainSTRINGOPTIONALA pointer to the domain of the partner (of the site/app owner) with ownership of some portion of ad inventory on the site/app. The partner’s ads.txt or app-ads.txt file will be hosted here.

When a site or an app contains ad inventory that is owned by another partner, the app or site should list all domains for those partners via this directive.

Site object

OpenRTB field________________Data typeNecessityDescription
domainSTRINGREQUIREDThe domain of the site, used for advertiser side blocking, e. g.: foo.com.
pageSTRINGREQUIREDThe URL of the page where the impression will be shown.
keywordsSTRINGOPTIONALA semicolon-separated string of keywords describing this site.
e.g.: keywords: 'content=cook;content=sports;type=news',
Use case: You can use keywords to declare custom segments and target SSP delivery rules to keywords; this way, you can trigger a delivery rule only if a specific keyword is sent via the site.keywords or app.keywords objects of the bid request.
publisherOBJECTOPTIONALAn object describing the publisher of the site in which the ad will be displayed. The publisher object itself and all of its parameters are optional, so default values are not provided. If a parameter is not specified, it will be considered as unknown.
contentOBJECTOPTIONAL  An object describing the content in which the impression will appear.
inventorypartnerdomainSTRINGOPTIONALA pointer to the domain of the partner (of the site/app owner) with ownership of some portion of ad inventory on the site/app. The partner’s ads.txt or app-ads.txt file will be hosted here.

When a site or an app contains ad inventory that is owned by another partner, the app or site should list all domains for those partners via this directive.
ext.ampINTEGEROPTIONAL  A field indicating if the request comes from AMP inventory or not.
  • 1 - the request comes from AMP inventory
  • 0 - the request does not come from AMP inventory
If not defined it is considered as 0 (not AMP).
Example:
"site": {
"page": "mypage.com",
"ext": {
  "amp": 1|0
}
},

 

DOOH object

The DOOH object contains fields for digital out-of-home advertising. A bid request can contain either an app object, a site object or a dooh object.

Open RTB fieldData TypeNecessityDescription
idSTRINGOPTIONALAn exchange provided id for a placement or logical grouping of placements.
nameSTRINGOPTIONALName of the digital out-of-home placement.
venuetypeINT ARRAYOPTIONALThe type of digital out-of-home venue. The taxonomy to be used is defined by the venuetax field. If no venuetax field is supplied, the OpenOOH Venue Taxonomy is assumed.
venuetypetaxINTEGER; always 1OPTIONALThe venue taxonomy in use.
1OpenOOH - Digital Out-of-Home Screen Venue Types 1.0.x
2 – DPAA Device Venue (See AdCom), deprecated
3DMI Categorization of Venues 1.1
4OMA taxonomy
publisherOBJECTOPTIONALThe details about the publisher of the placement.
domainSTRINGREQUIREDThe domain of the inventory owner (ads.txt) (e.g.: “Foo.com ”)
keywordsSTRINGOPTIONALA comma separated list of keywords about the DOOH placement.
contentOBJECTOPTIONALThe content metadata within the DOOH placement.
extOBJECTOPTIONALA placeholder for exchange-specific extensions to OpenRTB.

Publisher.ext object

Open RTB fieldData TypeNecessityDescription
directpayBOOLEANOPTIONALA boolean indicating if the bid request comes from a Google Open Bidding publisher using Google OB's direct pay feature. For more information, see Google Open Bidding (Google OB): Direct pay.
The directpay field can be sent only once per bid request in one of the following objects:
  • for web requests: site.publisher.ext
  • for app requests: app.publisher.ext
  • for dooh requests: dooh.publisher.ext

Device object

OpenRTB fieldData typeNecessityDescription
dntINTEGEROPTIONALA field indicating if the “Do not track” browser setting is enabled or not.
  • 1 - Do not track is enabled
  • 0 - Do not track is not enabled
ua STRINGOPTIONALThe browser’s user agent string. See also IAB’s OTT/CTV User Agent Preliminary Guidelines
ipSTRINGOPTIONALThe IPv4 address closest to the device.
geoOBJECTRECOMMENDED  The geolocation as derived from the device’s location services (cell tower triangulation, GPS etc.), if the IP address is not supplied (see "Geo object" here).
dpidsha1STRINGOPTIONALA SHA1 hashed, platform-specific ID; e. g. Android ID or UDID for iOS. OpenRTB’s preferred device ID hash function is SHA1.
dpidmd5STRINGOPTIONALA MD5 hashed, platform-specific ID; e. g. Android ID or UDID for iOS; interpreted as case insensitive.
makeSTRINGOPTIONALThe device make (e.g.: Apple).
modelSTRINGOPTIONALThe device model (e.g.: iPhone).
osSTRINGOPTIONALThe device operating system (e.g.: iOS).
osvSTRINGOPTIONALThe device operating system version (e.g.: 3.1.2).
connectiontypeSTRINGOPTIONALThe detected data connection type for the device.
devicetypeSTRING ARRAYOPTIONALThe device type being used. Digital out-of-home devices must be identified per type 8 - "OOH Device"
languageSTRINGOPTIONALThe browser language, using alpha-2/ISO 639-1 codes.
ppiINTEGEROPTIONALThe pixels per inch. Screen dimensions in inches can be calculated using ppi, w and h.
ifaSTRINGOPTIONALA native, opaque identifier assigned by the device or browser to be used for advertising purposes; e.g.: Apple's IFA, Android's Advertising ID, etc.
ext.ifa_typeSTRINGOPTIONAL

The types of IFA are Device, Publisher (including apps), SSP and Session. The following are recommended values for the ifa_type parameter:

  • dpid: The generic “device provided id”, but based on historical usage, common device type specific values can be used.
  • rida: Roku id
  • aaid : Android id
  • idfa : Apple id
  • afai : Amazon Fire id
  • msai : Microsoft id
  • ppid : publisher provided id
  • sspid : SSP provided id
  • sessionid : session id / synthetic id
  • Note - Case-insensitive processing is recommended since some platforms may be using upper case values for backwards compatibility.

Qty object

OpenRTB fieldData typeNecessityDescription
multiplierFLOATREQUIREDThe quantity of billable events which will be deemed to have occurred if this item is purchased. For example, a DOOH opportunity may be considered to be 14.2 impressions. Equivalent to qtyflt in OpenRTB 3.0.
In other words: the estimated quantity of viewers for the given slot.
sourcetypeINTEGEROPTIONALThe source type of the quantity measurement.
0 – Unknown (default)
1 – Measurement Vendor Provided
2 – Publisher Provided
3 – Exchange Provided
vendorSTRINGREQUIRED (if sourcetype is present and set to 1 )The top level business domain name of the measurement vendor providing the quantity measurement.
extOBJECTOPTIONALA placeholder for vendor specific extensions to this object.

User object 

OpenRTB fieldData typeNecessityDescription
buyeruidSTRINGREQUIREDThe buyer’s user ID for the given user as mapped by the exchange for the buyer.
The buyeruid must be Equativ's ID for the user and will be used to send matched traffic to demand partners.
⚠️ Warning: Unmatched browser traffic will be discarded and must therefore be filtered out and not sent.
The buyeruid field cannot be processed if privacy regulations (GDPR, CCPA etc.) apply and prohibit the processing of the field. Therefore, such traffic must not be sent.
dataOBJECT ARRAYOPTIONALAdditional user data. Each Data object represents a different data source.
eidsOBJECTOPTIONALAn array of extended IDs, as specified in the IAB specification. Equativ is following the OpenRTB 2.6 specification.
ext.eidsOBJECTOPTIONALAn array of extended IDs, as specified in the IAB specification. Equativ is following the OpenRTB 2.5 specification.
ext.consentSTRINGOPTIONALA field indicating the user’s consent if the GDPR applies.

Data object

OpenRTB fieldData typeNecessityDescription
idSTRINGOPTIONALAn exchange-specific ID for the data provider.
nameSTRINGOPTIONALAn exchange-specific name for the data provider.
segmentOBJECT ARRAYOPTIONALAn array of Segment objects that contain the actual data values.

Segment object

OpenRTB fieldData typeNecessityDescription
idSTRINGOPTIONALThe ID of the data segment specific to the data provider.
nameSTRINGOPTIONALThe name of the data segment specific to the data provider.
valueSTRINGOPTIONALThe string representation of the data segment value.


Source object

OpenRTB fieldData typeNecessityDescription
tidSTRINGOPTIONALA transaction ID that must be common across all participants (e. g. multiple exchanges) in the given bid request.
ext.schainOBJECTREQUIRED (except in case of owned and operated inventory)The supply chain object discloses to buyers all the parties involved in the selling or reselling of a bid request.
Related documentation:
ext.omidpnSTRINGOPTIONAL  The Open Measurement Interface Definition partner name, as per OpenRTB Advisory for Open Measurement SDK .
ext.omidpvSTRINGOPTIONAL  The Open Measurement Interface Definition partner version, as per OpenRTB Advisory for Open Measurement SDK.

Regs object

OpenRTB fieldData typeNecessityDescription
coppaINTEGEROPTIONALA field indicating if the given request is subject to the COPPA regulations established by the USA FTC, where:
  • 1 - the given request is subject to COPPA
  • 0 - the given request is not subject to COPPA
extINTEGEROPTIONALAn extension containing the gdpr flag indicating if the GDPR applies:
  • 1 - the GDPR applies
  • 0 - the GDPR does not apply
If omitted, it is considered as unknown.

ext object

OpenRTB fieldData typerNecessityDescription
bid_feedbackOBJECTOPTIONALA feedback on bids submitted in a previous response. Contains the minimumbidtowin feedback signal used for optimization of the bidding strategy towards DSPs.
dsaOBJECTOPTIONALThe DSA transparency information.

ext.bid_feedback object

OpenRTB fieldData typeNecessityDescription
priceFLOATOPTIONALThe clearing price of the auction when a bid is lost. The second highest price of the auction when a bid wins (LossReason=0).
lossINTEGEROPTIONALThe loss reason code (see section 5.25 in the OpenRTB 2.5 specification).
feedback_tokenSTRINGOPTIONALThe token related to the feedback, included in the bid response competing in the auction.

See "ext.bid_feedback object sample" here.

ext.dsa object

OpenRTB fieldData typeNecessityDescription
dsarequiredINTEGEROPTIONALA flag to indicate if DSA information should be made available. This will signal if the bid request belongs to an Online Platform/VLOP, such that a buyer should respond with DSA Transparency information based on the pubrender value.
  • 0 - Not required
  • 1 - Supported, bid responses with or without DSA object will be accepted
  • 2 - Required, bid responses without DSA object will not be accepted
  • 3 - Required, bid responses without DSA object will not be accepted, Publisher is an Online Platform
pubrenderINTEGEROPTIONALA flag to indicate if the publisher will render the DSA Transparency info. This will signal if the publisher is able to and intends to render an icon or other appropriate user-facing symbol and display the DSA transparency info to the end user.
  • 0 - Publisher can't render
  • 1 - Publisher could render depending on adrender
  • 2 - Publisher will render
datatopubINTEGEROPTIONALThe indication of whether transparency data are to be sent. Independent of the pubrender parameter, the publisher may need the transparency data for audit purposes.
  • 0 - do not send transparency data
  • 1 - optional to send transparency data
  • 2 - send transparency data
transparencyOBJECT ARRAYOPTIONALAn array of objects of the entities that applied user parameters and the parameters they applied.

ext.dsa.transparency object

OpenRTB fieldData typeNecessityDescription
domainSTRINGOPTIONALThe domain of the entity that applied user parameters
dsaparamsINTEGER ARRAYOPTIONALAn array for platform or sell-side use of any user parameters (using the list provided by DSA Transparency Taskforce). Note: see definition and list of possible user parameters as listed here, applied consistently in both bid request and/or bid response.

Powered by