API

Материал из Справочник сервиса Kadam.net
Перейти к: навигация, поиск

Содержание

PHP SDK

Ссылка на github: https://github.com/kadam-official/php-sdk
Установка через composer:

       composer require kadam/php-sdk

API авторизация

Для доступа в API понадобятся ID пользователя (app_id) и подпись (signature). Вызов разных методов осуществляется при помощи запросов по данному шаблону:

       api.kadam.net?%action%.%method%?%params%
       %action% - к чему обращаемся
       %method% - тип обращения
	    get - получить 
	    put - записать 
	    post - обновить
	    delete - удалить
       %params% - параметры запроса
       обязательные параметры %params%
       app_id - id пользователя
       signature - подпись

Пример:

       [GET] http://api.kadam.net/campaigns.get?app_id=%app_id%&signature=%signature%

или

       [GET] http://api.kadam.net/campaigns?app_id=%app_id%&signature=%signature%
       [GET] - метод обращения по http

Подпись (signature) создается с помощью временного токена (access_token), который можно получить используя параметры app_id и secret key.
Параметры app_id (ID пользователя) и ключ "secret key" можно получить по запросу в поддержку.
Получение токена:

       [GET] http://api.kadam.net/auth.token?app_id=%app_id%&secret_key=%key%
       -> {“access_token”: “...”}

Формирование signature для метода [GET]:

       md5 ( %sort_params% . %access_token% )
       %sort_params% - все передаваемые параметры (кроме signature) сортируются по имени

Пример:

       app_id=1&campaign_id=3…
       [PUT] http://api.kadam.net/campaigns?signature=%signature%
       +post fields -> %params%

Пример для php. Получение списка кампаний:

       <?
        $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);

Статистика по кампании

Для получения статистики по кампании используется метод ads.stats.campaign.get

Параметры Значение Дополнительные атрибуты
campaigns Один либо несколько целочисленных идентификаторов кампании, перечисленных с помощью запятой строка; обязательный параметр
group Формат группировки данных:

date - по датам

campaign - по кампаниям

Один, либо несколько перечисленных с помощью запятой

строка; обязательный параметр
date_from Начальная дата выводимой статистики.

формат: YYYY-MM-DD

строка; обязательный параметр
date_to Конечная дата выводимой статистики.

формат: YYYY-MM-DD

строка; обязательный параметр
sort Один либо несколько параметров для сортировки данных, перечисленных с помощью запятой(см. примеры) строка; опциональный параметр
limit Количество возвращаемых элементов число; опциональный параметр
offset Смещение по возвращаемым элементам(используется вместе с limit) число; опциональный параметр

Результат:
Возвращает объект с данными

{
   "response":{
      "count": %количество возвращаемых элементов%,
      "items":[
         {
    “date” // дата; в случае, если указан формат группировки date
            "id" // id кампании; в случае, если указан формат группировки campaign
            "views" // показы
            "clicks" // клики
            "conversions" // конверсии
            "rejections" // отказы
            "holds" // холды
            "moneyOut" // потраченные средства
            "moneyIn" // заработанные средства
            "ctr" 
            "cpm"
            "cpc"
         }
      ]
   }
}

Сортировка
Сортировка по возрастанию

sort={параметр}
Пример: api.kadam.net?sort=views

Сортировка по убыванию

sort=-{параметр}
Пример: api.kadam.net?sort=-views

Сортировка по нескольким параметрам

sort={параметр1},-{параметр2},{параметр3}
Пример: api.kadam.net?sort=views,-clicks,leads

Статистика по площадкам в кабинете рекламодателя

Под статистикой по площадкам в кабинете рекламодателя подразумевается статистика по показам и кликам на площадке в разрезе каждой кампании.
Для получения статистики по площадкам используется метод ads.stats.campaign.placement.get (GET запрос)

Параметры Значение Дополнительные атрибуты
campaigns Один либо несколько целочисленных идентификаторов кампании, перечисленных с помощью запятой строка; обязательный параметр
date_from Начальная дата выводимой статистики.

формат: YYYY-MM-DD

строка; обязательный параметр
date_to Конечная дата выводимой статистики.

формат: YYYY-MM-DD

строка; обязательный параметр
sort Один либо несколько параметров для сортировки данных, перечисленных с помощью запятой(см. примеры для статистики по кампаниям) строка; опциональный параметр
limit Количество возвращаемых элементов число; опциональный параметр
offset Смещение по возвращаемым элементам(используется вместе с limit) число; опциональный параметр

