Все переводы

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

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

Сообщение

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

СообщениеТекущий текст
 ист. английский (en)== API authorization ==

To access the API, you will need a user ID (app_id) and a signature (signature).
Calling different methods is carried out using queries on this template:
<code>
<pre>
        api.kadam.net?%action%.%method%?%params%
</pre>
<pre>
        % action% - what are we turning to
        % method% - type of treatment
get - get
put - write
post - update
delete - delete
        % params% - request parameters

        required parameters% params%

        app_id - user id
        signature - signature
</pre>
</code>
Example:
<code>
<pre>
       [GET] http://api.kadam.net/campaigns.get?app_id=%app_id%&signature=%signature%
</pre>
</code>
or
<code>
<pre>
       [GET] http://api.kadam.net/campaigns?app_id=%app_id%&signature=%signature%
       [GET] - http access method
</pre>
</code>
'''Signature (signature)''' is created using a temporary token (access_token), which can be obtained using the app_id and secret key parameters.
<br /> Parameters app_id (user ID) and the key "secret key" are available on request to support.
<br /> Getting a token:
<code>
<pre>
       [GET] http://api.kadam.net/auth.token?app_id=%app_id%&secret_key=%key%
       -> {“access_token”: “...”}
</pre>
</code>
Generating signature for the [GET] method:
<code>
<pre>
       md5 ( %sort_params% . %access_token% )
       %sort_params% - all parameters passed (except signature) are sorted by name
</pre>
</code>
Example:
<code>
<pre>
       app_id=1&campaign_id=3…
       [PUT] http://api.kadam.net/campaigns?signature=%signature%
       +post fields -> %params%
</pre>
</code>
Example for php. Getting a list of campaigns:
<code>
<pre>
       <?
       $your_secret_key = "jqhwekq8734quo37o498q3p498qp34";
       $your_app_id = 1;
       $auth_url = "http://api.kadam.net/auth.token?app_id={$your_app_id}&secret_key={$your_secret_key}";
       $auth = file_get_contents($auth_url);
       $auth = json_decode($auth, true);

       if ( !is_array( $auth ) || !isset( $auth['access_token'] ) ) {
           die( 'something wrong! ' . print_r( $res, true ) );
       }

       $token    = $auth['access_token'];
       $params = array(
    'client_id' => $your_app_id,
       'app_id' => $your_app_id,
       );

       ksort( $params );

       $result = array ();
       foreach( $params as $key => $value ) {
           $result[] = $key . '=' . urlencode( $value );
       }
       $params = implode( '&', $result );
       $signature = md5( $params . $token );

       $campaign_url = 'http://api.kadam.net/ads.campaigns.get?' . $params . '&signature=' . $signature;

       $campaigns = file_get_contents($campaign_url);
       $campaigns = json_decode($campaigns, true);

       if ( !is_array( $campaigns ) || !isset( $campaigns['response'] ) ) {
           die( 'something wrong! ' . print_r( $campaigns, true ) );
       }
      
       print_r($campaigns);
      
</pre>
</code>

== Campaign Statistics ==
To get campaign statistics, use the method <b>ads.analytic.campaign.get</b><br />
<table>
   <tr bgcolor = #DCDCDC>
       <th width = 130 align = left>Parameters</th>
       <th width = 300 align = left>Values</th>
       <th width = 350 align = left>Optional attributes</th>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td>campaign_id</td>
       <td>campaign's id</td>
       <td>int (numeric value), required parameter</td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td>region_id</td>
       <td>region's id: data.geo.regions.get</td>
       <td>int (numeric value), required parameter</td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td>period</td>
       <td>The way data is grouped by date: 
           <p>day — daily statistics;</p>
           <p>month - monthly statistics</p>
           <p>Temporary restrictions are set by parameters date_from and date_to</p>
       </td>
       <td>required parameter, string</td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td>date_from</td>
       <td>The starting date of the statistics to display. Different date format is used for different parameter ''period'' values: 
           <p>day: YYYY-MM-DD, example: 2011-09-27;</p>
           <p>month: YYYY-MM, example: 2011-09</p>
       </td>
       <td>required parameter, string</td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td>date_to</td>
       <td>The final date of the displayed statistics. Different date format is used for different parameter ''period'' values: 
           <p>day: YYYY-MM-DD, example: 2011-09-27;</p>
           <p>month: YYYY-MM, example: 2011-09</p>
       </td>
       <td>required parameter, string</td>
   </tr>
</table>
<b>Result:</b><br />
Returns an object with data
<code>
<pre>
{
response: {
count: %total items%
items: {
shows
clicks
ctr
cpm
money
                       }
                 }
}
</pre>
</code>

== Statistics on sites in the advertiser's account ==
Statistics on sites in the advertiser's account means statistics on views and clicks on the site in the context of each campaign.
<br />To get statistics on sites, use the <b> ads.campaigns.statblock.get </b> method (GET request)
<table>
   <tr bgcolor = #DCDCDC>
       <th width = 130 align = left> Parameters </th>
       <th width = 300 align = left> Value </th>
       <th width = 350 align = left> Additional attributes </th>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> date_from </td>
       <td> Start date of the statistics output. </td>
       <td> string, format YYYY-MM-DD (example: 2017-05-15), filter parameter </td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> date_to </td>
       <td> The end date of the statistics output. </td>
       <td> string, format YYYY-MM-DD (example: 2017-05-15), filter parameter </td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> campaign_id </td>
       <td> campaign id </td>
       <td> required parameter, int (numeric value), filter parameter </td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> signature </td>
       <td> Signature (generated using a time token, see above) </td>
       <td> required parameter, string </td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> app_id </td>
       <td> user id </td>
       <td> required parameter, int (numeric value) </td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> macros </td>
       <td> site id </td>
       <td> int (numeric value), write parameter, filter option </td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> leads </td>
       <td> Leads</td>
       <td> int (numeric value), write parameter, filter option </td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> views </td>
       <td> Views </td>
       <td> int (numeric value), write parameter, filter option </td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> clicks </td>
       <td> Clicks </td>
       <td> int (numeric value), write parameter, filter option </td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> conversions </td>
       <td> Confirmed Conversions </td>
       <td> int (numeric value), write parameter, filter option </td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> rejections </td>
       <td> Failed Conversions </td>
       <td> int (numeric value), write parameter, filter option </td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> ctr </td>
       <td> CTR </td>
       <td> int (numeric value), write parameter, filter option </td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> cpm </td>
       <td> CPM </td>
       <td> int (numeric value), write parameter, filter option </td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> cpc </td>
       <td> CPC </td>
       <td> int (numeric value), write parameter, filter option </td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> prelandvisit </td>
       <td> Pre-landing Visits </td>
       <td> int (numeric value), write parameter, filter option </td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> prelanduseful </td>
       <td> Pre-landing Useful visits </td>
       <td> int (numeric value), write parameter, filter option </td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> prelandscroll </td>
       <td> Pre-landing Scroll </td>
       <td> int (numeric value), write parameter, filter option </td>
   </tr>
