# For Buyers

## Introduction

ADPIE-Exchange is platform to simplify integration of Demand Side Platform(DSP) with Sell Side Platform(SSP). This document defines the protocol for interaction between DSP and ADPIE-exchange.

## Integration Spec

Basically support OpenRTB 2.3 and OpenRTB Native-Ads-Specification 1.1, including scalability use extension field. Addition/deletion of field is available according to application.

&#x20;    •        HTTP 1.1 based POST method

&#x20;    •        Data Format: JSON

&#x20;    •        Not support Multiple impression per one request

&#x20;    •        Support some parts of OpenRTB 2.5 and OpenRTB Native-Ads-specification 1.2.

&#x20;    •        Supported Ad Formats: Banner, Native, Rewarded video

&#x20;    •        Supported Size: 320x50, 320x100, 320x480, 300x250, 1200x627, 1280x720, 720x1280

## Bid Request

### Bid Request Object 

<table><thead><tr><th width="119.75390625" valign="top">Field</th><th width="149.9296875" valign="top">Type</th><th width="89.109375" valign="top">Required</th><th width="249.765625" valign="top">Description</th><th valign="top">Example</th></tr></thead><tbody><tr><td valign="top">id</td><td valign="top">string</td><td valign="top">O</td><td valign="top">unique ID of the bid request</td><td valign="top">“bb046a99 f84dad1fa 7ac3b0ce4 bc4dd3”</td></tr><tr><td valign="top">imp</td><td valign="top">array of objects</td><td valign="top">O</td><td valign="top"><p>impression object</p><p>The current version supports only 1 Imp object.</p></td><td valign="top"> </td></tr><tr><td valign="top">app</td><td valign="top">object</td><td valign="top"> O</td><td valign="top"><p>app object(i.e., non-browser applications). Only applicable and recommended for apps.</p><p>Either site or app object should be present.</p></td><td valign="top"> </td></tr><tr><td valign="top">site</td><td valign="top">object</td><td valign="top"> O</td><td valign="top"><p>site object.</p><p>Only applicable and recommended for websites.</p><p>Either site or app object should be present.</p></td><td valign="top"> </td></tr><tr><td valign="top">device</td><td valign="top">object</td><td valign="top">O</td><td valign="top">Device Object which describes the device the impression will be delivered to.</td><td valign="top"> </td></tr><tr><td valign="top">user</td><td valign="top">object</td><td valign="top">O</td><td valign="top">User Object which describes the user.</td><td valign="top"> </td></tr><tr><td valign="top">tmax</td><td valign="top">integer</td><td valign="top"></td><td valign="top">Maximum time in milliseconds to submit a bid to avoid timeout.(milliseconds)</td><td valign="top">400</td></tr><tr><td valign="top">cur</td><td valign="top">array of strings</td><td valign="top"></td><td valign="top">Array of allowed currencies for bids on this bid request.</td><td valign="top">[“USD”]</td></tr><tr><td valign="top">bcat</td><td valign="top">array of strings</td><td valign="top"></td><td valign="top">Blocked Advertiser Categories. (Refer to 5.4 Content Categories)</td><td valign="top">["IAB7","IAB26","IAB25-3","IAB7-17 "]</td></tr><tr><td valign="top">badv</td><td valign="top">array of strings</td><td valign="top"></td><td valign="top"></td><td valign="top">[“block1.com”,“block2.com”]</td></tr><tr><td valign="top">at</td><td valign="top">integer</td><td valign="top"></td><td valign="top">Auction type, where 1=First Price, 2=Second Price Plus.</td><td valign="top">2</td></tr><tr><td valign="top">ext</td><td valign="top">object</td><td valign="top"></td><td valign="top">Impression ext object for exchange-specific extensions to OpenRTB.</td><td valign="top"></td></tr></tbody></table>

### &#x20;Impression Object