Результат:
Возвращает объект с данными, пример:

{
   "response":{
      "count": %количество возвращаемых элементов%,
      "items":[
         {
            "id" // id кампании
            "placement" // id площадки
            "views" // показы
            "clicks" // клики
            "conversions" // конверсии
            "rejections" // отказы
            "holds" // холды
            "moneyOut" // потраченные средства
            "moneyIn" // заработанные средства
            "ctr"
            "cpm"
            "cpc"
            "prelandvisit" // ивент визита преленда
            "prelanduseful" // ивент полезного визита преленда
            "prelandscroll" // ивент скролла преленда
            "landvisit" // ивент визита ленда
            "landuseful" // ивент полезного визита ленда
            "landscroll" // ивент скролла ленда
            "blackList" // наличие площадки в черном списке
            "multiplier" // модификатор ставки на площадке
         }
      ]
   }
}

Максимальное число строк ответа для данного метода за один запрос - 500. Если нужно больше, то это можно сделать с помощью дополнительных запросов и параметров limit с offset.

Изменение множителя для статистики по площадкам в кабинете рекламодателя

Для изменения множителя для статистики по площадкам используется метод ads.stats.campaign.placement.put (PUT запрос) Параметры (все являются обязательными):

  • app_id - id пользователя, числовое значение (int)
  • signature - подпись, строка (string)
  • campaign_id - id кампании, числовое значение (int)
  • multiplier - новое значение множителя, числовое значение (float)
  • placement - id площадки, числовое значение (int)

Статистика по материалам кампании

Для получения статистики по всем материалам кампании используется метод ads.stats.creative.get

Параметры Значение Дополнительные атрибуты
campaigns Один либо несколько целочисленных идентификаторов кампании, перечисленных с помощью запятой строка; обязательный параметр, если не указан creatives
creatives Один либо несколько целочисленных идентификаторов материалов, перечисленных с помощью запятой строка; обязательный параметр, если не указан campaigns
group Формат группировки данных:

date - по датам

creative - по материалам

Один, либо несколько перечисленных с помощью запятой

строка; обязательный параметр
date_from Начальная дата выводимой статистики.

формат: YYYY-MM-DD

строка; обязательный параметр
date_to Конечная дата выводимой статистики.

формат: YYYY-MM-DD

строка; обязательный параметр
sort Один либо несколько параметров для сортировки данных, перечисленных с помощью запятой(см. примеры для статистики по кампаниям) строка; опциональный параметр
limit Количество возвращаемых элементов число; опциональный параметр
offset Смещение по возвращаемым элементам(используется вместе с limit) число; опциональный параметр

Результат:
Возвращает объект с данными

{
   "response":{
      "count": %количество возвращаемых элементов%,
      "items":[
         {
            "date" // дата; в случае, если указан формат группировки date
            "id" // id материала; в случае, если указан формат группировки creative
            "views" // показы
            "clicks" // клики
            "conversions" // конверсии
            "rejections", // отказы
            "holds" // холды
            "moneyOut" // потраченные средства
            "moneyIn" // заработанные средства
            "ctr"
            "cpm"
            "cpc"
         }
      ]
   }
}

Создание рекламной кампании

Для для создания новой рекламной кампании используется метод ads.campaigns.put
Допустимое количество кампаний, создаваемых с помощью одного запроса — 50.

Параметры Значение Дополнительные атрибуты
data сериализованный JSON-массив объектов, описывающих создаваемые кампании. Описание объектов client_specification см. ниже. обязательный параметр, строка
client_specification
app_id id пользователя обязательный параметр, int (числовое значение)
client_id id клиента, в рекламном кабинете которого будет создаваться кампания. Так же может принимать значение app_id (самого себя) обязательный параметр, int (числовое значение)
ad_format Формат объявления:

10 - Тизерная;

20 - Баннерная;

30 - Push-уведомления;

40 - Clickunder;

60 - Контекстная

обязательный параметр, int (числовое значение)
cost_type Способ оплаты:

0 - СРС;

1 - СРА;

2 - СРМ

обязательный параметр, int (числовое значение)
name название кампании обязательный параметр, строка
Link_url ссылка на рекламируемый объект в формате: http://yoursite.cоm обязательный параметр, строка
pushType Тип пуш-уведомления:

1 - On-site Push;

2 - Classic;

4 - In-app push;

int (числовое значение), последовательность чисел, разделенных запятой