</table>
<b> Result: </b> <br />
Returns an object with data, example:
<code>
<pre>
{
  "response": {
    "count": 1,
    "items": [
      {
        "macros": "12345678901234",
        "block": "1234",
        "domain": "123456789",
        "leads": "0",
        "views": "123",
        "clicks": "0",
        "conversions": "0",
        "rejections": "0",
        "ctr": "0.0000",
        "cpm": "0.00",
        "cpc": null,
        "moneyOut": "0.000000",
        "moneyIn": null,
        "prelandvisit": "0",
        "prelanduseful": "0",
        "prelandscroll": "0",
        "landvisit": "0",
        "landuseful": "0",
        "landscroll": "0",
        "multiplier": null,
        "blackList": "0"
      }
    ],
    "request": {
      "campaignId": 123456,
      "limit": 10,
      "offset": 0
    }
  }
}
</pre>
</code>

'''Sorting'''

Sort Ascending
<code> <pre>
sort = {parameter}
Example: api.kadam.net?sort=views
</pre> </code>

Sort descending
<code> <pre>
sort = - {parameter}
Example: api.kadam.net?sort=-views
</pre> </code>

Sort by several parameters
<code> <pre>
sort = {parameter1}, - {parameter2}, {parameter3}
Example: api.kadam.net?sort=views,-clicks,leads
</pre> </code>

'''Filtration'''
<code> <pre>
{parameter} = {value}
Examples:
api.kadam.net?attr=10
api.kadam.net?attr=string
api.kadam.net?attr=string&date_from=01.05.2016&date_to=01.07.2016
</pre> </code>

== Change the multiplier for statistics on sites in the advertiser's account ==
To change the multiplier for site statistics, use the <b> ads.campaigns.statblock </b> method (PUT request)

Parameters (all are required):
<ul>
<li> app_id - user id, numeric value (int) </li>
<li> signature - signature, string (string) </li>
<li> campaign_id - campaign id, numeric value (int) </li>
<li> block - a numeric value (int) </li>
<li> domain - numeric value (int) </li>
<li> multiplier - new multiplier value, numeric value (float) </li>
<li> multiplierOld - old multiplier value, numeric value (float) </li>
<li> macros - pad id, numeric value (int) </li>
</ul>

The block and macros parameters in the account are not displayed, they can be obtained through the method described in the paragraph "Statistics by sites in the advertiser's account".

== Statistics on all campaign materials ==
To get statistics on all campaign materials, use the <b> ads.analytic.materials.get </b> method <br />

<table>
   <tr bgcolor = #DCDCDC>
       <th width = 130 align = left> Parameters </th>
       <th width = 300 align = left> Value </th>
       <th width = 350 align = left> Additional attributes </th>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> campaign_id </td>
       <td> campaign id </td>
       <td> int (numeric value), required parameter </td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> period </td>
       <td> Method for grouping data by date:
           <p> 1. day - statistics by day; </p>
           <p> 2. month - statistics by months; </p>
           <p> Temporary restrictions are set by date_from and date_to parameters </p>
       </td>
       <td> required parameter, string </td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> date_from </td>
       <td> The starting date of the displayed statistics. Different date format is used for different values ​​of the period parameter:
           <p> 1. day: YYYY-MM-DD, Example: 2011-09-27 </p>
           <p> 2. month: YYYY-MM, example: 2011-09 </p>
       </td>
       <td> required parameter, string </td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> date_to </td>
       <td> End date of output statistics. Different date format is used for different values ​​of the period parameter:
           <p> 1. day: YYYY-MM-DD, Example: 2011-09-27 </p>
           <p> 2. month: YYYY-MM, example: 2011-09 </p>
       </td>
       <td> required parameter, string </td>
   </tr>
</table>
<b> Result: </b> <br />
Returns an object with data
<code>
<pre>
{
response: {
count:% total items%
items: {
teaser_id
date
shows
clicks
ctr
cpm
money
                       }
                  }
}
</pre>
</code>

== Material statistics ==
For statistics on the material, use the method <b> ads.analytic.material.get </b> <br />
<table>
   <tr bgcolor = #DCDCDC>
       <th width = 130 align = left> Parameters </th>
       <th width = 300 align = left> Value </th>
       <th width = 350 align = left> Additional attributes </th>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> material_id </td>
       <td> material id </td>
       <td> int (numeric value), required parameter </td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> period </td>
       <td> Method for grouping data by date:
           <p> 1. day - statistics by day; </p>
           <p> 2. month - statistics by months; </p>
           <p> Temporary restrictions are set by date_from and date_to parameters </p>
       </td>
       <td> required parameter, string </td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> date_from </td>
       <td> The starting date of the displayed statistics. Different date format is used for different values ​​of the period parameter:
           <p> 1. day: YYYY-MM-DD, Example: 2011-09-27 </p>
           <p> 2. month: YYYY-MM, example: 2011-09 </p>
       </td>
       <td> required parameter, string </td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> date_to </td>
       <td> End date of output statistics. Different date format is used for different values ​​of the period parameter:
           <p> 1. day: YYYY-MM-DD, Example: 2011-09-27 </p>
           <p> 2. month: YYYY-MM, example: 2011-09 </p>
       </td>
       <td> required parameter, string </td>
   </tr>