<table><thead><tr><th width="119.63671875" valign="top">Field</th><th width="149.9375" valign="top">Type</th><th width="89.1015625" valign="top">Required</th><th width="250.20703125" valign="top">Description</th><th valign="top">Example</th></tr></thead><tbody><tr><td valign="top">id</td><td valign="top">string</td><td valign="top">O</td><td valign="top">impression ID within the bid request.</td><td valign="top">“1”</td></tr><tr><td valign="top">banner</td><td valign="top">object</td><td valign="top"> </td><td valign="top">Banner object. Required for banner impressions.</td><td valign="top"> </td></tr><tr><td valign="top">native</td><td valign="top">object</td><td valign="top"> </td><td valign="top"><a href="https://protocol.bidswitch.com/standards/native.html#native">Native Object</a> describes the ad properties. Required for native impressions.</td><td valign="top"> </td></tr><tr><td valign="top">bidfloor</td><td valign="top">float</td><td valign="top"> </td><td valign="top">Bid floor as set by the SSP. The currency is the same as specified in cur field.</td><td valign="top">0.01080</td></tr><tr><td valign="top">bidfloorcur</td><td valign="top">string</td><td valign="top"> </td><td valign="top">Bid floor currency specified using ISO-4217 alpha codes.</td><td valign="top">“USD”</td></tr><tr><td valign="top">secure</td><td valign="top">integer</td><td valign="top"> </td><td valign="top">0 for non-secure pages (default); 1 for secure pages. Creatives for secure pages should be SSL-compliant.</td><td valign="top">0</td></tr><tr><td valign="top">instl</td><td valign="top">integer</td><td valign="top"> </td><td valign="top">1 if the ad is interstitial or full screen; else 0 (i.e., no).</td><td valign="top">1</td></tr><tr><td valign="top">pmp</td><td valign="top">object</td><td valign="top"> </td><td valign="top">Private Marketplace object</td><td valign="top"> </td></tr><tr><td valign="top">tagid</td><td valign="top">string</td><td valign="top"> </td><td valign="top">Identifier for specific ad placement or ad tag that was used to initiate the auction. This can be useful for debugging of any issues, or for optimization by the buyer.</td><td valign="top"> </td></tr><tr><td valign="top">displayman ager</td><td valign="top">string</td><td valign="top"> </td><td valign="top">Name of ad mediation partner, SDK technology, or player responsible for rendering ad (typically video or mobile).</td><td valign="top">“adpiessdk”</td></tr><tr><td valign="top">displayman agerver</td><td valign="top">string</td><td valign="top"></td><td valign="top">Version of ad mediation partner, SDK technology, or player responsible for rendering ad (typically video or mobile).</td><td valign="top">"011402"</td></tr></tbody></table>

### Banner Object

<table><thead><tr><th width="119.84765625">Field</th><th width="150.42578125">Type</th><th width="89.58984375">Required</th><th width="249.9765625">Description</th><th>Example</th></tr></thead><tbody><tr><td>id</td><td>string</td><td></td><td>Unique identifier for this banner object. Used for tracking multiple banner objects.</td><td>"1"</td></tr><tr><td>w</td><td>integer</td><td>O</td><td>Width of the impression in pixels.</td><td>320</td></tr><tr><td>h</td><td>integer</td><td>O</td><td>Height of the impression in pixels.</td><td>50</td></tr><tr><td>btype</td><td>array of integers</td><td></td><td>Blocked creative types. See Table 5.5 Banner Ad Types. If blank, assume all types are allowed.</td><td>[1,3]</td></tr><tr><td>battr</td><td><p>array of</p><p>integers</p></td><td></td><td>Blocked creative attributes. See Table 5.7</td><td>[1,4]</td></tr></tbody></table>

### Video Object

<table><thead><tr><th width="118.94921875">Field</th><th width="150.42578125">Type</th><th width="90.27734375">Required</th><th width="249.40234375">Description</th><th>Example</th></tr></thead><tbody><tr><td>mimes</td><td>array of integers</td><td>O</td><td>Content MIME types supported</td><td>[“video/mp4”]</td></tr><tr><td>w</td><td>integer</td><td>O</td><td>Width of the video player in device independent pixels</td><td>320</td></tr><tr><td>h</td><td>integer</td><td>O</td><td>Height of the video player in device independent pixels</td><td>50</td></tr><tr><td>minduration</td><td>integer</td><td>O</td><td>Minimum video ad duration in seconds</td><td>5</td></tr><tr><td>maxduration</td><td>integer</td><td>O</td><td>Maximum video ad duration in seconds</td><td>30</td></tr><tr><td>protocols</td><td>array of integers</td><td>O</td><td>Array of supported video protocols. Refer to List 5.13.</td><td>[1,2,3]</td></tr><tr><td>startdelay</td><td>integer</td><td></td><td>Indicates the start delay in seconds for pre-roll, mid-roll, or post-roll ad placements. Refer to List 5.14 for additional generic values.</td><td>0</td></tr><tr><td>linearity</td><td>integer</td><td></td><td>Indicates if the impression must be linear, nonlinear, etc. If none specified, assume all are allowed. Refer to List 5.15</td><td>1</td></tr><tr><td>skip</td><td>integer</td><td></td><td>Indicates if the player will allow the video to be skipped, where 0 = no, 1 = yes.</td><td>1</td></tr><tr><td>skipmin</td><td>integer</td><td></td><td>Videos of total duration greater than this number of seconds can be skippable; only applicable if the ad is skippable.</td><td>3</td></tr><tr><td>skipafter</td><td>integer</td><td></td><td>Number of seconds a video must play before skipping is enabled; only applicable if the ad is skippable.</td><td>5</td></tr><tr><td>battr</td><td>array of integers</td><td></td><td><p>Blocked creative attributes.</p><p>See Table 5.7.</p></td><td>[1,3]</td></tr><tr><td>boxingallowed</td><td>integer</td><td></td><td>Indicates if letter-boxing of 4:3 content into a 16:9 window is allowed, where 0 = no, 1 = yes.</td><td>1</td></tr><tr><td>delivery</td><td>array of integers</td><td></td><td>Supported delivery methods. If none specified, assume all are supported. Refer to List 5.17.</td><td>[1,2]</td></tr><tr><td>api</td><td>array of integers</td><td></td><td>List of supported API frameworks for this impression. Refer to List 5.18. If an API is not explicitly listed, it is assumed not to be supported.</td><td>[1,3]</td></tr></tbody></table>

