Все переводы

Перейти к: навигация, поиск

Введите имя сообщения для показа всех доступных переводов.

Сообщение

Найдено 2 перевода.

СообщениеТекущий текст
 ист. английский (en)== Introduction ==
RTB auction (SSP) provides advertising space owners with the opportunity to conduct real-time bidding by selecting the best deals offered by advertisers.

== How RTB works (real-time bidding) ==
Real-time bidding (real-time bidding) is the interaction of the level of the server between the advertising inventory at the SSP (sell-side platform) auction and the sellers (advertising platforms) using the '' http post '' protocol. All advertising inventory that meets the requirements is available to site owners through RTB infrastructure. <br />
The following principle describes how the auction works gives a brief overview of the process (for a more detailed description, see the section “Description of the workflow”): <br />
<ul>
1. RTB SSP (Real-time bidding sell-side platform) receives an advertising request from the seller and selects a list of buyers for the auction <br />
2. RTB SSP sends a request to customers from the selected list <br />
3. Each buyer from the list receives a request and evaluates its ability to participate in the auction, responds to the request
4. RTB SSP holds an auction based on bids received from buyers <br />
5. RTB SSP "delivers" the announcement of the bidding winner among advertisers to the seller of advertising space on the site <br />
6. RTB SSP sends auction results to auction participants <br />
</ul>

== About the document ==
The document describes the connection of a DSP (demand-side platform) or advertiser to an RTB SSP (sell-side platform). The SSP interface is designed according to the OpenRTB v.2.3 protocol specification <br />
http://www.iab.net/media/file/OpenRTB-API-Specification-Version-2-3.pdf <br />

== Terms and definitions ==
'''Bid request''' - request from RTB SSP sent to buyers (advertisers) to bargain their promotional offers <br />
'''Bid response''' - buyer's response to RTB SSP as bidding bid <br />
'''CPM''' (Cost per mille) - price per one thousand ad impressions <br />
'''RTB''' (Real-time bidding) - real-time bidding, the principle of the delivery of advertising to the seller of real-time advertising space <br />
'''SSP''' (sell-side platform) - real-time bidding system representing the interests of sellers (owners of sites) <br />
'''DSP''' (demand-side platform) - an advertising system representing the interests of buyers (advertisers) <br />
'''Impression''' - teaser, banner, separate advertisement <br />

== Workflow description ==
Each request to the buyer (advertiser) is accompanied by the following steps: <br />
'''1. Selection of the buyer in real time '''<br />
After receiving a request to display advertising from the seller (platform), the RTB auction selects a list of buyers for setting advertising rates. The bids that have the highest chances to win the auction are chosen. <br />
'''2. Bid request from RTB SSP '''<br />
RTB auction sends requests to selected buyers (advertisers). The request contains technical information necessary for the “delivery” of the advertisement, as well as a set of targeting for this request. If the same buyer (advertiser) has several ads that match the targeting of the request from the seller of advertising space, then the RTB auction includes in bidding all incoming bidding that match the request. <br />
'''3. Buyer’s response (bid response) '''<br />
The buyer receives a request from the RTB auction and assesses the possibility of participation in the auction. As a response, the buyer sends an offer with a bid price or does not respond to the request if he does not have any offers for the request. The buyer must respond to the request within the allotted time interval, otherwise he will lose the opportunity to participate in the auction. In the case of several offers for bidding, the buyer must respond to a request for answers with the price of each of his proposals, which he is ready to bargain. <br />
'''4. Auction '''<br />
When all bids are received (in the allotted time to accept responses from buyers), an auction takes place. Sellers have the opportunity to specify the minimum price for the site on which they sell the place. In this regard, each winning bid must be higher than the minimum price that the seller places on the site. All materials are subject to mandatory moderation in the RTB SSP system. <br />
'''five. Notification of the results''' <br />
RTB SSP sends notification of results to each participant in each individual auction. <br />

== Requests to DSP ==
A request to a DSP (or customer) is a collection of information: <br />
<ul>
- about the advertising platform; <br />
- about the visitor of this advertising platform; <br />
- about the device from which the visitor logged in; <br />
- about the list of advertising spaces for advertising; <br />
</ul>
The DSP request is in json format, that is, [content_type] => application /json. <br />