</table>
<b> Result: </b> <br />
Returns an object with data
<code>
<pre>
{
response: {
count:% total items%
items: {
date
shows
clicks
ctr
cpm
money
                       }
                  }
}
</pre>
</code>

== Creating an advertising campaign ==
To create a new advertising campaign, use the <b> ads.campaigns.put </b> <br /> method
The number of campaigns created with a single request is 50. <br />
<table>
   <tr bgcolor = #DCDCDC>
       <th width = 130 align = left> Parameters </th>
       <th width = 300 align = left> Value </th>
       <th width = 350 align = left> Additional attributes </th>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> data </​​td>
       <td> a serialized JSON array of objects describing the campaigns being created. See the client_specification object description below. </Td>
       <td> required parameter, string </td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> client_specification </td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> app_id </td>
       <td> user id </td>
       <td> required parameter, int (numeric value) </td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> client_id </td>
       <td> id of the client in whose advertising account the campaign will be created. It can also take the value app_id (itself)
       </td>
       <td> required parameter, int (numeric value) </td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> ad_format </td>
       <td> Ad Format:
           <p> 10 - Teaser; </p>
           <p> 20 - Banner; </p>
           <p> 30 - Push Notifications; </p>
           <p> 40 - Clickunder; </p>
           <p> 60 - Contextual </p>
       </td>
       <td> required parameter, int (numeric value) </td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> cost_type </td>
       <td> Payment method:
           <p> 0 - CPC; </p>
           <p> 1 - CPA; </p>
           <p> 2 - CPM </p>
       </td>
       <td> required parameter, int (numeric value) </td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> name </td>
       <td> campaign name
       </td>
       <td> required parameter, string </td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> Link_url </td>
       <td> link to the advertised object in the format: http: //yoursite.cоm
       </td>
       <td> required parameter, string </td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> real_url </td>
       <td> link to the real domain of the advertised object in the format: http: //yoursite.cоm
       </td>
       <td> required parameter, string </td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> sex </td>
       <td> Gender:
           <p> 3 - any; </p>
           <p> 2 - male; </p>
           <p> 1 - female </p>
       </td>
       <td> required parameter, int (numeric value) </td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> age </td>
       <td> The age of the target audience. Age category number from 1 to 6 (up to 17, 18-25, 26-34, 35-49, 50-60, over 61) </td>
       <td> required parameter, a sequence of numbers separated by a comma </td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> regions </td>
       <td> Regions, from 1 to 10 (1 - Russia, 2 - Ukraine, etc.) </td>
       <td> required parameter, a sequence of numbers separated by a comma </td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> cpa_mode </td>
       <td> Type of conversion notifications for CPA: /ads.targeting.modes.get </td>
       <td> int (numeric value), mandatory for CPA campaigns </td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> categories </td>
       <td> <p> category IDs: </p>
           <p> /data.categories.get?ad_format =% </p>
           
       </td>
       <td> <p> array [category_id => cost] </p> </td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> tags </td>
       <td> keyword targeting </td>
       <td> <p> required parameter, a sequence of keywords separated by a comma: [“key1”, “key2”, .., “keyN”] </p>
           <p> Keywords with price. Only for payment - for clicks or for views: {“key1”: “cost”, “key2”: “cost”, .., “keyN”: “cost”} </p>
           <p> cost - float </p>
           <p> example: "data [tags] [qwerty]: 1" is the qwerty keyword with a 1rub rate. </p>
       </td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> day_limit </td>
       <td> Daily limit in rubles. For all types except clickunder </td>
       <td> positive number </td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> all_limit </td>
       <td> Total limit in rubles. For all types except clickunder </td>
       <td> positive number </td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> click_limit </td>
       <td> Maximum count. transitions per day. For all types except clickunder. For views and clicks. </Td>
       <td> positive number </td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> conversion_limit </td>
       <td> Maximum count. conversions per day. For all types except clickunder. Only for CPA </td>
       <td> positive number </td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> adult_content </td>
       <td> presence of adult content in the advertising campaign:
           <p> 0 - No; </p>
           <p> 1 - Yes </p>
       </td>
       <td> optional parameter, int (numeric value), default 0 </td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> adult_site </td>
       <td> Display campaign ads on adult content sites:
           <p> 0 - No; </p>
           <p> 1 - Yes </p>
       </td>
       <td> optional parameter, int (numeric value), default 0 </td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> time_show </td>
       <td> Time Targeting:
           <p> & nbsp; & nbsp; * - display in any hours and days of the week </p>
           <p> & nbsp; & nbsp; {} is an array, where the key is the name of the day of the week ["Sn", "Mn", "Tu", "Wd", "Th", "Fr", "Sa"]: </p>
           <p> & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; {} - ‘mn’: ‘*’ - all watches are weekly </p>
           <p> & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; {} - ‘mn’: [0, .., 23] - hours, separated by commas </p>
       </td>
       <td> optional parameter, * default </td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> platforms </td>
       <td> platform targeting: /data.platforms </td>
       <td> comma separated numbers </td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> browsers </td>
       <td> browser targeting: /data.browsers </td>
       <td> comma separated numbers </td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> black_list </td>
       <td> black list of sites where ads will not be shown </td>
       <td> comma separated site ID number sequence </td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> white_list </td>
       <td> white list of sites where ads will not be shown </td>
       <td> comma separated site ID number sequence </td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> black_list_ip </td>
       <td> ip lock </td>
       <td> sequence of ip addresses separated by a comma or an array </td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> unique_day_count </td>
       <td> frequency of material shown to one user (times) </td>
       <td> positive number </td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> unique_days </td>
       <td> frequency of advertising material shown to one user (days) </td>
       <td> positive number </td>
   </tr>
