1 Overview
This document provides instructions for the integration of Xtend system with external DSP system. It describes the requirements and steps needed to enable interface connection based on open RTB.
2. Xtend-DSP RTB Integration
Xtend-DSP RTB Integration
1 Overview
This document provides instructions for the integration of Xtend system with external DSP system. It describes the requirements and steps needed to enable interface connection based on open RTB.
2 Steps for Integration
To enable DSP to connect with Midas, the steps include:
● Sign contract: Mutual agreement contract between Xtend and DSP.
● Register DSP account: Contact Xtend Operations PIC to register DSP account in Midas system in order to receive the token. Note: Currently Midas doesn't support auto-registration, and it is necessary to contact Xtend and provide relevant information in order to complete the account registration.
● Proceed to system integration set-up: DSP needs to follow this document to build interface and set up integration. If there is any issue encountered during the process, Midas will provide Product and Tech PIC to support and solve the issue accordingly.
● Test: After integration is set up, DSP and Midas need to arrange testing for the integration and make adjustments when necessary.
● Live: After test completes, Xtend PIC from business team will follow up with official launch of integrated online traffic and start to record cost.
3 Real Time Bid
3.1 Data Transmission
The connection between DSP and Midas follows HTTP communication protocol, to send Bid Request via POST mode as the content for HTTP request, and use data in JSON format.
3.2 HTTP Request
HTTP POST mode is used to send Bid Request, instead of HTTP GET mode, as it enables more content to be attached and supports binary data better.
Request thread:
Name |
Value |
Remark |
x-openrtb-version |
2.5 |
open rtb version |
3.3 HTTP Response
If Midas is participating in bid / auction, HTTP response status code should be 200, which allows it to return to Bid Request. If not, HTTP response status code should be 204.
3.4 Display Volume and Cost Calculation
The billing is based on the number of displays reported in the winnotice (default winnotice is in nurl, if the DSP does not support nurl, it is in burl) link statistics when the bid is won, so you need to replace the {AUCTION_PRICE} macro in the winnotice url when the bid is won.
DSP needs to ensure that at most one ad is reported for impression at a time; and that the reported display is within the validity of the impression delay required by Xtend.
Xtend limits the impression delay by using the bidresponse.seatbid.bid.exp field.
3.5 Precautions
If the following fields in the request body are empty, the Xtend platform will consider the request as invalid and will not be populated.
bid.imp[].tagid: DSP's ad space identifier
bid.app.bundle: package name information of the traffic source
bid.device.ifa: unique identifier allowed for advertisers, explicitly stated; Android passes gaid, iOS passes idfa
bid.device.ua: User-Agent field in the HTTP request header of the user's device
bid.device.ip: ip address of the user's current network
bid.device.geo.country: the country of the user's current network, using ISO-3166-1-alpha-3
4 Real Time Bid RTB Interface Parameter
4.1 Bid Request
Parameter name |
Type |
Required? |
Description |
id |
string |
Yes |
The only identification for Bid Request |
imp |
object array |
Yes |
1 request can include only 1 impression object at a time, which represents a specific ad display placement/position. Details can be found in imp object parameter definition below |
app |
object |
Yes |
App object info of DSP, recommended to use only on app instead of website. Details can be found in app object parameter definition below |
device |
object |
Yes |
Device info. Details can be found in device object parameter definition below |
user |
object |
No |
Device user / Ad audience. Details can be found in user object parameter definition below |
at |
integer |
Yes |
Bid settlement auction type. Value of 1 means it follows First-price auction, while value of 2 means it follows Second-price plus auction. |
badv |
string array |
No |
Domain name in blacklist |
bapp |
string array |
No |
App name in blacklist.On Android, these should be bundle or package names (e.g., com.foo.mygame). On iOS, these are numeric IDs. |
regs |
object |
No |
Any industry, legal, or governmental regulations in force |
4.1.1 imp object
Parameter name |
Type |
Required? |
Description |
id |
string |
Yes |
The only identification in a Bid Request for the specific display traffic sold. 1 request can include only 1 display traffic at a time |
tagid |
string |
Yes |
Fixed identification of each specific ad display placement/position |
native |
object |
Yes for Native traffic |
Refer to native object (Supports only Native ad placement) |
banner |
object |
Yes for Banner traffic |
Refer to banner object |
video |
object |
Yes for Video traffic |
Refer to video object |
audio |
object |
Yes for Audio traffic |
Refer to audio object |
exp |
integer |
No |
Duration that may elapse between the auction and the actual display / impression.Unit is in seconds |
secure |
integer |
No |
Parameter to indicate if Bid Request needs HTTPS encrypted info and markup to ensure data privacy.Value of 0 means it doesn't need. Value of 1 means it needs. If left blank, means unknown, i.e. it doesn't need encryption |
bid floor |
float |
No |
Minimum CPM bid price for this display traffic |
bidfloorcur |
string |
Yes |
Bid price currency, currently it only supports USD |
4.1.2 banner object
Parameter name |
Type |
Required? |
Description |
||
id |
string |
No |
Unique identifier for this banner object. Recommended when Banner objects are used with a Video object to represent an array of companion ads. Values usually start at 1 and increase with each object; should be unique within an impression. |
||
w |
integer |
Yes |
Exact width in device independent pixels (DIPS); If not specified wmin and wmax , this value refers to the required display width, otherwise refers to the desired width |
||
h |
integer |
Yes |
Exact height in device independent pixels (DIPS); If not specified hmin and hmax , this value refers to the required display height, otherwise refers to the desired height |
||
pos |
integer |
No |
Ad position on screen. Section 5.5 Ad Placement/Position Attribute is the reference of its enumerated values |
||
mimes |
string array |
Yes |
Content MIME types supported. Popular MIME types may include "application/x-shockwave-flash", “image/jpg”, and “image/gif”。SHAREit support "image/jpg","image/png", and "image/gif" |
||
ext |
object |
No |
Placeholder for exchange-specific
3. Postback event API You will send us your conversion event data ,you will need to develop according to this document. POST http://adp-e.ginpda.com/dpa/event Content-Type: application/json Expect to request only one event at a time The request body contains an instance of event
null |