### Native Object

<table><thead><tr><th width="118.94921875">Field</th><th width="150.42578125">Type</th><th width="90.27734375">Required</th><th width="249.40234375">Description</th><th>Example</th></tr></thead><tbody><tr><td>request</td><td>string</td><td>O</td><td>Request payload complying with the Native Ad Specification.</td><td></td></tr><tr><td>ver</td><td>string</td><td></td><td>Version of the Native Ad Specification to which request complies.</td><td>"1.1"</td></tr><tr><td>battr</td><td>array of integers</td><td></td><td>Blocked creative attributes. See Table 5.7</td><td>[1,3]</td></tr></tbody></table>

### Native Request Object

<table><thead><tr><th width="118.94921875">Field</th><th width="150.42578125">Type</th><th width="90.27734375">Required</th><th width="249.40234375">Description</th><th>Example</th></tr></thead><tbody><tr><td>assets</td><td>string</td><td>O</td><td>Request payload complying with the Native Ad Specification.</td><td></td></tr><tr><td>ver</td><td>string</td><td></td><td>Version of the Native Ad Specification to which request complies.</td><td>"1.1"</td></tr><tr><td>battr</td><td>array of integers</td><td></td><td>Blocked creative attributes. See Table 5.7</td><td>[1,3]</td></tr></tbody></table>

### Native Asset Object

<table><thead><tr><th width="118.94921875">Field</th><th width="150.42578125">Type</th><th width="90.27734375">Required</th><th width="249.40234375">Description</th><th>Example</th></tr></thead><tbody><tr><td>id</td><td>integer</td><td>O</td><td>Unique asset ID, assigned by exchange</td><td>1</td></tr><tr><td>required</td><td>integer</td><td></td><td>Set to 1 if asset is required (exchange will not accept a bid without it)</td><td>0</td></tr><tr><td>title</td><td>object</td><td></td><td>Native title object, see the <a href="https://protocol.bidswitch.com/standards/native-request.html#native-assets-title-obj">Native Asset Title</a> <a href="https://protocol.bidswitch.com/standards/native-request.html#native-assets-title-obj">Object</a> for more details.</td><td></td></tr><tr><td>img</td><td>object</td><td></td><td>Native image object, see the <a href="https://protocol.bidswitch.com/standards/native-request.html#native-assets-image-obj">Native Asset</a> <a href="https://protocol.bidswitch.com/standards/native-request.html#native-assets-image-obj">Image Object</a> for more details.</td><td></td></tr><tr><td>data</td><td>object</td><td></td><td>Native asset data object, see the <a href="https://protocol.bidswitch.com/standards/native-request.html#native-assets-data-obj">Native</a> <a href="https://protocol.bidswitch.com/standards/native-request.html#native-assets-data-obj">Asset Data Object</a> section for more details.</td><td></td></tr></tbody></table>

### Native Asset Title Object

<table><thead><tr><th width="118.94921875">Field</th><th width="150.42578125">Type</th><th width="90.27734375">Required</th><th width="249.40234375">Description</th><th>Example</th></tr></thead><tbody><tr><td>len</td><td>integer</td><td>O</td><td>Maximum length of the text in the title element.</td><td>25</td></tr></tbody></table>

### Native Asset Image Object

<table><thead><tr><th width="118.94921875">Field</th><th width="150.42578125">Type</th><th width="90.27734375">Required</th><th width="249.40234375">Description</th><th>Example</th></tr></thead><tbody><tr><td>type</td><td>integer</td><td>O</td><td><p>Type ID of the image element</p><p>supported by the publisher. Reter to 5.9</p></td><td>3</td></tr><tr><td>w</td><td>integer</td><td></td><td>Width of the image in pixels</td><td>1200</td></tr><tr><td>h</td><td>integer</td><td></td><td>Height of the image in pixels</td><td>627</td></tr></tbody></table>