</table>
<b> Result: </b> <br />
Returns an array of responses to queries in the data array. The corresponding object in the output array contains the id of the created campaign, and the error_code and error_desc fields in case of an error.
<p> Errors: </p>
<pre> 102 - unknown client
   103 - overlimit campaigns </pre>

== Editing ad campaigns ==
To edit ad campaigns, use the <b> ads.campaigns.update </b> <br /> method
The maximum number of campaigns edited with a single query is 50. <br />
Version log: 1.0.1 - added status parameter
<table>
   <tr bgcolor = #DCDCDC>
       <th width = 130 align = left> Parameters </th>
       <th width = 300 align = left> Value </th>
       <th width = 350 align = left> Additional attributes </th>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> data </​​td>
       <td> is a serialized JSON array of objects describing changes in campaigns. Object descriptions client_mod_specification see below. </Td>
       <td> required parameter, string </td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> client_specification </td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> campaign_id </td>
       <td> id of the edited campaign
       </td>
       <td> required parameter, positive number </td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> name </td>
       <td> campaign name </td>
       <td> optional parameter, a string between 3 and 60 characters </td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> link_url </td>
       <td> link to the advertised object in the format http: //yoursite.com </td>
       <td> optional parameter, string </td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> real_url </td>
       <td> link to the real domain of the advertised object in the format: http: //yoursite.cоm
       </td>
       <td> optional parameter, string </td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> sex </td>
       <td> Gender:
           <p> 3 - any; </p>
           <p> 2 - male; </p>
           <p> 1 - female </p>
       </td>
       <td> optional parameter, int (numeric value) </td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> age </td>
       <td> age: /data.ages </td>
       <td> optional parameter, int (numeric value) </td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> categories </td>
       <td> category IDs:
           <p> /data.categories.get?ad_format =% </p>
           <p> category_id: {region_id: cost} </p>
       </td>
       <td> optional parameter </td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> tags </td>
       <td> keyword targeting </td>
       <td> optional parameter, comma separated keyword sequence </td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> day_limit </td>
       <td> daily limit in rubles. for all types except clickunder </td>
       <td> optional parameter, positive number </td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> adult_content </td>
       <td> presence of adult content in the advertising campaign:
           <p> 0 - No; </p>
           <p> 1 - Yes </p>
       </td>
       <td> optional parameter, int (numeric value), default 0 </td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> adult_site </td>
       <td> display campaign ads on adult content sites:
           <p> 0 - No; </p>
           <p> 1 - Yes </p>
       </td>
       <td> optional parameter, int (numeric value), default 0 </td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> time_show </td>
       <td> Time Targeting:
           <p> & nbsp; & nbsp; * - display in any hours and days of the week </p>
           <p> & nbsp; & nbsp; {} is an array, where the key is the name of the day of the week ["Sn", "Mn", "Tu", "Wd", "Th", "Fr", "Sa"]: </p>
           <p> & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; {} - ‘mn’: ‘*’ - all watches are weekly </p>
           <p> & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; {} - ‘mn’: [0, .., 23] - hours, separated by commas </p>
       </td>
       <td> optional parameter, * default </td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> platforms </td>
       <td> platform targeting: /data.platforms </td>
       <td> comma separated numbers </td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> browsers </td>
       <td> browser targeting: /data.browsers </td>
       <td> comma separated numbers </td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> black_list </td>
       <td> black list of sites where ads will not be shown </td>
       <td> comma separated site ID number sequence </td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> white_list </td>
       <td> white list of sites where ads will not be shown </td>
       <td> comma separated site ID number sequence </td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> black_list_ip </td>
       <td> ip lock </td>
       <td> sequence of ip addresses separated by a comma or an array </td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> status </td>
       <td> start /pause campaign:
           <p> 0 - suspended; </p>
           <p> 1 - running </p>
       </td>
       <td> optional parameter, int (numeric value), default 1 </td>
   </tr>
</table>
<b> Result: </b> <br />
Returns an array of responses to each request in the data array. The corresponding object in the output array contains the id of the client being changed and, in case of an error, the error_code and error_desc fields.
<p> Errors: </p>
<pre> 100 - unknown campaign
    102 - unknown client </pre>

== List of campaign advertising campaign ==
To get a list of campaign advertising campaigns use the method <b> ads.campaigns.get </b>

<table>
   <tr bgcolor = #DCDCDC>
       <th width = 130 align = left> Parameters </th>
       <th width = 300 align = left> Value </th>
       <th width = 350 align = left> Additional attributes </th>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> client_id </td>
       <td> Client ID from which ad campaigns are requested </td>
       <td> int (numeric value) </td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> include_archive </td>
       <td> A flag that specifies whether to display archived ads:
           <p> 0 - show only active campaigns; </p>
           <p> 1 - show all campaigns </p>
       </td>
       <td> Flag, can be 1 or 0 </td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> campaign_ids </td>
       <td> Filter for displayed ad campaigns.
           <p> Serialized JSON array containing campaign id. Only campaigns that are present in the campaign_ids and are campaigns of the specified advertising cabinet will be displayed. If the parameter is null, then all campaigns will be displayed. </P>
       </td>
       <td> String </td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> with_bwlist </td>
       <td> Black and white list transfer flag </td>
       <td> any value (for example 1) </td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> with_tags </td>
       <td> Keyword Transfer Flag </td>
       <td> any value (for example 1) </td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> limit </td>
       <td> limit on the number of campaigns returned. Used only if the campaign_ids parameter is null </td>
       <td> int (numeric value) </td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> offset </td>
       <td> offset. Used in the same cases as the limit parameter </td>
       <td> int (numeric value) </td>
   </tr>