пример: "pushType: 1,2,4"

real_url ссылка на реальный домен рекламируемого объекта в формате: http://yoursite.cоm обязательный параметр, строка
sex Пол:

3 - любой;

2 - мужской;

1 - женский

обязательный параметр, int (числовое значение)
age Возраст целевой аудитории. Номер возрастной категории от 1 до 6 (до 17, 18-25, 26-34, 35-49, 50-60, старше 61) обязательный параметр, последовательность чисел, разделенных запятой
countryTarget

Идентификаторы стран:

/ads.targeting.countries.get

обязательный параметр

массив [country_id => [ bid => 0.1, leadCost => 0.2 ] ]

regionTarget

Идентификаторы регионов:

/ads.targeting.regions.get

последовательность чисел, разделенных запятой

cityTarget

Идентификаторы городов:

/ads.targeting.cities.get

последовательность чисел, разделенных запятой

cpa_mode Тип уведомлений о конверсий для CPA: /ads.targeting.modes.get int (числовое значение), обязательное для CPA кампании
categories

идентификаторы категорий:

/ads.campaigns.categories.get?ad_format=%

обязательный параметр, последовательность чисел, разделенных запятой

tags таргетинг по ключевым словам

обязательный параметр, последовательность ключевых слов, разделенных запятой: [“key1”, “key2”, .., “keyN”]

Ключевые слова с ценой. Только для оплаты - за клики или за показы: {“key1”: “cost”, “key2”: “cost”, .., “keyN”: “cost”}

cost - float

пример: "data[tags][qwerty]: 1" - ключевое слово qwerty со ставкой 1руб.

day_limit Дневной лимит в рублях. Для всех типов кроме clickunder положительное число
all_limit Общий лимит в рублях. Для всех типов кроме clickunder положительное число
click_limit Максимальное кол. переходов в день. Для всех типов кроме clickunder. За показы и за клики. положительное число
conversion_limit Максимальное кол. конверсий в день. Для всех типов кроме clickunder. Только для CPA положительное число
adult_content присутсвие контента для взрослых в рекламной кампании:

0 - Нет;

1 - Да

необязательный параметр, int (числовое значение), по умолчанию 0
adult_site Отображать объявления кампании на сайтах с контентом для взрослых:

0 - Нет;

1 - Да

необязательный параметр, int (числовое значение), по умолчанию 0
time_show Временной таргетинг:

   * - отображение в любые часы и дни недели

   {} - массив, где ключ имя дня недели ["Sn","Mn","Tu","Wd","Th","Fr","Sa"]:

             {} - ‘mn’: ‘*’ - все часы понендельника

             {} - ‘mn’: [0, .., 23] - часы через запятую

необязательный параметр, * по умолчанию
platforms таргетинг по платформам: /data.platforms последовательность чисел, разделенных запятой
browsers таргетинг по браузерам: /data.browsers последовательность чисел, разделенных запятой
black_list черный список площадок на которых не будет показана реклама последовательность чисел ID площадок, разделенных запятой
white_list белый список площадок на которых не будет показана реклама последовательность чисел ID площадок, разделенных запятой
black_list_ip блокировка по ip последовательность ip адресов, разделенных запятой или массивом
unique_day_count частота показов материала одному пользователю (разы) положительное число
unique_days частота показов рекламного материала одному пользователю (дни) положительное число
deviceTarget

Идентификаторы устройств:

/ads.targeting.devices.get

последовательность чисел, разделенных запятой

langTarget

Идентификаторы языков браузера:

/ads.targeting.langs.get

последовательность чисел, разделенных запятой

Результат:
Возвращает массив ответов на запросы в массиве data. Соответствующий объект в выходном массиве содержит id созданной кампании, и поля error_code и error_desc в случае возникновения ошибки.

Errors:

   102 - unknown client
   103 - overlimit campaigns

Редактирование рекламных кампаний

Для редактирования рекламных кампаний используется метод ads.campaigns.update
Максимальное допустимое количество кампаний, редактируемых с помощью одного запроса — 50.
Version log: 1.0.1 - добавлен параметр status

Параметры Значение Дополнительные атрибуты
data сериализованный JSON-массив объектов, описывающих изменения в кампаниях. Описание объектов client_mod_specification см. ниже. обязательный параметр, строка
client_specification
campaign_id id редактируемой кампании обязательный параметр, положительное число
name название кампании необязательный параметр, строка длиной от 3 до 60 символов
link_url ссылка на рекламируемый объект в формате http://yoursite.cоm необязательный параметр, строка
real_url ссылка на реальный домен рекламируемого объекта в формате: http://yoursite.cоm необязательный параметр, строка
sex Пол:

3 - любой;

2 - мужской;

1 - женский

необязательный параметр, int (числовое значение)
age возраст: /data.ages необязательный параметр, int (числовое значение)
countryTarget

Идентификаторы стран:

/ads.targeting.countries.get

необязательный параметр

массив [country_id => [ bid => 0.1, leadCost => 0.2 ] ]

regionTarget

Идентификаторы регионов:

/ads.targeting.regions.get

необязательный параметр, последовательность чисел, разделенных запятой

cityTarget

Идентификаторы городов:

/ads.targeting.cities.get

необязательный параметр, последовательность чисел, разделенных запятой

categories

идентификаторы категорий:

/ads.campaigns.categories.get?ad_format=%

необязательный параметр, последовательность чисел, разделенных запятой

tags таргетинг по ключевым словам необязательный параметр, последовательность ключевых слов, разделенных запятой
day_limit дневной лимит в рублях. для всех типов кроме clickunder необязательный параметр, положительное число
adult_content присутсвие контента для взрослых в рекламной кампании:

0 - Нет;

1 - Да

необязательный параметр, int (числовое значение), по умолчанию 0
adult_site отображать объявления кампании на сайтах с контентом для взрослых:

0 - Нет;

1 - Да

необязательный параметр, int (числовое значение), по умолчанию 0
time_show Временной таргетинг:

   * - отображение в любые часы и дни недели

   {} - массив, где ключ имя дня недели ["Sn","Mn","Tu","Wd","Th","Fr","Sa"]:

           {} - ‘mn’: ‘*’ - все часы понендельника

           {} - ‘mn’: [0, .., 23] - часы через запятую

необязательный параметр, * по умолчанию
platforms таргетинг по платформам: /data.platforms последовательность чисел, разделенных запятой
browsers таргетинг по браузерам: /data.browsers последовательность чисел, разделенных запятой
black_list черный список площадок на которых не будет показана реклама массив чисел ID площадок
white_list белый список площадок на которых будет показана реклама массив чисел ID площадок
black_list_ip блокировка по ip последовательность ip адресов, разделенных запятой или массивом
status запуск/приостановка кампании:

0 - приостановлена;

1 - запущена

необязательный параметр, int (числовое значение), по умолчанию 1
deviceTarget

Идентификаторы устройств:

/ads.targeting.devices.get

необязательный параметр, последовательность чисел, разделенных запятой

langTarget

Идентификаторы языков браузера:

/ads.targeting.langs.get

необязательный параметр, последовательность чисел, разделенных запятой

Результат:
Возвращает массив ответов на каждый запрос в массиве data. Соответствующий объект в выходном массиве содержит id изменяемого клиента и, в случае возникновения ошибки, поля error_code и error_desc.

Errors:

   100 - unknown campaign
   102 - unknown client

Список кампаний рекламного кабинета

Для получения списка кампаний рекламного кабинета используется метод ads.campaigns.get

Параметры Значение Дополнительные атрибуты
client_id Идентификатор клиента, у которого запрашиваются рекламные кампании int (числовое значение)
include_archive Флаг, задающий необходимость вывода архивных объявлений:

0 - выводить только активные кампании;

1 - выводить все кампании

Флаг, может принимать значения 1 или 0
campaign_ids Фильтр выводимых рекламных кампаний.

Сериализованный JSON-массив, содержащий id кампаний. Выводиться будут только кампании, присутствующие в campaign_ids и являющиеся кампаниями указанного рекламного кабинета. Если параметр равен null, то выводиться будут все кампании.

Строка
with_bwlist Флаг передачи блек- и вайт-листов любое значение (например 1)
with_tags Флаг передачи ключевых слов любое значение (например 1)
limit ограничение на количество возвращаемых кампаний. Используется, только если параметр campaign_ids равен null int (числовое значение)
offset смещение. Используется в тех же случаях, что и параметр limit int (числовое значение)

Результат:
Возвращает массив объектов campaign, каждый из которых содержит следующие поля:

response: {
       count: %total%,
       items: [{
	   id — идентификатор кампании
	   name — название кампании
	   status — статус кампании (0 — кампания остановлена, 1 — кампания запущена, 2 — кампания удалена)
	   day_limit — дневной лимит кампании в рублях (0 — лимит не задан)
	   all_limit — общий лимит кампании в рублях (0 — лимит не задан)
	   ad_format — формат объявления
	   cost_type — тип оплаты
	   link_url - ссылка на рекламируемый объект
	   sex - пол
	   age - возраст
	   regions - идентификаторы регионов
	   categories - идентификаторы категорий.
	   adult_content - присутсвие контент для взрослых
	   adult_site - отображение объявлений кампании на сайтах с контентом для взрослых
           tags - ключевые слова
           bw_list - блек- и вайт-лист 
      },..]
}

Errors:

   102 - unknown client

Архивирование рекламной кампании

Для архивирования рекламной кампании используется метод ads.campaigns.delete
Максимальное допустимое количество клиентов, редактируемых с помощью одного запроса — 10.

Параметры Значение Дополнительные атрибуты
ids Список id кампаний через запятую или массив с id кампаниями.

Например:

“id1, id2, …, idn“ или [id1, id2, …, idn]

обязательный параметр, строка

Результат:
Возвращает массив ответов на каждый запрос. Каждый ответ является либо 0, что означает успешное удаление, либо массив error.

Errors:

   100 - unknown campaign
   101 - campaign already archive
   102 - unknown client

Получение кодов для СРА кампаний

Для получения кодов по СРА кампаниям используется метод ads.campaigns.cpa.mode.get

Параметры Значение Дополнительные атрибуты
campaign_id id кампании int (числовое значение), обязательный параметр

Результат:
Возвращает объект с данными.

{
	response: {
		url: %url%
                  }
}

Получение списка категорий по заданому фильтру

Для возврата списка категорий по заданому фильтру используется метод ads.campaigns.categories.get

Параметры Значение Дополнительные атрибуты
ad_format формат объявления:

ads.campaigns.foarmats.get

обязательный параметр, int (числовое значение)
category_id id категории. ограничивает отображение только по id категории необязательный параметр, int (числовое значение)

Результат:
Возвращает массив ответов на запросы в массиве response.

response: {
            count: %total%,
            items: [{
                       %category_id%: {
                            %region_id%: {
	                         min: %min_cost%,
	                         max: %max_cost%
                             }
                       }
                  },..]
}

Получение списка форматов объявлений

Для получения списка форматов объявлений используется метод ads.campaigns.formats.get
Результат:
Возвращает массив ответов на запросы в массиве response.

response: {
       count: %total%,
       items: [{
             id: %format_id%,
             title: ‘%format title%’
       },..]
}

Получение списка платформ

Для получения списка платформ используется метод ads.targeting.platforms.get
Результат:
Возвращает массив ответов на запросы в массиве response.

response: {
       count: %,
       items: [{
           id: %platform_id%,
           title: %platform_name%,
           mobile: %is mobile%
       },..]
}

Получение списка браузеров

Для получения списка браузеров используется метод ads.targeting.browsers.get
Результат:
Возвращает массив ответов на запросы в массиве response.

response: {
       count: %,
       items: [{
           id: %browser_id%,
           title: %browser_name%,
       },..]
}

Получение списка уведомлений о конверсиях для СРА

Для получения списка уведомлений о конверсиях для СРА используется метод ads.targeting.cpa.modes.get
Результат:
Возвращает массив ответов на запросы в массиве response.

response: {
       count: %total%,
       items: [{
           id: %mode_id%,
           title: ‘%mode title%’
       },..]
}

Получение списка возрастов

Для получения списка возврастов используется метод ads.targeting.ages.get
Результат:
Возвращает массив ответов на запросы в массиве response.

response: {
       count: %,
       items: [{
           id: %age_id%,
           title: %age_name%
       },..]
}

Получение списка стран

Для получения списка стран используется метод ads.targeting.countries.get
Результат:
Возвращает массив ответов на запросы в массиве response.

response: {
       count: %total%,
       items: [{
             id: %format_id%,
             title: ‘%format title%’
       },..]
}

Получение списка регионов

Для получения списка регионов используется метод ads.targeting.regions.get
Результат:
Возвращает массив ответов на запросы в массиве response.

response: {
       count: %total%,
       items: [{
             id: %format_id%,
             title: ‘%format title%’
       },..]
}

Получение списка городов

Для получения списка городов используется метод ads.targeting.cities.get
Результат:
Возвращает массив ответов на запросы в массиве response.

response: {
       count: %total%,
       items: [{
             id: %format_id%,
             title: ‘%format title%’
       },..]
}

