Revisions history

Revision

Changes

1.0

Initial version

1.0.1"url" field added
1.0.2

"vi_format" field added

1.0.3"api" field added
1.1Banner support

Basics

This document describes the process of integration of the new publishers into the platform. Direct inventory buying is typically achieved by calling dedicated URL, provided by the platform, with a set of special parameters, which allows to narrowly target the inventory. Before that, the publisher should be registered in the platform and receive its unique ID. The workflow of the integration process consists of next steps:

  1. Registering and configuring the publisher in the platform.
  2. Start calling dedicated URL(s) for the interested inventory types (video, etc.) with the special parameters settled.

After the publisher is already registered in the platform, you can start directly buying banner/video inventory. For that you ought to perform a special HTTP GET request with the appropriate parameters.

Banner inventory

URL: http(https)://px.adhigh.net/rtb/direct_banner?[params]

Available parameters:

NameMandatoryDescriptionExample
pidrequiredThe ID of the underlying publisher, registered in the platform.pid=4
tidrequiredThe ID of the publisher Tag.tid=abc
sizerequiredThe size of the banner.size=320x240
resp_typeoptional

The type of the output:

  • RAW (raw markup)
  • JSON (json output with markup)
  • JS (JavaScript registering variable with response data)

Default: RAW

resp_type=JS
flooroptionalFloor price for the advertiser bids.floor=1.13
cpmoptionalThe CPM price in the currency of the Publisher. Unless provided, the price will be taken from special Tag configuration. Unless, it will be taken from Publisher configuration. Unless the CPM will be equal to the bid, made by the advertiser.cpm=5.3
curoptionalBid currency. Unless provided, will be taken from the Publisher configuration.cur=USD
urloptionalUrl of the page.url=google.com
pburloptionalPassback URL. After an empty bid or error, request will be redirected to this page. Unless provided, will be taken from the Publisher configuration.pburl=anotheradserver.com

 

Video inventory

URL: http(https)://px.adhigh.net/p/direct_vast?[params]

Available parameters:

Name

Mandatory

Description

Example

pid

required

The ID of the underlying publisher registered in the platform.

pid=4

cpm

optional

The CPM price in the currency of the Publisher. Unless provided, the price will be taken from special Tag configuration. Unless, it will be taken from Publisher configuration.

cpm=1.30412

tid

optional

The ID of the publisher Tag.

tid=A1415154ECB

urloptionalUrl of the page.url=search.google.com

protocols

optional

The numeric list of the restricted VAST protocol versions, split by comma.

  • 1 – VAST 1.0
  • 2 – VAST 2.0
  • 3 – VAST 3.0
  • 4 – VAST 1.0 Wrapper
  • 5 – VAST 2.0 Wrapper
  • 6 – VAST 3.0 Wrapper

Unless provided, it will match all versions of the VAST protocol.

protocols=2,3,5,6

size

optional

The size of the player.
Unless provided, the size will be taken from the Tag configuration in the platform, if set.

size=640x480

mimes

optional

The list of URL-encoded allowed mime types, split by comma.
Unless provided, the system will try to fill it with the list of mime types in the Tag configuration in the platform. Unless, it will match any mime type.

mimes=application%2Fx-shockwave-player,video%2Fmp4

min_dur

optional

Minimal duration of video ad in seconds.

min_dur=30

max_dur

optional

Maximal duration of the video ad in seconds.

max_dur=60

min_btr

optional

Minimal bitrate of the video ad, kbps.

min_btr=128

max_btr

optional

Maximal bitrate of the video ad, kbps.

max_btr=512

pb

optional

Passback VAST URL, which will be returned in the VAST Wrapper in case no inventory is matched for the given request.
Unless provided, the system will try to take it from the Publisher configuration. Unless, an empty VAST response will be served.

pb=http%3A%2F%2Fad.content.vast%2Fpassback

vi_formatoptional