</table>
<b> Result: </b> <br />
Returns an array of campaign objects, each of which contains the following fields:
<code>
<pre>
response: {
       count:% total%
       items: [{
id - campaign identifier
name - campaign name
status - campaign status (0 - campaign stopped, 1 - campaign started, 2 - campaign deleted)
day_limit - campaign daily limit in rubles (0 - no limit is set)
all_limit - total campaign limit in rubles (0 - no limit is set)
ad_format - ad format
cost_type - payment type
link_url - link to the advertised object
sex
age - age
regions - region identifiers
categories - category identifiers.
adult_content - the presence of adult content
adult_site - display campaign ads on adult content sites
           tags - keywords
           bw_list - black and white list
      }, ..]
}
</pre>
</code>
<p> Errors: </p>
<pre> 102 - unknown client </pre>

== Archiving an advertising campaign ==
To archive an advertising campaign, use the <b> ads.campaigns.delete </b> <br /> method
The maximum number of clients edited with a single query is 10. <br />

<table>
   <tr bgcolor = #DCDCDC>
       <th width = 130 align = left> Parameters </th>
       <th width = 300 align = left> Value </th>
       <th width = 350 align = left> Additional attributes </th>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> ids </td>
       <td> Campaign id list separated by comma or array with id campaigns.
          <p> For example: </p>
          <p> “id1, id2, ..., idn“ or [id1, id2, ..., idn] </p>
       </td>
       <td> required parameter, string </td>
   </tr>
</table>
<b> Result: </b> <br />
Returns an array of responses to each request. Each answer is either 0, which means successful deletion, or an error array.
<p> Errors: </p>
<pre> 100 - unknown campaign
   101 - campaign already archive
   102 - unknown client </pre>

== Receiving codes for CPA campaigns ==
Use the <b> ads.campaigns.cpa.mode.get </b> <br /> method to get the codes for the CPA campaigns

<table>
   <tr bgcolor = #DCDCDC>
       <th width = 130 align = left> Parameters </th>
       <th width = 300 align = left> Value </th>
       <th width = 350 align = left> Additional attributes </th>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> campaign_id </td>
       <td> campaign id </td>
       <td> int (numeric value), required parameter </td>
   </tr>
</table>
<b> Result: </b> <br />
Returns an object with data.
<code>
<pre>
{
response: {
url:% url%
                  }
}
</pre>
</code>

== Getting a list of categories for a given filter ==
To return the list of categories for a given filter, use the <b> ads.campaigns.categories.get </b> <br /> method

<table>
   <tr bgcolor = #DCDCDC>
       <th width = 130 align = left> Parameters </th>
       <th width = 300 align = left> Value </th>
       <th width = 350 align = left> Additional attributes </th>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> ad_format </td>
       <td> ad format:
            <p> ads.campaigns.foarmats.get </p>
       </td>
       <td> required parameter, int (numeric value) </td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> category_id </td>
       <td> category id. limits displaying only by category id </td>
       <td> optional parameter, int (numeric value) </td>
   </tr>
</table>
<b> Result: </b> <br />
Returns an array of responses to queries in the response array.
<code>
<pre>
response: {
            count:% total%
            items: [{
                       % category_id%: {
                            % region_id%: {
min:% min_cost%
max:% max_cost%
                             }
                       }
                  }, ..]
}
</pre>
</code>

== Getting the list of ad formats ==
Use the <b> ads.campaigns.formats.get </b> <br /> method to get the list of ad formats.

<b> Result: </b> <br />
Returns an array of responses to queries in the response array.
<code>
<pre>
response: {
       count:% total%
       items: [{
             id:% format_id%
             title: ‘% format title%’
       }, ..]
}
</pre>
</code>

== Getting the list of platforms ==
For a list of platforms, use the <b> ads.targeting.platforms.get </b> <br /> method

<b> Result: </b> <br />
Returns an array of responses to queries in the response array.
<code>
<pre>
response: {
       count:%
       items: [{
           id:% platform_id%
           title:% platform_name%,
           mobile:% is mobile%
       }, ..]
}
</pre>
</code>

== Getting Browser List ==
For a list of browsers, use the <b> ads.targeting.browsers.get </b> <br /> method

<b> Result: </b> <br />
Returns an array of responses to queries in the response array.
<code>
<pre>
response: {
       count:%
       items: [{
           id:% browser_id%,
           title:% browser_name%,
       }, ..]
}
</pre>
</code>

== Getting a list of conversion notifications for the CPA ==
To get a list of conversion notifications for CPA, use the <b> ads.targeting.cpa.modes.get </b> <br /> method

<b> Result: </b> <br />
Returns an array of responses to queries in the response array.
<code>
<pre>
response: {
       count:% total%
       items: [{
           id:% mode_id%
           title: ‘% mode title%’
       }, ..]
}
</pre>
</code>

== Getting a list of ages ==
To get the list of views, use the <b> ads.targeting.ages.get </b> <br /> method

<b> Result: </b> <br />
Returns an array of responses to queries in the response array.
<code>
<pre>
response: {
       count:%
       items: [{
           id:% age_id%
           title:% age_name%
       }, ..]
}
</pre>
</code>

== Creating advertising agency clients ==
To create ad agency clients, use the <b> ads.clients.put method </b> <br />
The allowable number of clients created with a single request is 50.

<table>
   <tr bgcolor = #DCDCDC>
       <th width = 130 align = left> Parameters </th>
       <th width = 300 align = left> Value </th>
       <th width = 350 align = left> Additional attributes </th>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> data </​​td>
       <td> a serialized JSON array of objects describing the campaigns being created. See the client_specification object description below. </Td>
       <td> required parameter, string </td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> client_specification </td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> name </td>
       <td> client name </td>
       <td> string from 3 to 60 characters, required parameter </td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> day_limit </td>
       <td> daily limit in rubles </td>
       <td> int (numeric value) </td>
   </tr>
</table>