Получение списка устройств

Для получения списка устройств используется метод ads.targeting.devices.get
Результат:
Возвращает массив ответов на запросы в массиве response.

response: {
       count: %total%,
       items: [{
             id: %format_id%,
             title: ‘%format title%’
       },..]
}

Получение списка языков браузера

Для получения списка языков браузера используется метод ads.targeting.langs.get
Результат:
Возвращает массив ответов на запросы в массиве response.

response: {
       count: %total%,
       items: [{
             id: %format_id%,
             title: ‘%format title%’
       },..]
}

Создание клиентов рекламного агенства

Для создания клиентов рекламного агенства используется метод ads.clients.put
Допустимое количество создаваемых клиентов с помощью одного запроса — 50.

Параметры Значение Дополнительные атрибуты
data сериализованный JSON-массив объектов, описывающих создаваемые кампании. Описание объектов client_specification см. ниже. обязательный параметр, строка
client_specification
name название клиента строка от 3 до 60 символов, обязательный параметр
day_limit дневной лимит в рублях int (числовое значение)

Результат:
Возвращает массив ответов на запросы в массиве data. Соответствующий объект в выходном массиве содержит информацию клиента или массив error в случае возникновения ошибки (для каждого клиента отдельно).

{
    client_id — идентификатор клиента;
    name — название клиента;
    day_limit — дневной лимит клиента в рублях;
}

Редактирование клиентов рекламного агенства

Для редактирования клиентов рекламного агенства используется метод ads.clients.update
Максимальное допустимое количество клиентов, редактируемых с помощью одного запроса — 50.

Параметры Значение Дополнительные атрибуты
data сериализованный JSON-массив объектов, описывающих изменения в клиентах. Описание объектов client_mod_specification см. ниже. обязательный параметр, строка
client_mod_specification
client_id идентификатор редактируемого клиента обязательный параметр, положительное число
name название клиента строка длиной от 3 до 60 символов
day_limit дневной лимит в рублях положительное число

Результат:
Возвращает массив ответов на каждый запрос в массиве data. Соответствующий объект в выходном массиве содержит id изменяемого клиента и, в случае возникновения ошибки, поля error_code иerror_desc.

Получение списка клиентов рекламного агенства

Для возврата списка клиентов рекламного агенства используется метод ads.clients.get

Параметры Значение Дополнительные атрибуты
client_ids Список id клиентов через запятую. Например: “id1, id2, …, idn“ необязательный параметр, строка

Результат:
Возвращает массив объектов client — клиентов агентства, каждый из которых содержит следующие поля:

response: {
      count: %total%,
      items: [{
           client_id — идентификатор клиента;
           name — название клиента;
           day_limit — дневной лимит клиента в рублях;
           balance - баланс клиента
      },..]
}

Архивирование клиентов рекламного агенства

Для архивирования клиентов рекламного агенства используется метод ads.clients.delete

Параметры Значение Дополнительные атрибуты
ids Список id клиентов через запятую или массив с id клиентами.

Например: “id1, id2, …, idn“ или [id1, id2, …, idn]

обязательный параметр, строка

Результат:
Возвращает массив ответов на каждый запрос. Каждый ответ является либо 0, что означает успешное удаление, либо массив error.

Подвязывание клиента к рекламному агенству

Для подвязывания клиента к рекламному агенству используется метод ads.clients.bind.put

Параметры Значение Дополнительные атрибуты
email email адрес клиента строка от 3 до 60 символов, обязательный параметр
password пароль клиента (от кабинета) строка от 3 до 60 символов, обязательный параметр

Результат:
Возвращает:

{
	“bind”: true
}

в случае успеха. Или error в случае возникновения ошибки.

Открепление клиента от рекламного агенства

Для открепления клиента от рекламного агенства используется метод ads.clients.unbind.put

Параметры Значение Дополнительные атрибуты
client_id id клиента int (числовое значение)

Результат:
Возвращает:

{
	“unbind”: true
}

в случае успеха. Или error в случае возникновения ошибки.

Пополнение счета клиента

Для пополнения счета клиента используется метод ads.clients.balance.put

Параметры Значение Дополнительные атрибуты
client_id id клиента для пополнения int (числовое значение), обязательный параметр
sum сума в рублях int (числовое значение)
back_url url куда переадресует клиента система пополнения string (строка)
system_id id системы пополнения:

data.balance.systems.get

int (числовое значение), обязательный параметр