== Example DSP /Buyer Request ==
'''Object definition''' <br />
Below are the definitions of the various objects involved in the request. <br />
'''Request Request Object' '<br />
The highest bid bid item object contains a globally unique bid bid or auction ID. This mandatory “ID” attribute requires at least one “imp” (for example, impression) object. Other attributes are optional, since the exchange can set default values. The default column defines how additional parameters should be interpreted if explicit values ​​are not provided. <br />

<table>
   <tr bgcolor = #DCDCDC>
       <th width = 130 align = left> Field </th>
       <th width = 200 align = left> Type </th>
       <th width = 100 align = left> Default </th>
       <th width = 350 align = left> Description </th>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> id </td>
       <td> string </td>
       <td> - </td>
       <td> The unique identifier of the request rate, provided by the exchange </td>
</tr>
   <tr bgcolor = #F5F5F5>
       <td> imp </td>
       <td> array of objects </td>
       <td> - </td>
       <td> Array of impression objects. Multiple impression auctions can be listed in a single bid bid. At least one bid is required for the correct bid. </Td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> site </td>
       <td> object </td>
       <td> - </td>
       <td> see site object </td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> device </td>
       <td> object </td>
       <td> - </td>
       <td> see device object </td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> user </td>
       <td> object </td>
       <td> - </td>
       <td> see user object </td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> ext </td>
       <td> object </td>
       <td> - </td>
       <td> This object is a prototype that can contain custom JSON agreed by the parties to an OpenRTB transaction that supports the flexibility of the standards defined in this specification. '''Described in the example request to the DSP /customer''' </td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> at </td>
       <td> int </td>
       <td> 2 </td>
       <td> Auction principle. If "1", then the first auction. If "2", then the second auction. Additional types of auctions can be determined in accordance with the business rules of the exchange. </Td>
   </tr>
</table>

'''Impression object''' <br />
The “imp” object describes the position of an ad or impression at an auction. The “Default” column defines how additional parameters should be interpreted if explicit values ​​are not provided. <br />

<table>
   <tr bgcolor = #DCDCDC>
       <th width = 130 align = left> Field </th>
       <th width = 200 align = left> Type </th>
       <th width = 100 align = left> Default </th>
       <th width = 350 align = left> Description </th>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> id </td>
       <td> string </td>
       <td> - </td>
       <td> The unique identifier for this impression in the context of the bid rate (as a rule, the cost starts from 1, and increases to n values ​​per n number of impressions). </td>
</tr>
   <tr bgcolor = #F5F5F5>
       <td> banner </td>
       <td> Object </td>
       <td> - </td>
       <td> Link to the banner object. Any banner or video object (or both, if the impression allows) should be included in the presentation of the object; both objects do not have to be included. See Banner Object </td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> ext </td>
       <td> object </td>
       <td> - </td>
       <td> This object is a prototype that can contain custom JSON agreed by the parties in an OpenRTB transaction </td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> bidfloor </td>
       <td> float </td>
       <td> 0 </td>
       <td> The minimum bid for each material that will be transmitted in response to a request. </td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> bidfloorcur </td>
       <td> string </td>
       <td> RUB </td>
       <td> The currency in which the minimum bid is specified. </td>
   </tr>
</table>

'''Banner object''' <br />
The banner object must be included directly in the presentation of the object if the impression is put up for auction and is displayed or multimedia. The “Default” column shows how additional parameters should be interpreted if explicit values ​​are not provided. <br />

<table>
   <tr bgcolor = #DCDCDC>
       <th width = 130 align = left> Field </th>
       <th width = 200 align = left> Type </th>
       <th width = 100 align = left> Default </th>
       <th width = 350 align = left> Description </th>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> w </td>
       <td> int32 </td>
       <td> - </td>
       <td> The width of the impression in pixels. Some types of ads that are not limited by the size of this area are not required, but it is strongly recommended to include this information when possible. </Td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> h </td>
       <td> int32 </td>
       <td> - </td>
       <td> The height of the impression in pixels. Some types of ads that are not limited by the size of this area are not required, but it is strongly recommended to include this information when possible. </Td>
   </tr>
</table>

'''Site Object''' <br />
The site object must be included if the ad supports content as part of the website. The bid request must not contain both the site object and the application object. If the parameter is not specified, it should be considered as unknown. At a minimum, it is useful to provide the URL of the page or the site ID, but this is not mandatory. <br />

<table>
   <tr bgcolor = #DCDCDC>
       <th width = 120 align = left> Field </th>
       <th width = 180 align = left> Type </th>
       <th width = 100 align = left> Default </th>
       <th width = 350 align = left> Description </th>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> id </td>
       <td> string </td>
       <td> - </td>
       <td> Exchange Site ID </td>
</tr>
   <tr bgcolor = #F5F5F5>
       <td> page </td>
       <td> string </td>
       <td> - </td>
       <td> URL of the page where impressions will be displayed. </td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> domain </td>
       <td> string </td>
       <td> - </td>
       <td> The domain of the site used to block the side of the advertiser. For example, "foo.com". </Td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> cat </td>
       <td> Array of strings </td>
       <td> - </td>
       <td> An array of IAB content categories for a common site. '''Cm. Table 6.1 "Content Categories" of the OpenRTB 2.1 specification '''</td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> pagecat </td>
       <td> Array of strings </td>
       <td> - </td>
       <td> The IAB array of content categories for the current page. '''Cm. Table 6.1 "Content Categories" of the OpenRTB 2.1 specification '''</td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> content </td>
       <td> object </td>
       <td> - </td>
       <td> See Content object </td>
   </tr>
</table>

'''Content object''' <br />
The content object itself and all its parameters are optional, therefore no default value is provided. If the parameter is not specified, it should be considered as unknown. This object describes the content in which the impression appears. This object can be useful in a situation where the syndicated content contains impressions that do not necessarily coincide with the publisher’s general content. Sharing may or may not give a complete understanding of the page where the content works as a result of the syndication method. <br />

<table>
   <tr bgcolor = #DCDCDC>
       <th width = 120 align = left> Field </th>
       <th width = 120 align = left> Required? </th>
       <th width = 120 align = left> Type </th>
       <th width = 150 align = left> Default </th>
       <th width = 600 align = left> Description </th>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> keywords </td>
       <td> Optional </td>
       <td> string </td>
       <td> - </td>
       <td> Comma-delimited list of keywords describing the content. </td>
   </tr>
</table>

'''Device Object''' <br />
The device object provides information related to the device, including its equipment, platforms, location. This device may apply to mobile phones, computers, set-top boxes or other digital devices. <br />
The device object itself and all its parameters are optional, so no default value is provided. If the parameter is not specified, it should be considered as unknown. <br />
In general, the most important field is the IP address (to perform a geo-search for the applicant). <br />

<table>
   <tr bgcolor = #DCDCDC>
       <th width = 130 align = left> Field </th>
       <th width = 200 align = left> Type </th>
       <th width = 150 align = left> Default </th>
       <th width = 350 align = left> Description </th>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> ua </td>
       <td> String </td>
       <td> - </td>
       <td> User Agent Browser String </td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> ip </td>
       <td> String </td>
       <td> - </td>
       <td> IPv4 address closest to device </td>
   </tr>
</table>

'''User object''' <br />
The “User” object contains information known or received about a person, a device user. The user object itself and all its parameters are optional, so the default value is not provided. If the optional parameter is not specified, it should be considered as unknown. <br />

<table>
   <tr bgcolor = #DCDCDC>
       <th width = 120 align = left> Field </th>
       <th width = 120 align = left> Required? </th>
       <th width = 120 align = left> Type </th>
       <th width = 150 align = left> Default </th>
       <th width = 600 align = left> Description </th>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> id </td>
       <td> Required </td>
       <td> string </td>
       <td> - </td>
       <td> The unique consumer ID of this user in the auction. </td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> buyeruid </td>
       <td> Optional </td>
       <td> string </td>
       <td> - </td>
       <td> DSP user ID </td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> yob </td>
       <td> Optional </td>
       <td> int32 </td>
       <td> - </td>
       <td> Year of birth as a 4 digit number. </td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> gender </td>
       <td> Optional </td>
       <td> string </td>
       <td> - </td>
       <td> Paul, as "M" men, "F" women, "O" Other. (Zero indicates unknown). </Td>
   </tr>
</table>

<b> DSP request example /advertiser (buyer) </b> <br />
<code>
<pre>
{
   "id": "140835804423031",
   "imp": [
      {
         "id": "1",
         "banner": {
             "w": 120,
             "h": 120
         },
         "ext": {
            "ad_type": 10, //10 - teaser, 20 - banner, 40 - clickunder, 70 - video
            "limit": 1 //number of teasers for teaser block
         },
         "bidfloor": 1.2,
         "bidfloorcur": "RUB"
       }
   ],
   "site": {
      "id": "34524253",
      "page": "http://testdomain.ru/bolezni-u-vzrosluh.html",
      "domain": "testdomain.ru",
      "cat": [
         "IAB7"
      ],
      "pagecat": [
         "IAB7"
      ],
      "content": {
         "keywords": "treatment, children, disease, osteoporosis"
      }
   },
   "device": {
      "ua": "Mozilla /5.0 (Macintosh; Intel Mac OS X 10_9_4) AppleWebKit /537.36 (KHTML, like Gecko) Chrome /36.0.1985.143 Safari /537.36",
      "ip": "95.31.8.193"
   },
   "user": {
       "id": "ssp140533010201346370"
   },
   "at": 2
}
</pre>
</code>

== Example of a valid DSP response ==

'''Object definition''' <br />
Below are the definitions of the various objects involved in responding to a request. <br />

'''Answer rate object''' <br />
The top level of the response rate object is defined below. The "ID" attribute is a reflection of the request rate ID to write to the database. At least one “seatbid” object is required, which includes at least one impression. Other attributes are optional, since the exchange can set the default values. <br />

<table>
   <tr bgcolor = #DCDCDC>
       <th width = 130 align = left> Field </th>
       <th width = 200 align = left> Type </th>
       <th width = 350 align = left> Definition </th>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> id </td>
       <td> String </td>
       <td> Request Bid ID </td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> cur </td>
       <td> String </td>
       <td> The currency in which the bet is made. In the current version, only “RUB” is available. </Td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> seatbid </td>
       <td> Array of objects </td>
       <td> array of seatbid objects </td>
   </tr>
</table>

'''Seat Bid Object''' <br />
Since a request rate may include several offers, each "seatbid" object may contain several rates relating to different offers. Thus, each “bid” object must include the ID of the offer to which it refers, as well as the price of the offer. <br />

<table>
   <tr bgcolor = #DCDCDC>
       <th width = 130 align = left> Field </th>
       <th width = 200 align = left> Type </th>
       <th width = 250 align = left> Definition </th>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> Bid </td>
       <td> Array of objects </td>
       <td> Array of object rates; each object rate refers to an imp object in the request rate. One imp object can have many object stakes. </Td>
   </tr>
</table>

'''Bid Object (Bid)''' <br />
<table>
   <tr bgcolor = #DCDCDC>
       <th width = 130 align = left> Field </th>
       <th width = 200 align = left> Type </th>
       <th width = 350 align = left> Definition </th>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> id </td>
       <td> String </td>
       <td> Bid object ID is selected by the bidder for tracking and debugging. Useful when multiple bets per show are shown for a given place. </Td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> impid </td>
       <td> String </td>
       <td> ID of the impression object to which this rate applies. </td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> adid </td>
       <td> String </td>
       <td> ID that refers to an ad to use in case the bet wins. </td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> ext </td>
       <td> Object </td>
       <td> For teaser format. Additional object rate extensions. </Td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> price </td>
       <td> Float </td>
       <td> Bid price per thousand impressions. </td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> nurl </td>
       <td> String </td>
       <td> Win URL notification. Please note that the ad is usually tagged, but this is not necessary for returning via URLs </td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> adm </td>
       <td> String </td>
       <td> A part representing an advertising banner in the '''HTML''' format or an advertising video or a link for a clicker </td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> iurl </td>
       <td> String </td>
       <td> Only for DSP response when requesting video. Link to advertising video. </Td>
   </tr>
</table>

'''An example of a valid DSP response when requesting a banner (with html-part):''' <br />
<code>
<pre>
{
  "id": "6",
  "seatbid": [
    {
       "bid": [
         {
            "id": 1,
            "impid": "1",
            "adid": 1085932,
            "adm": "<a target='_blank'href='http://test_url.com/test'> <img src = 'http: //test/test.gif' width = '300' height = '300 '> </a> ",
            "price": 2.6269636,
            "nurl": "http://domain.ru/?dsp_win&bid=${AUCTION_PRICE}&ads=$ {AUCTION_AD_ID} & auctionID = $ {AUCTION_ID}"
          }
       ]
     }
   ]
}
</pre>
</code>

'''An example of a valid DSP response when requesting a teaser:''' <br />
<code>
<pre>
{
   "id": "5",
   "seatbid": [
      {
       "bid": [
          {
           "id": 1,
           "adid": 0,
           "impid": "1",
           "ext": {
             "ads": [
              {
                "id": 1061077,
                "title": "The bone will disappear in a week!",
                "text": "Found a simple way to cure \" bones \ "! Write down ...",
                "image": "http://domain.ru/1406733540_16197_phpi61ewn.jpg",
                "cpm": 6.0,
                "url": "http://domain.ru/test/test_url"
              },
              {
                "id": 1083442,
                "title": "How to wash the car 3-4 times a year",
                "text": "This is a penny tool carefully concealed car washes!",
                "image": "http://domain.ru/1407217586_9686_phpgqddlm.jpg",
                "cpm": 2.6,
                "url": "http://domain.ru/test/test_url"
              },
              {
                "id": 1087092,
                "title": "Wash your car 2 times a year!",
                "text": "Employees of car washes hide this cheap tool!",
                "image": "http://domain.ru/1407310654_12085_phpm6spfp.jpg",
                "cpm": 2.5,
                "url": "http://domain.ru/test/test_url"
              }
             ]
           },
           "price": 11.1,
           "nurl": "http://domain.ru/?dsp_win&bid=${AUCTION_PRICE}&ads=$ {AUCTION_AD_ID} & auctionID = $ {AUCTION_ID}"
          }
        ]
      }
    ]
}
</pre>
</code>

'''An example of a valid DSP response when requesting a clicker:''' <br />
<code>
<pre>
{
   "id": "6",
   "seatbid": [
      {
        "bid": [
           {
             "id": 1,
             "impid": "1",
             "adid": 1085932,
             "adm": "http://test_url.com/test",
             "price": 2.6269636,
             "nurl": "http://domain.ru/?dsp_win&bid=${AUCTION_PRICE}&ads=$ {AUCTION_AD_ID} & auctionID = $ {AUCTION_ID}"
           }
        ]
      }
    ]
}
</pre>
</code>

'''An example of a valid DSP response when requesting a video:''' <br />
<code>
<pre>
{
    "id": "6",
    "seatbid": [
       {
         "bid": [
            {
              "id": 1,
              "impid": "1",
              "adid": 30641
              "iurl": "http://videotest.ru/video.flv"
              "adm": "% 3CVAST + version% 3D% 223.0% 22% 3E +% 0D% 0A% 3Cad-
id% 3D% 2230641% 22% 3E +% 0D% 0A% 3CInLine% 3E +% 0D% 0A% 3CAdSystem% 3EAdSystem
+ Name% 3C% 2FAdSystem% 3E% 0D% 0A% 3CAdTitle% 3ETitle% 3C% 2FAdTitle% 3E% 0D% 0A%
3CImpression% 3E% 0D% 0A% 21% 5BCDATA% 5Bhttp% 3A% 2F% 2Fmyimpression.ru% 2F% 3Fc
ommand% 3Dtrack_view% 26skip% 3Dtrue% 5D% 5D% 0D% 0A% 3C% 2FImpression% 3E% 0D% 0
A% 3CCreatives% 3E +% 0D% 0A% 3CCreative% 3E +% 0D% 0A% 3CLinear% 3E +% 0D% 0A% 3CDu
ration% 3E00% 3A00% 3A21% 3C% 2FDuration% 3E +% 0D% 0A% 3CTrackingEvents% 3E +% 0D%
0A% 3CTracking + event% 3D% 22firstQuartile% 22% 3E% 21% 5BCDATA% 5B% 24% 7BTRACK_U
RL% 7D% 5D% 5D +% 0D% 0A% 3C% 2FTracking% 3E% 0D% 0A% 3C% 2FTrackingEvents% 3E +% 0
D% 0A% 3CMediaFiles% 3E +% 0D% 0A% 3CMediaFile + delivery% 3D% 22streaming% 22 + bitrate%
3D% 22600% 22 + width% 3D% 22640% 22 + height% 3D% 22480% 22 + type% 3D% 22video% 2Fx-
flv% 22% 3E% 0D% 0A% 3C% 21% 5BCDATA% 5Bhttp% 3A% 2F% 2Fvideotest.ru% 2Fvideo.flv% 5D
% 5D% 3E% 0D% 0A% 3C% 2FMediaFile% 3E% 0D% 0A% 3C% 2FMediaFiles% 3E +% 0D% 0A% 3C
% 2FLinear% 3E +% 0D% 0A% 3C% 2FCreative% 3E +% 0D% 0A% 3C% 2FCreatives% 3E +% 0D% 0A
% 3C% 2FInLine% 3E +% 0D% 0A% 3C% 2FAd% 3E +% 0D% 0A% 3C% 2FVAST% 3E + "
              "price": 2.6269636,
              "nurl": "http://domain.ru/?dsp_win&bid=${AUCTION_PRICE}&ads=$ {AUCTION_AD_ID} & auctionID = $ {AUCTION_ID}"
             }
          ]
        }
     ]
}
</pre>
</code>

'''The adm field format of the bid object when requesting a video:''' <br />
Promotional video must be submitted in accordance with the Video Ad Serving Template (VAST) 3.0 protocol specification (http://www.iab.net/media/file/VASTv3.0.pdf) with the embedded $ {TRACK_URL} macro in the < Tracking event = "firstQuartile"> ... </Tracking> and is encoded in a URL format. If desired, the DSP can also add tracks for 1⁄2, 3⁄4 and full video viewing. <br />
'''Attention!''' Only Linear type of advertising video is supported and only with one media file for up to 30 seconds. Acceptable types of media files are mp4, webm, ogg, and flv. <br />

An example of the presentation of video material in XML format and embedded macro: <br />
<code>
<pre>
<VAST version = "3.0">
  <Ad id = "30641">
    <InLine>
      <AdSystem> AdSystem Name </AdSystem> //advertiser name
      <AdTitle> Title </AdTitle> //general name of the material
      <Impression>
      <! [CDATA [http://myimpression.ru/?command=track_view&skip=true]]>
      </Impression> //link that is called when viewing the first frame of video
      <Creatives>
        <Creative>
          <Linear>
            <Duration> 00:00:21 </Duration> //video length
            <TrackingEvents>
              <Tracking event = "firstQuartile">
                <! [CDATA [$ {TRACK_URL} & furl = xxx]]>
              </Tracking> //contains a link that is called when playing a quarter of a video, where xxx is a similar link from DSP
            </TrackingEvents>
            <Mediafiles>
              <MediaFile delivery = "streaming" bitrate = "600" width = "640" height = "480" type = "video /x-flv">
                <! [CDATA [http://videotest.ru/video.flv]]> //link to the advertising video
              </MediaFile>
            </Mediafiles>
          </Linear>
        </Creative>
      </Creatives>
    </InLine>
  </Ad>
</Vast>
</pre>
</code>

After that, the XML structure is encoded in the URL format and placed in the bid.adm field. Reading the display and sending win notice occurs after viewing 25% of the video. <br />

Teaser materials should be represented by separate objects in the response code. The ext.ads field contains an array of material objects, where: <br />
* id - material identifier <br />
* title - material title <br />
* text - text material <br />
* url - link to transition <br />
* image - image link <br />
* cpm - personal cpm of the material (price per 1000 impressions) <br />
If it is not possible to specify the material's individual CPM, then the rate must be indicated in the price field. This rate will be distributed evenly among the materials in the DSP response. <br />
RTB SSP supports the standard set of macros for nurl. <br />
Exceptions are the $ {AUCTION_AD_ID} and $ {AUCTION_PRICE} macros. <br />
The auction takes place at the level of individual materials, not at the block level, so the value of $ {AUCTION_AD_ID} will consist of a list of materials separated by a comma, which won the auction. <br />
The macro $ {AUCTION_PRICE} contains the bid of the winning material, in fact the bid of the second of the materials in the auction, taking into account the mechanism of the “auction of the second price”. <br />
And the macro $ {AUCTION_PRICE_TTL} will contain the sum of the bids of materials from the macro $ {AUCTION_AD_ID}, that is, the total amount of the write-off for these bids. <br />

== User Synchronization ==

For DSP, a user synchronization service with KadamSSP is also available under the SSP initiator scheme. The principle of operation is as follows: <br />
<ul>
1. KadamSSP calls the match link provided by the DSP with the user id in the SSP system. <br />
2. DSP recognizes \ creates a user cookie and redirects it to the match link provided by the SSP with its user id or if the user is not interested or the DSP wants to store a matching table on its side - responds to the request with code 204. <br />
3. KadamSSP contributes to the table. <br />
4. In the following auctions with this user, the DSP will receive a request with the user.buyeruid field and the user id value in the DSP system. <br />
</ul>
Also, with the cookie service running and the format of storing the match table on the SSP side, the option “Send only matched” is possible, in which only requests are sent to the DSP with the participation of the user for whom an entry has been created in the match table.
 ист. русский (ru)==Введение==
RTB аукцион (SSP) предоставляет владельцам рекламных площадок возможность вести торги в реальном времени выбирая самые выгодные предложения, которые предоставляют рекламодатели.
==Как работает RTB (real-time bidding)==
Real-time bidding (торги в реальном времени) являются взаимодействием уровня серверсервер между рекламным инвентарем на аукционе SSP (sell-side platform) и продавцами (рекламными площадками) по протоколу ''http post''. Весь рекламный инвентарь, который удовлетворяет требования, доступен владельцам площадок посредством RTB инфраструктуры.<br/>
Ниже описанный принцип работы аукциона дает краткое понятие о процессе (более детализированное описание смотрите в разделе '''“Описание рабочего процесса”'''):<br/>
<ul>
1. RTB SSP (Real-time bidding sell-side platform) получает рекламный запрос от продавца и отбирает список покупателей для аукциона<br/>
2. RTB SSP отправляет запрос покупателям из выбранного списка<br/>
3. Каждый покупатель из списка получает запрос и оценивает свою возможность участия в торгах, отвечает на запрос<br/>
4. RTB SSP проводит аукцион на основании полученных ставок от покупателей<br/>
5. RTB SSP «доставляет» рекламное объявление победителя торгов среди рекламодателей продавцу рекламного места на площадке<br/>
6. RTB SSP отсылает результаты торгов участникам аукциона<br/>
</ul>
==О документе==
Документ описывает подключение DSP (demand-side platform) или рекламодателя к RTB SSP (sell-side platform). Интерфейс SSP разработан в соответствии со спецификацией протокола OpenRTB v.2.3<br/>
http://www.iab.net/media/file/OpenRTB-API-Specification-Version-2-3.pdf<br/>
==Термины и определения==
'''Bid request''' – запрос от RTB SSP отсылаемый покупателям (рекламодателям) для выставления на торг своих рекламных предложений<br/>
'''Bid response''' – ответ покупателя к RTB SSP в качестве ставки для торгов<br/>
'''CPM''' (Cost per mille) – цена за одну тысячу показов рекламного объявления<br/>
'''RTB''' (Real-time bidding) – торги в реальном времени, принцип поставки рекламы продавцу рекламного места в реальном времени<br/>
'''SSP''' (sell-side platform) – система торгов в реальном времени, представляющая интересы продавцов (владельцев площадок)<br/>
'''DSP''' (demand-side platform) - рекламная система представляющая интересы покупателей (рекламодателей)<br/>
'''Впечатление''' - тизер, баннер, отдельное рекламное объявление<br/>
==Описание рабочего процесса==
Каждый запрос к покупателю (рекламодателю) сопровождается следующими шагами:<br/>
'''1. Выбор покупателя в реальном времени'''<br/>
После получения запроса на показ рекламы от продавца (площадки) RTB аукцион выбирает список покупателей для выставления рекламных ставок. Выбираются ставки, которые имеют наибольшие шансы для победы в аукционе.<br/>
'''2. Запрос на ставки (bid request) от RTB SSP'''<br/>
RTB аукцион отправляет запросы выбранным покупателям (рекламодателям). Запрос содержит техническую информацию необходимую для “поставки” рекламного объявления, а также набор таргетингов по данному запросу. Если один и тот же покупатель (рекламодатель) имеет несколько объявлений, которые совпадают с таргетингами запроса от продавца рекламного места, то RTB аукцион включает в торги все подходящие под запрос поступающие ставки.<br/>
'''3. Ответ от покупателя (bid response)'''<br/>
Покупатель получает запрос от RTB аукциона и оценивает возможность участия в торгах. В качестве ответа покупатель отсылает предложение с ценой ставки или не отвечает на запрос, если у него нет предложений по данному запросу. Покупатель должен ответить на запрос в рамках отведенного интервала времени, иначе потеряет возможность участия в торгах. В случае наличия нескольких предложений для торгов, покупатель должен ответить на запрос ответов с ценой на каждое свое предложение, которое он готов выставить на торг.<br/>
'''4. Аукцион'''<br/>
Когда получены все ставки (в отведенное время на принятие ответов от покупателей), происходит аукцион. Продавцы имеют возможность указать минимальную цену для площадки, на которой они продают место. В связи с этим, каждая победившая ставка должна быть выше, чем минимальная цена, которую выставляет продавец места на площадке. Все материалы проходят обязательную модерацию в системе RTB SSP.<br/>
'''5. Нотификация о результатах'''<br/>
RTB SSP отправляет уведомления о результатах каждому участнику в каждом отдельно взятом аукционе.<br/>
==Запросы к DSP==
Запрос к DSP (или покупателю) представляет собой набор информации:<br/>
<ul>
- о рекламной площадке;<br/>
- о посетителе этой рекламной площадки;<br/>
- об устройстве, с которого посетитель зашел;<br/>
- о списке рекламных мест под рекламу;<br/>
</ul>
Запрос к DSP представлен в json формате, то есть [content_type] => application/json.<br/>
==Пример запроса DSP/покупателю==
'''Определение объекта'''<br/>
Ниже приводятся определения различных объектов, задействованных в запросе.<br/>
'''Объект запроса предложения'''<br/>
Объект ставки предложения высшего уровня содержит глобально уникальную ставку предложения или ID аукциона. Этот обязательный «ID» атрибут требует, по крайней мере, один «imp» (например, impression) объект. Другие атрибуты являются необязательными, поскольку обмен может устанавливать значения по умолчанию. Колонка «по умолчанию» определяет, как дополнительные параметры должны быть интерпретированы, если явные значения не предусмотрены.<br/>
<table>
   <tr bgcolor = #DCDCDC>
       <th width = 130 align = left>Поле</th>
       <th width = 200 align = left>Тип</th>
       <th width = 100 align = left>По умолчанию</th>
       <th width = 350 align = left>Описание</th>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td>id</td>
       <td>string</td>
       <td>-</td>
       <td>Уникальный идентификатор ставки запроса, обеспечивающийся путем обмена</td>
</tr>
   <tr bgcolor = #F5F5F5>
       <td>imp</td>
       <td>array of objects</td>
       <td>-</td>
       <td>Массив объектов впечатления. Несколько аукционов впечатлений могут быть указаны в одной ставке предложения. Для правильной ставки требуется, по крайней мере, одно предложение.</td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td>site</td>
       <td>object</td>
       <td>-</td>
       <td>см. объект сайта</td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td>device</td>
       <td>object</td>
       <td>-</td>
       <td>см. объект устройства</td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td>user</td>
       <td>object</td>
       <td>-</td>
       <td>см. объект пользователя</td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td>ext</td>
       <td>object</td>
       <td>-</td>
       <td>Этот объект является прототипом, который может содержать пользовательские JSON, согласованные сторонами в сделке OpenRTB, поддерживающей гибкость стандартов, определенных в данной спецификации. '''Описано в примере запроса к DSP / покупателю'''</td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td>at</td>
       <td>int</td>
       <td>2</td>
       <td>Принцип аукциона. Если "1", то первый аукцион. Если "2", то второй аукцион. Дополнительные виды аукционов могут быть определены в соответствии с бизнес правилами биржи.</td>
   </tr>
</table>
'''Объект впечатления'''<br/>
Объект «imp» описывает позицию объявления или впечатления на аукционе. Колонка «По умолчанию» определяет, как дополнительные параметры должны быть интерпретированы в случае, если явные значения не предусмотрены.<br/>
<table>
   <tr bgcolor = #DCDCDC>
       <th width = 130 align = left>Поле</th>
       <th width = 200 align = left>Тип</th>
       <th width = 100 align = left>По умолчанию</th>
       <th width = 350 align = left>Описание</th>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td>id</td>
       <td>string</td>
       <td>-</td>
       <td>Уникальный идентификатор для этого впечатления в контексте ставки предложения (как правило, стоимость начинается с 1, и увеличивается до n величины за n количество показов).</td>
</tr>
   <tr bgcolor = #F5F5F5>
       <td>banner</td>
       <td>Object</td>
       <td>-</td>
       <td>Ссылка на объект баннера. Любой баннер или видео объект (или оба, если впечатление позволяет) должны быть включены в представление объекта; оба объекта не обязательно включать. См. Объект баннера</td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td>ext</td>
       <td>object</td>
       <td>-</td>
       <td>Этот объект является прототипом, который может содержать пользовательские JSON, согласованные сторонами в сделке OpenRTB</td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td>bidfloor</td>
       <td>float</td>
       <td>0</td>
       <td>Минимальная ставка для '''каждого''' материала, который будет передан в ответе на запрос.</td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td>bidfloorcur</td>
       <td>string</td>
       <td>RUB</td>
       <td>Валюта, в которой указана минимальная ставка.</td>
   </tr>
</table>
'''Объект баннера'''<br/>
Объект баннера должен быть включен непосредственно в представление объекта в случае, если впечатление выставлено на аукцион и является отображающимся или мультимедийным. Колонка «По умолчанию» показывает, как дополнительные параметры должны быть интерпретированы, если явные значения не предусмотрены.<br/>
<table>
   <tr bgcolor = #DCDCDC>
       <th width = 130 align = left>Поле</th>
       <th width = 200 align = left>Тип</th>
       <th width = 100 align = left>По умолчанию</th>
       <th width = 350 align = left>Описание</th>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td>w</td>
       <td>int32</td>
       <td>-</td>
       <td>Ширина впечатления в пикселях. Некоторые типы объявлений, не ограниченные размером этой области, не требуется, но настоятельно рекомендуется включать эту информацию тогда, когда это возможно.</td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td>h</td>
       <td>int32</td>
       <td>-</td>
       <td>Высота впечатления в пикселях. Некоторые типы объявлений, не ограниченные размером этой области, не требуется, но настоятельно рекомендуется включать эту информацию тогда, когда это возможно.</td>
   </tr>
</table>
'''Объект сайта'''<br/>
Объект сайта должен быть включен, если объявление поддерживает контент, как часть веб-сайта. Запрос ставки не должен содержать и объект сайта, и приложение объекта. Если параметр не указан, его следует рассматривать как неизвестный. Как минимум, это полезно для обеспечения URL страницы или ID сайта, но это не является обязательным.<br/>
<table>
   <tr bgcolor = #DCDCDC>
       <th width = 120 align = left>Поле</th>
       <th width = 180 align = left>Тип</th>
       <th width = 100 align = left>По умолчанию</th>
       <th width = 350 align = left>Описание</th>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td>id</td>
       <td>string</td>
       <td>-</td>
       <td>ID сайта для обмена</td>
</tr>
   <tr bgcolor = #F5F5F5>
       <td>page</td>
       <td>string</td>
       <td>-</td>
       <td>URL страницы, на которой будут показываться впечатления.</td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td>domain</td>
       <td>string</td>
       <td>-</td>
       <td>Домен сайта, используемый для блокировки стороны рекламодателя. Например, "foo.com".</td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td>cat</td>
       <td>Array of strings</td>
       <td>-</td>
       <td>Массив IAB категорий контента для общего сайта. '''См. Таблица 6.1 «Категории контента» спецификации OpenRTB 2.1'''</td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td>pagecat</td>
       <td>Array of strings</td>
       <td>-</td>
       <td>Массив IAB категорий контента для текущей страницы. '''См. Таблица 6.1 «Категории контента» спецификации OpenRTB 2.1'''</td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td>content</td>
       <td>object</td>
       <td>-</td>
       <td>См. Объект контента</td>
   </tr>
</table>
'''Объект контента'''<br/>
Сам объект контента и все его параметры являются необязательными, поэтому значение по умолчанию не предусмотрено. Если параметр не указан, его следует рассматривать как неизвестный. Этот объект описывает контент, в котором появляется впечатление. Этот объект может быть полезен в ситуации, когда синдицированный контент содержит впечатления, не обязательно совпадающие с общим контентом издателя. Обмен может или не может дать полного понимания о той странице, где контент работает в результате метода синдикации.<br/>
<table>
   <tr bgcolor = #DCDCDC>
       <th width = 120 align = left>Поле</th>
       <th width = 120 align = left>Обязательное?</th>
       <th width = 120 align = left>Тип</th>
       <th width = 150 align = left>По умолчанию</th>
       <th width = 600 align = left>Описание</th>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td>keywords</td>
       <td>Необязательно</td>
       <td>string</td>
       <td>-</td>
       <td>Разделенный запятыми, список ключевых слов, описывающих контент.</td>
   </tr>
</table>
'''Объект устройства'''<br/>
Объект устройства предоставляет информацию, относящуюся к устройству, включая его оборудование, платформы, расположение. Это устройство может относиться к мобильным телефонам, компьютерам, телевизионным приставкам или другим цифровым устройствам.<br/>
Сам по себе объект устройства и все его параметры являются необязательными, поэтому значение по умолчанию не предусмотрено. Если параметр не указан, его следует рассматривать как неизвестный.<br/>
В целом, наиболее существенное поле – это IP-адрес (чтобы осуществлять гео-поиск для претендента).<br/>
<table>
   <tr bgcolor = #DCDCDC>
       <th width = 130 align = left>Поле</th>
       <th width = 200 align = left>Тип</th>
       <th width = 150 align = left>По умолчанию</th>
       <th width = 350 align = left>Описание</th>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td>ua</td>
       <td>String</td>
       <td>-</td>
       <td>Браузер-строка агента пользователя</td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td>ip</td>
       <td>String</td>
       <td>-</td>
       <td>IPv4-адрес, ближайший к устройству</td>
   </tr>
</table>
'''Объект пользователя'''<br/>
Объект «Пользователь» содержит информацию, известную или полученную о человеке, пользователе устройства. Сам по себе объект пользователя и все его параметры являются необязательными, поэтому значение «по умолчанию» не предусмотрено. Если дополнительный параметр не указан, его следует рассматривать как неизвестный.<br/>
<table>
   <tr bgcolor = #DCDCDC>
       <th width = 120 align = left>Поле</th>
       <th width = 120 align = left>Обязательное?</th>
       <th width = 120 align = left>Тип</th>
       <th width = 150 align = left>По умолчанию</th>
       <th width = 600 align = left>Описание</th>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td>id</td>
       <td>Обязательно</td>
       <td>string</td>
       <td>-</td>
       <td>Уникальный ID потребителя этого пользователя в аукционе.</td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td>buyeruid</td>
       <td>Необязательно</td>
       <td>string</td>
       <td>-</td>
       <td>ID пользователя в системе DSP</td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td>yob</td>
       <td>Необязательно</td>
       <td>int32</td>
       <td>-</td>
       <td>Год рождения как 4значное число.</td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td>gender</td>
       <td>Необязательно</td>
       <td>string</td>
       <td>-</td>
       <td>Пол, как "M" мужчины, "Ж" женщины, "O" Другое. (Ноль указывает неизвестный).</td>
   </tr>
</table>
<b>Пример запроса DSP / рекламодателю (покупателю)</b><br/>
<code>
<pre>
{
   "id":"140835804423031",
   "imp":[ 
     {
         "id":"1",
         "banner":{
             "w":120,
             "h":120 
         },
         "ext":{
           "ad_type":10, // 10 - teaser, 20 - banner, 40 – clickunder, 70 - video 
           "limit":1 // количество тизеров для тизерного блока 
         }, 
         "bidfloor":1.2, 
         "bidfloorcur":"RUB"
       }
   ],
   "site":{
     "id":"34524253", 
     "page":"http://testdomain.ru/bolezni-u-vzrosluh.html",
     "domain":"testdomain.ru",
     "cat":[
         "IAB7"
     ],
     "pagecat":[
         "IAB7"
     ],
     "content":{
         "keywords": "лечение, детский, болезнь, остеопороз" 
     }
   },
   "device":{
     "ua":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.143 Safari/537.36",
     "ip":"95.31.8.193"
   },
   "user":{
       "id":"ssp140533010201346370"
   },
   "at":2
}
</pre>
</code>
==Пример валидного ответа DSP==
'''Определение объекта'''<br/>
Ниже приводятся определения различных объектов, задействованных в ответе на запрос.<br/>
'''Объект ставки ответа'''<br/>
Верхний уровень объекта ставки ответа определен ниже. "ID" атрибут является отражением ID ставки запроса для записи в базу. Требуется, по крайней мере, один объект «seatbid», который включает в себя, по крайней мере, одно впечатление. Другие атрибуты являются необязательными, так как обмен может устанавливать значения «по умолчанию».<br/>
<table>
   <tr bgcolor = #DCDCDC>
       <th width = 130 align = left>Поле</th>
       <th width = 200 align = left>Тип</th>
       <th width = 350 align = left>Определение</th>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td>id</td>
       <td>String</td>
       <td>ID ставки запроса</td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td>cur</td>
       <td>String</td>
       <td>Валюта в которой делается ставка. В текущей версии доступна только “RUB”.</td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td>seatbid</td>
       <td>Array of objects</td>
       <td>Массив объектов seatbid</td>
   </tr>
</table>
'''Объект Seat Bid'''<br/>
Так как ставка запроса может включать в себя несколько предложений, каждый объект "seatbid" может содержать несколько ставок, относящихся к различным предложениям. Таким образом, каждый объект «bid» должен включать ID предложения, к которому он относится, а также цену предложения.<br/>
<table>
   <tr bgcolor = #DCDCDC>
       <th width = 130 align = left>Поле</th>
       <th width = 200 align = left>Тип</th>
       <th width = 250 align = left>Определение</th>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td>Bid</td>
       <td>Array of objects</td>
       <td>Массив ставок объектов; каждая ставка объекта относится к imp объекту в ставке запроса. Один imp объект может иметь много ставок объектов.</td>
   </tr>
</table>
'''Объект Ставки (Bid)'''<br/>
<table>
   <tr bgcolor = #DCDCDC>
       <th width = 130 align = left>Поле</th>
       <th width = 200 align = left>Тип</th>
       <th width = 350 align = left>Определение</th>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td>id</td>
       <td>String</td>
       <td>ID объекта ставки выбирается претендентом для отслеживания и отладки. Полезно, когда для данного места представляется несколько ставок на один показ</td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td>impid</td>
       <td>String</td>
       <td>ID объекта впечатления, к которому эта ставка применяется.</td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td>adid</td>
       <td>String</td>
       <td>ID, который ссылается на объявление, чтобы использовать его в случае, если ставка выигрывает.</td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td>ext</td>
       <td>Object</td>
       <td>Для тизерного формата. Дополнительные расширения ставки объекта.</td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td>price</td>
       <td>Float</td>
       <td>Ставка цены в тысячу показов.</td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td>nurl</td>
       <td>String</td>
       <td>Выигрыш уведомления URL. Обратите внимание, что объявление, как правило, размечено, но это не обязательно для возвращающихся через URL</td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td>adm</td>
       <td>String</td>
       <td>Часть представляющая рекламный баннер в формате '''HTML''' или рекламный видеоролик либо ссылка для кликандера</td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td>iurl</td>
       <td>String</td>
       <td>Только для ответа DSP при запросе видео. Ссылка на рекламный видеоматериал.</td>
   </tr>
</table>
'''Пример валидного ответа DSP при запросе баннера(с html-частью):'''<br/>
<code>
<pre>
{
  "id": "6",
  "seatbid": [
   {
       "bid": [ 
         {
           "id": 1,
           "impid": "1",
           "adid": 1085932,
           "adm": "<a target='_blank' href='http://test_url.com/test'><img src='http://test/test.gif' width='300' height='300'></a>",
           "price": 2.6269636,
           "nurl": "http://domain.ru/?dsp_win&bid=${AUCTION_PRICE}&ads=$ {AUCTION_AD_ID}&auctionID=${AUCTION_ID}"
         }
       ]
     }
   ]
}
</pre>
</code>
'''Пример валидного ответа DSP при запросе тизера:'''<br/>
<code>
<pre>
{
   "id":"5",
   "seatbid":[
     {
       "bid":[
         {
           "id":1,
           "adid":0,
           "impid":"1",
           "ext":{
             "ads":[
             {
               "id":1061077,
               "title":"Косточка исчезнет за неделю!",
               "text":"Найден простой способ лечения \"косточки\"! Записывай...",
               "image":"http://domain.ru/1406733540_16197_phpi61ewn.jpg",
               "cpm":6.0,
               "url":"http://domain.ru/test/test_url"
             },
             {
               "id":1083442,
               "title":"Как мыть машину 3-4 раза в год",
               "text":"Это копеечное средство тщательно скрывали автомойки!",
               "image":"http://domain.ru/1407217586_9686_phpgqddlm.jpg",
               "cpm":2.6,
               "url":"http://domain.ru/test/test_url"
             },
             {
               "id":1087092,
               "title":"Мойте машину 2 раза в год!",
               "text":"Работники автомоек скрывают это копеечное средство!",
               "image":"http://domain.ru/1407310654_12085_phpm6spfp.jpg",
               "cpm":2.5,
               "url":"http://domain.ru/test/test_url"
             }
             ]
           }, 
           "price":11.1,
           "nurl":"http://domain.ru/?dsp_win&bid=${AUCTION_PRICE}&ads=$ {AUCTION_AD_ID}&auctionID=${AUCTION_ID}"
         }
       ]
     }
   ]
}
</pre>
</code>
'''Пример валидного ответа DSP при запросе кликандера:'''<br/>
<code>
<pre>
{
   "id": "6",
   "seatbid": [
     {
       "bid": [
           {
             "id": 1,
             "impid": "1",
             "adid": 1085932,
             "adm": "http://test_url.com/test",
             "price": 2.6269636,
             "nurl": "http://domain.ru/?dsp_win&bid=${AUCTION_PRICE}&ads=$ {AUCTION_AD_ID}&auctionID=${AUCTION_ID}"
           }
       ]
     }
   ]
}
</pre>
</code>
'''Пример валидного ответа DSP при запросе видео:'''<br/>
<code>
<pre>
{
   "id": "6",
   "seatbid": [
       {
         "bid": [
           {
             "id": 1,
             "impid": "1",
             "adid": 30641
             "iurl": " http://videotest.ru/video.flv "
             "adm": "%3CVAST+version%3D%223.0%22%3E+%0D%0A%3Cad-
id%3D%2230641%22%3E+%0D%0A%3CInLine%3E+%0D%0A%3CAdSystem%3EAdSystem
+Name%3C%2FAdSystem%3E%0D%0A%3CAdTitle%3ETitle%3C%2FAdTitle%3E%0D%0A%
3CImpression%3E%0D%0A%21%5BCDATA%5Bhttp%3A%2F%2Fmyimpression.ru%2F%3Fc
ommand%3Dtrack_view%26skip%3Dtrue%5D%5D%0D%0A%3C%2FImpression%3E%0D%0
A%3CCreatives%3E+%0D%0A%3CCreative%3E+%0D%0A%3CLinear%3E+%0D%0A%3CDu
ration%3E00%3A00%3A21%3C%2FDuration%3E+%0D%0A%3CTrackingEvents%3E+%0D%
0A%3CTracking+event%3D%22firstQuartile%22%3E%21%5BCDATA%5B%24%7BTRACK_U
RL%7D%5D%5D+%0D%0A%3C%2FTracking%3E%0D%0A%3C%2FTrackingEvents%3E+%0
D%0A%3CMediaFiles%3E+%0D%0A%3CMediaFile+delivery%3D%22streaming%22+bitrate%
3D%22600%22+width%3D%22640%22+height%3D%22480%22+type%3D%22video%2Fx-
flv%22%3E%0D%0A%3C%21%5BCDATA%5Bhttp%3A%2F%2Fvideotest.ru%2Fvideo.flv%5D
%5D%3E%0D%0A%3C%2FMediaFile%3E%0D%0A%3C%2FMediaFiles%3E+%0D%0A%3C
%2FLinear%3E+%0D%0A%3C%2FCreative%3E+%0D%0A%3C%2FCreatives%3E+%0D%0A
%3C%2FInLine%3E+%0D%0A%3C%2FAd%3E+%0D%0A%3C%2FVAST%3E+"
             "price": 2.6269636,
             "nurl": "http://domain.ru/?dsp_win&bid=${AUCTION_PRICE}&ads=$ {AUCTION_AD_ID}&auctionID=${AUCTION_ID}"
             }
         ]
       }
     ]
}
</pre>
</code>
'''Формат поля adm объекта ставки при запросе видео:'''<br/>
Рекламный видео материал должен быть представлен в соответствии со спецификацией протокола Video Ad Serving Template (VAST) 3.0 (http://www.iab.net/media/file/VASTv3.0.pdf) со вшитым макросом ${TRACK_URL} в поле <Tracking event="firstQuartile"> ... </Tracking> и закодирован в URL формат. При желании DSP может также добавить трэкинги на 1⁄2, 3⁄4 и полный просмотр видео.<br/>
'''Внимание!''' Поддерживается только Linear тип рекламного видеоматериала и только с одним медиафайлом длительностью до 30 секунд. Допустимые типы медиафайлов mp4, webm, ogg и flv.<br/>
Пример представления видео материала в формате XML и вшитым макросом:<br/>
<code>
<pre>
<VAST version="3.0">
  <Ad id="30641">
   <InLine>
     <AdSystem>AdSystem Name</AdSystem> // имя рекламодателя
     <AdTitle>Title</AdTitle>          //общее название материала 
     <Impression>
     <![CDATA[http://myimpression.ru/?command=track_view&skip=true]]>
     </Impression>                      //ссылка, которая вызывается при просмотре первого кадра видео
     <Creatives>
       <Creative>
         <Linear>
           <Duration>00:00:21</Duration> //длительность видео
           <TrackingEvents>
             <Tracking event="firstQuartile">
               <![CDATA[${TRACK_URL}&furl=xxx]]>
             </Tracking> //содержит ссылку, которая вызывается при проигрывании четверти видеоролика, где xxx – подобная ссылка от DSP 
           </TrackingEvents>
           <MediaFiles>
             <MediaFile delivery="streaming" bitrate="600" width="640" height="480" type="video/x-flv">
               <![CDATA[http://videotest.ru/video.flv]]> //ссылка на рекламный видеоматериал
             </MediaFile>
           </MediaFiles>
         </Linear>
       </Creative>
     </Creatives>
   </InLine>
  </Ad>
</VAST>
</pre>
</code>
После чего XML структура кодируется в URL формат и помещается в поле bid.adm. Засчитывание показа и отправка win notice происходит после просмотра 25% видеоролика.<br/>
Тизерные материалы должны быть представлены отдельными объектами в коде ответа. Поле ext.ads содержит массив объектов материалов, где:<br/>
* id - идентификатор материала<br/>
* title - тайтл материала<br/>
* text - текст материала<br/>
* url - ссылка для перехода<br/>
* image - ссылка на изображение<br/>
* cpm - персональный cpm материала(цена за 1000 показов)<br/>
В случае, если нет возможности указать персональный CPM материала, то ставку надо указывать в поле price. Эта ставка будет распределена равномерно между материалами в ответе DSP.<br/>
RTB SSP поддерживает стандартный набор макросов для nurl.<br/>
Исключением являются макросы ${AUCTION_AD_ID} и ${AUCTION_PRICE}.<br/>
Аукцион происходит на уровне отдельных материалов, а не на уровне блока, поэтому значение ${AUCTION_AD_ID} будет состоять из списка материалов, разделенных запятой, который победили в аукционе.<br/>
Макрос ${AUCTION_PRICE} содержать ставку выигравшего материала, фактически ставку второго из материалов в аукционе, учитывая механизм “аукциона второй цены”.<br/>
А макрос ${AUCTION_PRICE_TTL} будет содержать сумму бидов материалов из макроса ${AUCTION_AD_ID}, то-есть итоговую сумму списания за данных бид.<br/>
==Синхронизация пользователей==
Для DSP также доступен сервис синхронизации пользователей с KadamSSP по схеме SSP инициатор. Принцип действия следующий:<br/>
<ul>
1. KadamSSP вызывает ссылку матчинга предоставленную DSP с id пользователя в системе SSP.<br/>
2. DSP узнает\создает куку пользователя и переадресовывает его на ссылку матчинга предоставленную SSP со своим id пользователя или если пользователь неинтересен или DSP желает хранить таблицу соответствия на своей стороне — отвечает на запрос кодом 204.<br/>
3. KadamSSP вносит в таблицу соответствие.<br/>
4. При следующих аукционах с участием этого пользователя DSP получит запрос с полем user.buyeruid и значением id пользователя в системе DSP.<br/>
</ul>
Также, при работающем сервисе куки-матчинга и формате хранения таблицы соответствий на стороне SSP, возможна опция «Слать только сматченных» при которой в DSP отправляются только запросы с участием пользователя, для которого создана запись в таблице соответствий.