<b> Result: </b> <br />
Returns an array of responses to queries in the data array. The corresponding object in the output array contains the client information or the error array in case of an error (for each client separately).
<code>
<pre>
{
    client_id - client identifier;
    name - the name of the client;
    day_limit - client's daily limit in rubles;
}
</pre>
</code>

== Editing advertising agency clients ==
To edit ad agency clients, use the <b> ads.clients.update method </b> <br />
The maximum number of clients edited with a single query is 50.

<table>
   <tr bgcolor = #DCDCDC>
       <th width = 130 align = left> Parameters </th>
       <th width = 300 align = left> Value </th>
       <th width = 350 align = left> Additional attributes </th>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> data </​​td>
       <td> is a serialized JSON array of objects describing changes in clients. Description of client_mod_specification objects see below. </td>
       <td> required parameter, string </td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> client_mod_specification </td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> client_id </td>
       <td> ID of the client being edited </td>
       <td> required parameter, positive number </td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> name </td>
       <td> client name </td>
       <td> a string between 3 and 60 characters </td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> day_limit </td>
       <td> daily limit in rubles </td>
       <td> positive number </td>
   </tr>
</table>

<b> Result: </b> <br />
Returns an array of responses to each request in the data array. The corresponding object in the output array contains the id of the client being changed and, in case of an error, the error_code and error_desc fields.

== Getting a list of advertising agency clients ==
To return the list of clients of an advertising agency, use the <b> ads.clients.get method </b> <br />

<table>
   <tr bgcolor = #DCDCDC>
       <th width = 130 align = left> Parameters </th>
       <th width = 300 align = left> Value </th>
       <th width = 350 align = left> Additional attributes </th>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> client_ids </td>
       <td> A list of client ids separated by commas. For example: “id1, id2, ..., idn“ </td>
       <td> optional parameter, string </td>
   </tr>

</table>

<b> Result: </b> <br />
Returns an array of client objects of the agency, each of which contains the following fields:
<code>
<pre>
response: {
      count:% total%
      items: [{
           client_id - client identifier;
           name - the name of the client;
           day_limit - client's daily limit in rubles;
           balance - client's balance
      }, ..]
}
</pre>
</code>

== Archiving advertising agency clients ==
For archiving ad agency clients, use the <b> ads.clients.delete method </b> <br />

<table>
   <tr bgcolor = #DCDCDC>
       <th width = 130 align = left> Parameters </th>
       <th width = 300 align = left> Value </th>
       <th width = 350 align = left> Additional attributes </th>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> ids </td>
       <td> List of clients' id by comma or array with id clients.
            <p> For example: “id1, id2, ..., idn“ or [id1, id2, ..., idn] </p>
      </td>
       <td> required parameter, string </td>
   </tr>

</table>

<b> Result: </b> <br />
Returns an array of responses to each request. Each answer is either 0, which means successful deletion, or an error array.

== Tying a client to an advertising agency ==
To bind a client to an advertising agency, use the <b> ads.clients.bind.put method </b> <br />

<table>
   <tr bgcolor = #DCDCDC>
       <th width = 130 align = left> Parameters </th>
       <th width = 300 align = left> Value </th>
       <th width = 350 align = left> Additional attributes </th>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> email </td>
       <td> client email address </td>
       <td> string from 3 to 60 characters, required parameter </td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> password </td>
       <td> client password (from account) </td>
       <td> string from 3 to 60 characters, required parameter </td>
   </tr>
</table>

<b> Result: </b> <br />
Returns:
<code>
<pre>
{
“Bind”: true
}
</pre>
</code>
in case of success. Or error in case of an error.

== Detaching a client from an advertising agency ==
To detach a client from an advertising agency, use the <b> ads.clients.unbind.put method </b> <br />

<table>
   <tr bgcolor = #DCDCDC>
       <th width = 130 align = left> Parameters </th>
       <th width = 300 align = left> Value </th>
       <th width = 350 align = left> Additional attributes </th>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> client_id </td>
       <td> client id </td>
       <td> int (numeric value) </td>
   </tr>
</table>

<b> Result: </b> <br />
Returns:
<code>
<pre>
{
“Unbind”: true
}
</pre>
</code>
in case of success. Or error in case of an error.

== Customer account replenishment ==
To replenish the client’s account, use the <b> ads.clients.balance.put method </b> <br />

<table>
   <tr bgcolor = #DCDCDC>
       <th width = 130 align = left> Parameters </th>
       <th width = 300 align = left> Value </th>
       <th width = 350 align = left> Additional attributes </th>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> client_id </td>
       <td> customer id to replenish </td>
       <td> int (numeric value), required parameter </td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> sum </td>
       <td> rubles in rubles </td>
       <td> int (numeric value) </td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> back_url </td>
       <td> url where the recharge system forwards the client </td>
       <td> string (string) </td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> system_id </td>
       <td> replenishment system id:
             <p> data.balance.systems.get </p>
       </td>
       <td> int (numeric value), required parameter </td>
   </tr>
</table>

<b> Result: </b> <br />
Returns the url for payment:
<code>
<pre>
{
response: {
url:% url%
                  }
}

</pre>
</code>

== Creating advertisements ==
To create ads using the method <b> ads.materials.put </b> <br />
The maximum allowable number of ads generated by a single request is 20.

<table>
   <tr bgcolor = #DCDCDC>
       <th width = 130 align = left> Parameters </th>
       <th width = 300 align = left> Value </th>
       <th width = 350 align = left> Additional attributes </th>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> data </​​td>
       <td> is a serialized JSON array of objects describing the created ads. The description of ad_specification objects is given below. </td>
       <td> required parameter, string </td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> ad_specification </td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> campaign_id </td>
       <td> id of the campaign in which the ad will be created </td>
       <td> required parameter, int (numeric value) </td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> title </td>
       <td> ad title </td>
       <td> required parameter </td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> text </td>
       <td> ad description </td>
       <td> Required </td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> link_url </td>
       <td> link of the advertised object in the format: http: //yoursite.com </td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> link_media </td>
       <td> previously loaded media object (jpg, gif):
              <p> data.upload.media </p>
       </td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> pause_after_moderate </td>
       <td> pause posting moderation </td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> size </td>
       <td> for banners only:
              <p> ads.materials.banner.sizes </p>
       </td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> categories </td>
       <td> Stacks by category, similar to campaigns:
         <p> array [category_id => cost] </p>
       </td>