Результат:
Возвращает url для оплаты:

{
	response: {
		url: %url%
                  }
}

Создание рекламных объявлений

Для создания рекламных объявлений используется метод ads.materials.put
Максимальное допустимое количество объявлений, создаваемых с помощью одного запроса — 20.

Параметры Значение Дополнительные атрибуты
data сериализованный JSON-массив объектов, описывающих создаваемые объявления. Описание объектов ad_specification см. ниже. обязательный параметр, строка
ad_specification
campaign_id id кампании, в которой будет создаваться объявление обязательный параметр, int (числовое значение)
title заголовок объявления обязательный параметр
text описание объявления указывается только для пушей, ДЛЯ ТИЗЕРОВ НЕ УКАЗЫВАЕТСЯ
link_url ссылка рекламируемого объекта в формате: http://yoursite.cоm обязательный параметр
link_media загруженный ранее медиа объект (jpg, gif):

data.upload.media

обязательный параметр
link_media_rect загруженный ранее медиа объект (jpg, gif):

data.upload.media

обязательный параметр для пушей и тизеров
pause_after_moderate установка объявления на паузу после модерации
size только для банеров:

ads.materials.banner.sizes

categories Стаки по категориям, аналогично как и для кампаний:

массив [category_id => cost]

Не обязательно, если не задавать будут использоваться ставки из категорий кампании

Обновление данных рекламных объявлений

Для обновления данных рекламных объявлений используется метод ads.materials.update
Максимальное допустимое количество объявлений, создаваемых с помощью одного запроса — 20.

Параметры Значение Дополнительные атрибуты
data сериализованный JSON-массив объектов, описывающих создаваемые объявления. Описание объектов ad_specification см. ниже обязательный параметр, строка
ad_specification
material_id id объявления обязательный параметр, int (числовое значение)
status запуск/приостановка материала:

0 - приостановлена;

1 - запущена

необязательный параметр, int (числовое значение), по умолчанию 1

Архивирование рекламных объявлений

Для архивирования рекламных объявлений используется метод ads.materials.delete
Максимальное допустимое количество клиентов, редактируемых с помощью одного запроса — 50.

Параметры Значение Дополнительные атрибуты
account_id идентификатор рекламного кабинета обязательный параметр, int (числовое значение)
ids сериализованный JSON-массив, содержащий идентификаторы объявлений обязательный параметр, строка

Результат:
Возвращает массив ответов на каждый запрос. Каждый ответ является либо 0, что означает успешное удаление, либо массив error.

Получение списка рекламных объявлений

Для получения списка рекламных объявлений используется метод ads.materials.get

Параметры Значение Дополнительные атрибуты
account_id идентификатор рекламного кабинета обязательный параметр, int (числовое значение)
client_id Для рекламных агентств. Идентификатор клиента, у которого запрашиваются рекламные объявления. int (числовое значение)
archive Флаг, задающий необходимость вывода архивных объявлений:

0 - выводить только активные объявления;

1 - выводить все объявления

Флаг, может принимать значения 1 или 0
campaign_ids фильтр по рекламным кампаниям.

Cтрока с идентификаторами, разделенная запятыми. Если параметр равен null, то будут выводиться рекламные объявления всех кампаний.

строка
material_ids фильтр по рекламным кампаниям.

Cтрока с идентификаторами, разделенная запятыми. Если параметр равен null, то будут выводиться все рекламные объявления.

строка
limit ограничение на количество возвращаемых объявлений. Используется, только если параметр ad_ids равен null, а параметр campaign_ids содержит id только одной кампании. int (числовое значение)
offset смещение. Используется в тех же случаях, что и параметр limit int (числовое значение)
ad_format формат объявления: ads.campaigns.formats.get обязательный параметр, int (числовое значение)

Результат:
Возвращает массив объектов ad, каждый из которых содержит следующие поля:

  • id — идентификатор объявления
  • name — название объявления
  • campaign_id — идентификатор кампании
  • link_url
  • arhive
  • ad_format — формат объявления
  • cost_type — тип оплаты
  • all_limit — общий лимит объявления в рублях
    • 0 — лимит не задан
  • status — статус объявления:
    • 0 — объявление остановлено;
    • 1 — объявление запущено;
    • 2 — объявление удалено
  • approved — статус модерации объявления:
    • 0 — объявление ожидает модерации;
    • 10 — объявление одобрено;
    • 20 — объявление отклонено

Получение списка размеров баннеров