Video inventory format. Possible values:

  • 1 - In-Stream video
  • 2 - Out-Stream video

Unless provided or directly set in publisher tag configuration in the platform, an inventory is marked as In-Stream.

vi_format=2
apioptional

API of the inventory. Possible values:

  • 1 - VPAID 1.0
  • 2 - VPAID 2.0
  • 3 - MRAID-1
  • 4 - ORMMA
  • 5 - MRAID-2
api=1,3
skippableoptional

Skippability of the inventory. Possible values (case insensitive):

  • ALLOW - skippable inventory is allowed
  • NOT_ALLOW - skippable inventory is not allowed
  • REQUIRE - only skippable inventory is allowed
  • UNKNOWN - skippability is unknown (default value)
skippable=allow

Video Examples

No inventory matches, no passback url

Request: curl –i http://px.adhigh.net/p/direct_vast?pid=4&cpm=1.34&size=1024x768
Response:

<?xml version="1.0" encoding="utf-8"?><VAST version="2.0"></VAST>

No inventory matches, with passback url

Request: curl –i http://px.adhigh.net/p/direct_vast?pid=4&cpm=1.34&size=1024x768&pb=http%3A%2F%2Fad.content.vast%2Fpassback
Response:

<VAST version="2.0">
<Ad id="sqq1Ctjm8IR">
<Wrapper>
<AdSystem>GetIntent</AdSystem>
<VASTAdTagURI><![CDATA[http://ad.content.vast/passback]]></VASTAdTagURI>
<Creatives/>
</Wrapper>
</Ad>
</VAST> 

Response with media files

Request: curl –i http://px.adhigh.net/p/direct_vast?pid=4&tid=abc&cpm=1.34&size=328x434
Response:

<VAST version="3.0">
<Ad id="ew8YhEBzR7p">
<InLine>
<AdSystem>GetIntent</AdSystem>
<AdTitle>GetIntent</AdTitle>
<Error>http://ad.server.com/test-app/p/video/error.gif?s=direct&code=[ERRORCODE]</Error>
<Impression><![CDATA[http://ad.server.com/test-app/p/video/imp.gif?id=ew8YhEBzR7p&s=direct]]></Impression>
<Creatives>
<Creative>
<Linear>
<Duration>00:00:20</Duration>
<MediaFiles>
<MediaFile delivery="progressive" type="video/mp4" width="1280" height="1024"><![CDATA[http://d7y63ze08grg5.cloudfront.net/media/video/test.mp4]]></MediaFile>
</MediaFiles>
<TrackingEvents>
<Tracking event="start"><![CDATA[http://ad.server.com/test-app/p/video/tracking.gif?s=direct&e=start]]></Tracking>
<Tracking event="firstQuartile"><![CDATA[http://ad.server.com/test-app/p/video/tracking.gif?s=direct&e=firstQuartile]]></Tracking>
<Tracking event="midpoint"><![CDATA[http://ad.server.com/test-app/p/video/tracking.gif?s=direct&e=midpoint]]></Tracking>
<Tracking event="thirdQuartile"><![CDATA[http://ad.server.com/test-app/p/video/tracking.gif?s=direct&e=thirdQuartile]]></Tracking>
<Tracking event="complete"><![CDATA[http://ad.server.com/test-app/p/video/tracking.gif?s=direct&e=complete]]></Tracking>
<Tracking event="skip"><![CDATA[http://ad.server.com/test-app/p/video/tracking.gif?s=direct&e=skip]]></Tracking>
<Tracking event="closeLinear"><![CDATA[http://ad.server.com/test-app/p/video/tracking.gif?s=direct&e=closeLinear]]></Tracking>
</TrackingEvents>
<VideoClicks>
<ClickThrough><![CDATA[http://ad.server.com/test-app/p/click?id=ew8YhEBzR7p&s=direct]]></ClickThrough>
</VideoClicks>
</Linear>
</Creative>
</Creatives>
</InLine>
</Ad>
</VAST>