<td> Not required if you do not set bids from campaign categories </td>
   </tr>
</table>

== Update ad data ==
Use the <b> ads.materials.update </b> <br /> method to update ad data.
The maximum allowable number of ads generated by a single request is 20.

<table>
   <tr bgcolor = #DCDCDC>
       <th width = 130 align = left> Parameters </th>
       <th width = 300 align = left> Value </th>
       <th width = 350 align = left> Additional attributes </th>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> data </​​td>
       <td> is a serialized JSON array of objects describing the created ads. The ad_specification object description is below. </Td>
       <td> required parameter, string </td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> ad_specification </td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> material_id </td>
       <td> ad id </td>
       <td> required parameter, int (numeric value) </td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> status </td>
       <td> start /pause material:
           <p> 0 - suspended; </p>
           <p> 1 - running </p>
       </td>
       <td> optional parameter, int (numeric value), default 1 </td>
   </tr>
</table>

== Archiving advertisements ==
For advertising ads using the method <b> ads.materials.delete </b> <br />
The maximum number of clients edited with a single query is 50.

<table>
   <tr bgcolor = #DCDCDC>
       <th width = 130 align = left> Parameters </th>
       <th width = 300 align = left> Value </th>
       <th width = 350 align = left> Additional attributes </th>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> account_id </td>
       <td> advertising account ID </td>
       <td> required parameter, int (numeric value) </td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> ids </td>
       <td> serialized JSON array containing ad IDs </td>
       <td> required parameter, string </td>
   </tr>
</table>

<b> Result: </b> <br />
Returns an array of responses to each request. Each answer is either 0, which means successful deletion, or an error array.

== Getting a list of advertisements ==
Use the <b> ads.materials.get </b> method to get the list of ads.
<table>
   <tr bgcolor = #DCDCDC>
       <th width = 130 align = left> Parameters </th>
       <th width = 300 align = left> Value </th>
       <th width = 350 align = left> Additional attributes </th>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> account_id </td>
       <td> advertising account ID </td>
       <td> required parameter, int (numeric value) </td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> client_id </td>
       <td> For advertising agencies. Client ID from which advertisements are requested. </Td>
       <td> int (numeric value) </td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> archive </td>
       <td> A flag that specifies whether to display archived ads:
           <p> 0 - display only active ads; </p>
           <p> 1 - display all ads </p>
       </td>
       <td> Flag, can be 1 or 0 </td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> campaign_ids </td>
       <td> ad campaign filter.
             <p> Serialized JSON array containing campaign id. If the parameter is null, advertisements of all campaigns will be displayed. </P>
       </td>
       <td> string </td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> material_ids </td>
       <td> ad campaign filter.
             <p> Serialized JSON array containing ad id. If the parameter is null, all advertisements will be displayed. </P>
       </td>
       <td> string </td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> limit </td>
       <td> limit on the number of ads returned. Used only if the ad_ids parameter is null, and the campaign_ids parameter contains the id of only one campaign.
       </td>
       <td> int (numeric value) </td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> offset </td>
       <td> offset. Used in the same cases as the limit parameter </td>
       <td> int (numeric value) </td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> ad_format </td>
       <td> ad format: ads.campaigns.formats.get </td>
       <td> required parameter, int (numeric value) </td>
   </tr>
</table>

<b> Result: </b> <br />
Returns an array of ad objects, each of which contains the following fields:
  <ul type = "disc">
       <li> <b> id </b> - ad id </li>
       <li> <b> name </b> - the name of the ad </li>
       <li> <b> campaign_id </b> - Campaign ID </li>
       <li> <b> link_url </b> </li>
       <li> <b> arhive </b> </li>
       <li> <b> ad_format </b> - ad format </li>
       <li> <b> cost_type </b> - payment type </li>
       <li> <b> all_limit </b> - total ad limit in rubles </li>
            <ul type = "circle">
                       <li> 0 - no limit is set </li>
            </ul>
       <li> <b> status </b> - ad status: </li>
            <ul type = "circle">
                       <li> 0 - ad stopped; </li>
                       <li> 1 - the ad is running; </li>
                       <li> 2 - ad deleted </li>
            </ul>
       <li> <b> approved </b> - ad moderation status: </li>
            <ul type = "circle">
                       <li> 0 - the ad is awaiting moderation; </li>
                       <li> 10 - Ad has been approved. </li>
                       <li> 20 - ad disapproved </li>
            </ul>
  </ul>

== Getting a list of banner sizes ==
For a list of banner sizes, use the <b> ads.materials.banner.sizes.get </b> <br /> method

<b> Result: </b> <br />
Returns an array of responses to requests in the response array:
<code>
<pre>
response: {
        count:% total%
        items: [{
             id:% banner_id%,
             title: ‘% banner title%’
        }, ..]
}
</pre>
</code>

== Getting the list of countries ==
To get the list of countries, use the <b> data.geo.countries.get </b> <br /> method

<b> Result: </b> <br />
Returns an array of responses to requests in the response array:
<code>
<pre>
response: {
    count:%
    items: [{
        id:% country_id%,
        title:% country_name%
    }, ..]
}
</pre>
</code>

== Getting a list of regions for a given filter ==
To get a list of regions for a given filter, use the <b> data.geo.regions.get </b> <br /> method