Для получение списка размеров баннеров используется метод ads.materials.banner.sizes.get
Результат:
Возвращает массив ответов на запросы в массиве response:

response: {
       count: %total%,
       items: [{
            id: %banner_id%,
            title: ‘%banner title%’
       },..]
}

Получение списка стран

Для получение списка стран используется метод data.geo.countries.get
Результат:
Возвращает массив ответов на запросы в массиве response:

response: {
   count: %,
   items: [{
       id: %country_id%,
       title: %country_name%
   },..]
}

Получение списка регионов по заданому фильтру

Для получения списка регионов по заданому фильтру используется метод data.geo.regions.get

Параметры Значение Дополнительные атрибуты
country_id идентификатор страны, полученный в методе ads.geo.countries положительное число, обязательный параметр

Результат:
Возвращает массив ответов на запросы в массиве response:

response: {
        count: %,
        items: [{
               id: %region_id%,
               title: %region_name%
        },..]
}

Получение списка доступных платежных систем

Для получения списка доступных платежных систем используется метод data.balance.systems.get
Результат:
Возвращает массив ответов на запросы в массиве response:

response: {
        count: %total%,
        items: [{
               id: %pay_system_id%,
               title: ‘%pay system title%’
        },..]
}

Загрузка медиа файлов

Для загрузки медиа файлов (jpg, png, gif) используется метод data.upload.media.update

Параметры Значение Дополнительные атрибуты
ad_format формат объявления: /ads.formats.get int (числовое значение)
file CURLFile object or url or base64

Результат:
Возвращает массив с ссылкой на конечный объект или error в случае ошибки

response: {
        image: “%link%”
}

Пример отправки файла с использование curl в php:

       $token = ‘полученный токен’;
       $ad_format = ‘формат объявления’;
       $app_id = ‘ваш app id’;
       $file = '@/полный путь к файлу';
       $finfo = finfo_open(FILEINFO_MIME_TYPE);
       $finfo = finfo_file($finfo, $link);
       $cFile = new \CURLFile($link, $finfo, basename($link));
       $post = array('file'=>$cFile, 'ad_format' => $ad_format, 'app_id' => $app_id);
       $ignoreParams = array('file'); //поле file не участвует в построении подписи
       ksort( $post );
       $result = array ();
       foreach( $post as $key => $value ) {
         	if(false == in_array($key, $ignoreParams)) {
		      $result[] = $key . '=' . urlencode( $value );
	        }
       }
       $result = implode( '&', $result );
       $signature = md5( $result . $token );
       $target_url = 'http://api.kadam.net/data.upload.media?signature=' . $signature;
       $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);
       $result = curl_exec ($ch); //ответ сервера

Получение текущего времени сервера

Для получения текущего времени сервера в формате ISO 8601 используется метод server.time.get
Результат:
Возвращает массив ответов на запросы в массиве response:

       {
           iso8601: %time%
       }

Статистика для Вебмастера

Для получения статистики по вебмастерам используется метод webmaster.reports.report.get

Параметры Значение Дополнительные атрибуты
secret Ключ доступа для вебмастера(обязательный) Можно получить по требованию
date_from Начало периода строка вида "YYYY-MM-DD", не обязательный параметр, в случае отсутствия будет взята текущая дата
date_to Окончание периода строка вида "YYYY-MM-DD", не обязательный параметр, в случае отсутствия будет взята текущая дата

Максимальный период выгрузки 1 месяц
Результат:

  • blockviews — К-во просмотров блоков
  • moneyin — Заработано денег

Возвращает данные в виде

Array
(
    [responce] => Array
        (
            [2017-11-10] => Array
                (
                    [blockviews] => 300
                    [moneyin] => 100.00
                )
        )
)

Перевода денег для дочерних аккаунтов агенства

Для перевода денег используется метод ads.clients.balance.update

Параметры Значение Дополнительные атрибуты
client_id Идентификатор клиента, ему будут перечислены деньги. Обязательное
sum сумма перевода Обязательное
type Тип операции Обязательное - всегда type = "transfer"
comment Комментарий Обязательное - допускается пустое значение

Операцию можно совершать только при наличии достаточного кол-ва средств на аккаунте
Деньни будут сняты у поьзователя указанного в app_id
Результат:
Результатом операции будет списание средств с основного пользователя - транзакция вывода. И перевод денег на аккаунт агенства - транзакция ввода. Возвращает данные в виде

Array
(
    [status] => "success"
)

В случае ошибки - код ошибки