<table>
   <tr bgcolor = #DCDCDC>
       <th width = 130 align = left> Parameters </th>
       <th width = 300 align = left> Value </th>
       <th width = 350 align = left> Additional attributes </th>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> country_id </td>
       <td> country identifier obtained in the ads.geo.countries method </td>
       <td> positive number, required parameter </td>
   </tr>
</table>

<b> Result: </b> <br />
Returns an array of responses to requests in the response array:
<code>
<pre>
response: {
        count:%
        items: [{
               id:% region_id%
               title:% region_name%
        }, ..]
}
</pre>
</code>

== Get a list of available payment systems ==
To get a list of available payment systems, use the <b> data.balance.systems.get </b> <br /> method

<b> Result: </b> <br />
Returns an array of responses to requests in the response array:
<code>
<pre>
response: {
         count:% total%
         items: [{
                id:% pay_system_id%,
                title: pay% pay system title% ’
         }, ..]
}
</pre>
</code>

== Download media files ==
To upload media files (jpg, png, gif), use the <b> data.upload.media.update </b> <br /> method

<table>
   <tr bgcolor = #DCDCDC>
       <th width = 130 align = left> Parameters </th>
       <th width = 300 align = left> Value </th>
       <th width = 350 align = left> Additional attributes </th>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> ad_format </td>
       <td> ad format: /ads.formats.get </td>
       <td> int (numeric value) </td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> file </td>
       <td> CURLFile object </td>
   </tr>
</table>

<b> Result: </b> <br />
Returns an array with a reference to the target object or error in case of an error.
<code>
<pre>
response: {
        image: “% link%”
}
</pre>
</code>
An example of sending a file using curl in php:
<code>
<pre>
       $ token = ‘received token’;
       $ ad_format = объявления ad format ’;
       $ app_id = ‘your app id’;
       $ file = '@ /full path to file';
</pre>
<pre>
       $ finfo = finfo_open (FILEINFO_MIME_TYPE);
       $ finfo = finfo_file ($ finfo, $ link);
       $ cFile = new \ CURLFile ($ link, $ finfo, basename ($ link));
</pre>

<pre>
       $ post = array ('file' => $ cFile, 'ad_format' => $ ad_format, 'app_id' => $ app_id);
       $ ignoreParams = array ('file'); //file field is not involved in the construction of the signature
</pre>
<pre>
       ksort ($ post);
</pre>
<pre>
       $ result = array ();
       foreach ($ post as $ key => $ value) {
         if (false == in_array ($ key, $ ignoreParams)) {
$ result [] = $ key. '='. urlencode ($ value);
}
       }
</pre>
<pre>
       $ result = implode ('&', $ result);
       $ signature = md5 ($ result. $ token);
</pre>
<pre>
       $ target_url = 'http://api.kadam.net/data.upload.media?signature='. $ signature;
</pre>
<pre>
       $ ch = curl_init ();
       curl_setopt ($ ch, CURLOPT_URL, $ target_url);
       curl_setopt ($ ch, CURLOPT_POST, true);
       curl_setopt ($ ch, CURLOPT_POSTFIELDS, $ post);
       curl_setopt ($ ch, CURLOPT_RETURNTRANSFER, 1);
</pre>
<pre>
       $ result = curl_exec ($ ch); //server response
</pre>
</code>

== Get the current server time ==
To get the current server time in ISO 8601 format, use the <b> server.time.get </b> <br /> method

<b> Result: </b> <br />
Returns an array of responses to requests in the response array:
<code>
<pre>
        {
            iso8601:% time%
        }
</pre>
</code>

== Statistics for Webmasters ==
For statistics on webmasters use the method <b> webmaster.reports.report.get </b> <br />

<table>
   <tr bgcolor = #DCDCDC>
       <th width = 130 align = left> Parameters </th>
       <th width = 300 align = left> Value </th>
       <th width = 350 align = left> Additional attributes </th>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> secret </td>
       <td> Access key for webmasters (mandatory) </td>
       <td> Available on demand </td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> date_from </td>
       <td> Start of Period </td>
       <td> a string of the form "YYYY-MM-DD" is an optional parameter; if absent, the current date will be taken </td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> date_to </td>
       <td> End of Period </td>
       <td> a string of the form "YYYY-MM-DD" is an optional parameter; if absent, the current date will be taken </td>
   </tr>
</table>
<b> Maximum unloading period 1 month </b> <br />
<b> Result: </b> <br />
  <ul type = "disc">
       <li> <b> blockviews </b> - Block Views </li>
       <li> <b> moneyin </b> - Earned money </li>
</ul>
Returns data as
<code>
<pre>
Array
(
    [responce] => Array
        (
            [2017-11-10] => Array
                (
                    [blockviews] => 300
                    [moneyin] => 100.00
                )

        )

)
</pre>
</code>

== Money transfer for subsidiary accounts of the agency ==
To transfer money, use the <b> ads.clients.balance.update method </b> <br />

<table>
   <tr bgcolor = #DCDCDC>
       <th width = 130 align = left> Parameters </th>
       <th width = 300 align = left> Value </th>
       <th width = 350 align = left> Additional attributes </th>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> client_id </td>
       <td> Customer ID, money will be transferred to it. </td>
       <td> Required </td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> sum </td>
       <td> transfer amount </td>
       <td> Required </td>
   </tr>
   <tr bgcolor = #F5F5F5>
       <td> type </td>
       <td> Operation Type </td>
       <td> Required - always type = "transfer" </td>
   </tr>
<tr bgcolor = #F5F5F5>
       <td> comment </td>
       <td> Comment </td>
       <td> Required - null value allowed </td>
   </tr>
</table>
<b> The operation can be performed only if there are sufficient funds on the account </b> <br />
<b> Money will be withdrawn from the user specified in the app_id </b> <br />
<b> Result: </b> <br />
The result of the operation will be the withdrawal of funds from the primary user - an output transaction. And the transfer of money to the agency account is an input transaction.

Returns data as
<code>
<pre>
Array
(
    [status] => "success"

)
</pre>
In case of error - error code
</code>