API Directadvert представляет собой обычный REST-протокол, запросы возможны как GET, так и POST. Запросы GET передаются по стандарту (url-encode), запросы POST точно так же кодируются в application/form-url-encoded виде. Ответ от сервера для всех запросов ожидается в json формате. Обязательное поле success указывает, насколько успешно обработан запрос.
Адрес сервера API:
https://api.directadvert.ru
Пример:
https://api.directadvert.ru/auth.json?name=username&password=userpassword
Представление данных:
- <STRING>
- – строковое представление
- <INT>
- – целочисленное представление (4 байта)
- <FLOAT>
- – представление в формате числа с плавающей точкой
- <ARRAY>
- – представление в виде массива в запросах (&var[]=value1&var[]=value2)
- <JSON_ARRAY>
- – представление в формате json массива
- <JSON_OBJECT>
- – представление в формате json объекта
Формат ответа от сервера
Положительный ответ от сервера:
{
"success" : true,
...
}
Ответ в случае возникновения ошибки:
{
"success" : false,
"error_code" : <INT>,
"error_message" : <STRING>
}
- error_code
- – код ошибки
- error_message
- – текстовое описание ошибки
/auth.json
Параметры:
- name
- <STRING>
- Имя пользователя
- password
- <STRING>
- Пароль
Формат выходных данных:
{
"success" : true,
"token" : <STRING>,
"account_data" : {
"email" : <STRING>,
"id" : <INT>,
"stats_min_date" : <DATE>,
"advertiser" : <ACCOUNT_ITEM>,
"partner" : <ACCOUNT_ITEM>,
"balance" : <FLOAT> (кроме обменных аккаунтов),
"currency" : <STRING> (кроме обменных аккаунтов),
"min_price_buy" : <FLOAT>,
"max_price_buy" : <FLOAT>,
"registration_type" : <STRING>
}
}
ACCOUNT_ITEM
{
"statistics" : {
"current" : {
"shows" : <INT>,
"clicks" : <INT>,
"actions" : <INT>, (для рекламодателя)
"ctr" : <FLOAT>,
"expense" : <FLOAT>, (для рекламодателя)
"profit" : <FLOAT>, (для паблишера)
"cpc" : <FLOAT>,
"cpm" : <FLOAT> (для паблишера)
},
"delta" : {
"shows" : <INT>,
"clicks" : <INT>,
"actions" : <INT>, (для рекламодателя)
"ctr" : <FLOAT>,
"expense" : <FLOAT>, (для рекламодателя)
"profit" : <FLOAT>, (для паблишера)
"cpc" : <FLOAT>,
"cpm" : <FLOAT> (для паблишера)
}
}
}
- token
- <STRING>
- - Токен, который будет в дальнейшем использоваться в запросах для получения данных, связанных с аккаунтом
- account_data
- <JSON_OBJECT>
- - Данные аккаунта
/create_ad.json
Параметры:
- token
- <STRING>
- Токен авторизации
- group_id
- <INT>
- Идентификатор кампании, для которой создается объявление (необязательный)
- title
- <STRING>
- Заголовок
- announce
- <STRING>
- Анонс (необязательный)
- url
- <STRING>
- URL перехода
- price
- <FLOAT>
- Цена за переход
- image
- <STRING>
- Изображение, кодированное в base64
Формат выходных данных:
{
"success" : true,
"id": <INT>
}
/create_ad_group.json
Параметры:
- token
- <STRING>
- Токен авторизации
- name
- <STRING>
- Имя кампании
Формат выходных данных:
{
"success" : true
}
/edit_ad.json
Параметры:
- token
- <STRING>
- Токен авторизации
- id
- <INT>
- Идентификатор объявления
- group_id
- <INT>
- Идентификатор кампании, для которой создается объявление (необязательный)
- title
- <STRING>
- Заголовок (необязательный)
- announce
- <STRING>
- Анонс (необязательный)
- url
- <STRING>
- URL перехода (необязательный)
- price
- <FLOAT>
- Цена за переход (необязательный)
- image
- <STRING>
- Изображение, кодированное в base64 (необязательный)
Формат выходных данных:
{
"success" : true
}
/delete_ad.json
Параметры:
- token
- <STRING>
- Токен авторизации
- ids
- <ARRAY>
- Список идентификаторов объявлений
Формат выходных данных:
{
"success" : true
}
/edit_ad_group.json
Параметры:
- token
- <STRING>
- Токен авторизации
- id
- <INT>
- Идентификатор кампании
- max_clicks_workday
- <INT>
- Максимум кликов в будни (необязательный, -1 - отмена ограничения)
- max_clicks_weekend
- <INT>
- Максимум кликов в выходные (необязательный, -1 - отмена ограничения)
- max_clicks
- <INT>
- Общий максимум кликов (необязательный, -1 - отмена ограничения)
- time_targeting
- <ARRAY>
- Таргетинг по времени (необязательный)
- device_targeting
- <ARRAY>
- Таргетинг по типу устройства (необязательный)
- netop_targeting
- <ARRAY>
- Таргетинг по оператору связи (необязательный)
- geo_targeting
- <ARRAY>
- Таргетинг по регионам (необязательный)
- max_expense
- <FLOAT>
- Общий расход (необязательный, -1 - отмена ограничения)
- max_expense_workday
- <FLOAT>
- Расход в рабочие дни (необязательный, -1 - отмена ограничения)
- max_expense_weekend
- <FLOAT>
- Расход в выходные (необязательный, -1 - отмена ограничения)
- campaign_start
- <DATE>
- Начало трансляции кампании (необязательный)
- campaign_finish
- <DATE>
- Конец трансляции кампании (необязательный)
- is_campaign_inherit
- <BOOLEAN>
- Наследование периода трансляции кампании (необязательный)
Примеры:
Для установки таргетинга по времени с 6 до 10 часов:
https://api.directadvert.ru/edit_ad_group.json?token=65b9c9dbe411bbfc8eba82b59db766b4&id=12345&time_targeting[]=6&time_targeting[]=7&time_targeting[]=8&time_targeting[]=9
https://api.directadvert.ru/edit_ad_group.json?token=65b9c9dbe411bbfc8eba82b59db766b4&id=12345&geo_targeting[]=RU&geo_targeting[]=GE.Tbilisi&geo_targeting[]=KZ.NorthKazakhstan
Полный список идентификаторов регионов доступен при вызове метода /get_regions.json
в элементах name значений полученного массива.
Для установки таргетинга по типам устройств (стационарные и Android-устройства):
https://api.directadvert.ru/edit_ad_group.json?token=65b9c9dbe411bbfc8eba82b59db766b4&id=12345&device_targeting[]=Fixed&device_targeting[]=Mobile.Android
Полный список идентификаторов устройств доступен при вызове метода /get_devices.json
в элементах name значений полученного массива.
Для установки таргетинга по операторам связи (МТС и широкополосный интернет):
https://api.directadvert.ru/edit_ad_group.json?token=65b9c9dbe411bbfc8eba82b59db766b4&id=12345&netop_targeting[]=Mts&netop_targeting[]=Broadband
Полный список операторов связи доступен при вызове метода /get_netops.json
в элементах name значений полученного массива.
Формат выходных данных:
{
"success" : true
}
/get_account_info.json
Параметры:
- token
- <STRING>
- Токен авторизации
- date
- <DATE>
- Если установлен этот параметр, то статистика будет выводиться за указанную дату (необязательный)
Формат выходных данных:
{
"success" : true,
"account_data" : {
"email" : <STRING>,
"balance" : <FLOAT>,
"currency" : <STRING>, (кроме обменных аккаунтов)
"advertiser" : {
"statistics" : {
"current" : <ACCOUNT_STATISTICS>,
"delta" : <ACCOUNT_STATISTICS>,
}
},
"partner" : {
"statistics" : {
"current" : <ACCOUNT_STATISTICS>,
"delta" : <ACCOUNT_STATISTICS>,
}
},
"min_price_buy" : <FLOAT>,
"max_price_buy" : <FLOAT>,
"registration_type" : <STRING>,
"region_target" : <ARRAY>,
"device_target" : <ARRAY>
}
}
ACCOUNT_STATISTICS
{
"shows" : <INT>,
"clicks" : <INT>,
"actions" : <INT>, (для рекламодателя)
"ctr" : <FLOAT>,
"expense" : <FLOAT>, (для рекламодателя)
"profit" : <FLOAT>, (для паблишера)
"cpc" : <FLOAT>,
"cpm" : <FLOAT> (для паблишера)
}
/get_account_details.json
Параметры:
- token
- <STRING>
- Токен авторизации
- date
- <DATE>
- Если установлен этот параметр, то статистика будет выводиться за указанную дату (необязательный)
- date_end
- <DATE>
- Если установлен этот параметр, то статистика будет выводиться за период с даты date по указанную (необязательный)
- with_archived
- <INT>
- Если установлен этот параметр, то в конец списка групп будут добавлены архивные
Формат выходных данных:
{
"success" : true,
"account_details" : [
<ACCOUNT_GROUP_ITEM>,
<ACCOUNT_GROUP_ITEM>,
...
],
"summary" : <GROUP_STATISTICS>
}
ACCOUNT_GROUP_ITEM
{
"group_id" : <INT>,
"title" : <STRING>,
"created" : <STRING>,
"max_clicks_workday" : <INT>,
"max_clicks_weekend" : <INT>,
"time_targeting" : [
"value" : <ARRAY>,
"inherits_from_account" : <INT>
],
"geo_targeting" : [
"value" : <ARRAY>,
"inherits_from_account" : <INT>
],
"device_targeting" : [
"value" : <ARRAY>,
"inherits_from_account" : <INT>
],
"campaign_start" : <DATE>,
"campaign_finish" : <DATE>,
"is_campaign_inherit" : <BOOLEAN>,
"all_count" : <INT>,
"active_count" : <INT>,
"status" : <STRING>,
"statistics" : {
"current" : <GROUP_STATISTICS>,
"delta" : <GROUP_STATISTICS>,
"period" : { (При установленных одновременно *date* и *date_end*)
<DATE> : <GROUP_STATISTICS>,
<DATE> : <GROUP_STATISTICS>,
...
}
}
}
GROUP_STATISTICS
{
"shows" : <INT>,
"clicks" : <INT>,
"actions" : <INT>,
"ctr" : <FLOAT>,
"expense" : <FLOAT>, (для рекламодателя)
"cpc" : <FLOAT> (для рекламодателя)
}
/get_advertiser_stats.json
Параметры:
- token
- <STRING>
- Токен авторизации
- group_id
- <INT>
- Идентификатор кампании (необязательный). Если не установлен этот параметр, то статистика будет выводиться для всего аккаунта.
- date
- <DATE>
- Дата в формате YYYY-MM-DD (необязательный). Если установлен этот параметр, то статистика будет выводиться за указанную дату.
- date_end
- <DATE>
- Дата в формате YYYY-MM-DD (необязательный). Если установлен этот параметр, то статистика будет выводиться за период с даты date по указанную.
Формат выходных данных:
{
"success" : true,
"group_id" : <INT> or null,
"statistics" : [
"period" : [
<DATE> : <ADVERTISER_STATISTICS>,
<DATE> : <ADVERTISER_STATISTICS>,
...
],
"total" : < >
]
}
/get_sites_info.json
Параметры:
- token
- <STRING>
- Токен авторизации
- getcount
- <BOOLEAN>
- Получить только количество сайтов (необязательный). Требуется для установки параметра page.
- page
- <INT>
- Страница (необязательный, от 0). Список выводится порциями по 200 сайтов.
- date
- <DATE>
- Дата в формате YYYY-MM-DD (необязательный). Если установлен этот параметр, то статистика будет выводиться за указанную дату.
- date_end
- <DATE>
- Дата в формате YYYY-MM-DD (необязательный). Если установлен этот параметр, то статистика будет выводиться за период с даты date по указанную.
При установленных одновременно date и date_end статистика выводится в параметре period, в остальных случаях - в параметрах current и delta.
Формат выходных данных:
{
"success" : true,
"sites_count" : <INT>,
"pages_count" : <INT>,
"site_data" : [
SITE_ITEM,
SITE_ITEM,
...
],
"site_data_page_total" : <PARTNER_STATISTICS>
}
SITE_ITEM
{
"site_id" : <INT>,
"title" : <STRING>,
"status" : <STRING>,
"min_teaser_rating" : <INT>,
"statistics" : {
"current" : <PARTNER_STATISTICS>,
"delta" : <PARTNER_STATISTICS>,
"period" : { (При установленных одновременно *date* и *date_end*)
<DATE> : <PARTNER_STATISTICS>,
<DATE> : <PARTNER_STATISTICS>,
...
}
}
}
PARTNER_STATISTICS
{
"shows" : <INT>,
"clicks" : <INT>,
"profit" : <FLOAT>,
"ctr" : <FLOAT>,
"cpc" : <FLOAT>,
"cpm" : <FLOAT>
}
/get_site_details.json
Параметры:
- token
- <STRING>
- Токен авторизации
- site_id
- <INT>
- Идентификатор сайта
- date
- <DATE>
- Дата в формате YYYY-MM-DD (необязательный). Если установлен этот параметр, то статистика будет выводиться за указанную дату.
- date_end
- <DATE>
- Дата в формате YYYY-MM-DD (необязательный). Если установлен этот параметр, то статистика будет выводиться за период с даты date по указанную.
При установленных одновременно date и date_end статистика выводится в параметре period, в остальных случаях - в параметрах current и delta.
Формат выходных данных:
{
"success" : true,
"site_details" : [
SITE_ADVERT_BLOCK_ITEM,
SITE_ADVERT_BLOCK_ITEM,
...
]
}
SITE_ADVERT_BLOCK_ITEM
{
"adp_id" : <INT>,
"title" : <STRING>,
"statistics" : {
"current" : <PARTNER_STATISTICS>,
"delta" : <PARTNER_STATISTICS>,
"period" : { (При установленных одновременно date и date_end)
<DATE> : <PARTNER_STATISTICS>,
<DATE> :<PARTNER_STATISTICS>,
...
}
}
}
PARTNER_STATISTICS
{
"shows" : <INT>,
"clicks" : <INT>,
"profit" : <FLOAT>,
"ctr" : <FLOAT>,
"cpc" : <FLOAT>,
"cpm" : <FLOAT>
}
/set_adverts_status.json
Параметры:
- token
- <STRING>
- Токен авторизации
- adverts_id
- <ARRAY>
- Массив ID объявлений
- status
- <STRING>
- Желаемое действие (active|paused)
Формат выходных данных:
{
"success" : true
}
/get_group_details.json
Параметры:
- token
- <STRING>
- Токен авторизации
- group_id
- <INT>
- Идентификатор кампании
- date
- <DATE>
- Дата в формате YYYY-MM-DD (необязательный). Если установлен этот параметр, то статистика будет выводиться за указанную дату.
- date_end
- <DATE>
- Дата в формате YYYY-MM-DD (необязательный). Если установлен этот параметр, то статистика будет выводиться за период с даты date по указанную.
Формат выходных данных:
{
"success" : true,
"group_details" : [
<GROUP_ADVERT_ITEM>,
<GROUP_ADVERT_ITEM>,
...
]
}
GROUP_ADVERT_ITEM
{
"ad_id" : <INT>,
"title" : <STRING>,
"created" : <STRING>,
"url" : <STRING>,
"image_url" : <STRING>,
"status" : <STRING>,
"status_extended" : <STRING>,
"statistics" : {
"current" : <ADVERTISER_STATISTICS>,
"delta" : <ADVERTISER_STATISTICS>,
"period" : {
<DATE> : <ADVERTISER_STATISTICS>,
<DATE> :<ADVERTISER_STATISTICS>,
...
}
}
}
/get_group_teasers.json
Параметры:
- token
- <STRING>
- Токен авторизации
- group_id
- <INT>
- Идентификатор кампании
Формат выходных данных:
{
"success" : true,
"group_teasers" : [
<GROUP_ADVERT_ITEM>,
<GROUP_ADVERT_ITEM>,
...
]
}
GROUP_ADVERT_ITEM
{
"ad_id" : <INT>,
"group_id" : <INT>,
"status" : <STRING>,
"status_extended" : <STRING>,
"title" : <STRING>,
"announce" : <STRING>,
"is_banner" : <INT>,
"url" : <STRING>,
"image_url" : <STRING>,
"image_string" : <STRING>,
"action_url" : <STRING>, (для необменных пользователей)
"buy_price" : <FLOAT>, (для необменных пользователей)
"action_price" : <FLOAT> (для необменных пользователей)
}
/get_teaser_info.json
Параметры:
- token
- <STRING>
- Токен авторизации
- id
- <INT>
- Идентификатор объявления
- date
- <DATE>
- Дата в формате YYYY-MM-DD (необязательный). Если установлен этот параметр, то статистика будет выводиться за указанную дату.
Формат выходных данных:
{
"success" : true,
"teaser_info" : <ADVERT_ITEM>
}
ADVERT_ITEM
{
"ad_id" : <INT>,
"title" : <STRING>,
"url" : <STRING>,
"image_url" : <STRING>,
"status" : <STRING>,
"statistics" : {
"current" : <ADVERTISER_STATISTICS>,
"delta" : <ADVERTISER_STATISTICS>,
"period" : { (При установленных одновременно date и date_end)
<DATE> : <ADVERTISER_STATISTICS>,
<DATE> : <ADVERTISER_STATISTICS>,
...
}
}
}
/set_groups_status.json
Параметры:
- token
- <STRING>
- Токен авторизации
- groups_id
- <ARRAY>
- Массив идентификаторов кампаний
- status
- <STRING>
- Устанавливаемый статус
Возможные значения статуса кампаний:
- active
- Активно
- paused
- Остановлено
- archived
- Архивирование кампании
Пример:
Установка статуса "Остановлено" кампаниям с id 123, 234, 345.
https://api.directadvert.ru/set_groups_status.json?token=65b9c9dbe411bbfc8eba82b59db766b4&groups_id[]=123&groups_id[]=234&groups_id[]=345&status=paused
Формат выходных данных:
{
"success" : true
}
/delete_ad_group.json
Параметры:
- token
- <STRING>
- Токен авторизации
- ids
- <ARRAY>
- Список идентификаторов кампаний
Формат выходных данных:
{
"success" : true
}
/agent/auth.json
Параметры:
- name
- <STRING>
- Имя пользователя
- password
- <STRING>
- Пароль
Формат выходных данных:
{
"success" : true,
"agent_token" : <STRING> Токен, который будет в дальнейшем использоваться в запросах для получения данных, связанных с агентским аккаунтом
}
/agent/create_client.json
Параметры:
- agent_token
- <STRING>
- Токен авторизации агента
- email
- <STRING>
- E-mail пользователя
- passwd
- <STRING>
- Пароль пользователя
Формат выходных данных:
{
"success" : true,
"user_id" : <INT> Идентификатор созданного пользователя
}
/agent/get_clients.json
Параметры:
- agent_token
- <STRING>
- Токен авторизации агента
Формат выходных данных:
{
"success" : true,
"clients" : [
<CLIENT_INFO>,
<CLIENT_INFO>,
...
]
}
CLIENT_INFO
{
"id" : <INT>,
"email" : <STRING>,
"balance" : <FLOAT>,
"currency" : <STRING>
}
/agent/get_client_info.json
Параметры:
- agent_token
- <STRING>
- Токен авторизации
- id
- <INT>
- ID пользователя
Формат выходных данных:
{
"success" : true,
"account_data" : {
"email" : <STRING>,
"balance" : <FLOAT>,
"currency" : <STRING>,
"advertiser" : {
"statistics" : {
"current" : <ADVERTISER_STATISTICS>,
"delta" : <ADVERTISER_STATISTICS>,
}
}
}
}
ADVERTISER_STATISTICS
{
"shows" : <INT>,
"clicks" : <INT>,
"actions" : <INT>,
"expense" : <FLOAT>,
"ctr" : <FLOAT>,
"cpc" : <FLOAT>
}
/agent/get_client_stats.json
Параметры:
- agent_token
- <STRING>
- Токен авторизации
- id
- <INT>
- ID пользователя
- date_start
- <DATE>
- Дата в формате YYYY-MM-DD (необязательный).
- date_end
- <DATE>
- Дата в формате YYYY-MM-DD (необязательный).
- by_day
- <BOOLEAN>
- Включать отдельную статистику по дням (необязательный).
При установленных одновременно date_start и date_end статистика выводится за указанный период, в остальных случаях - за последние 30 дней
Формат выходных данных:
{
"success" : true,
"client_stats" : {
"daily_stats" : [ (При включенной опции by_day)
<DAILY_STATS>,
<DAILY_STATS>,
...
]
"client_expense" : <FLOAT>,
"agent_profit" : <FLOAT>
}
}
DAILY_STATS
{
"day" : <DATE>,
"client_expense" : <FLOAT>,
"agent_profit" : <FLOAT>
}
/agent/add_client_credit.json
Параметры:
- agent_token
- <STRING>
- Токен авторизации агента
- id
- <INT>
- Идентификатор пользователя
- amount
- <FLOAT>
- Сумма увеличения кредитного лимита пользователя
Формат выходных данных:
{
"success" : true,
"operation_id" : <INT> Идентификатор операции изменения лимита
}
/ban_ip.json
Параметры:
- token
- <STRING>
- Токен авторизации
- ip
- <ARRAY>
- Список IP-адресов
Пример:
Блокировка посетителей, пришедших c IP-адресов "212.64.65.66" и "135.12.34.56"
https://api.directadvert.ru/ban_ip.json?token=65b9c9dbe411bbfc8eba82b59db766b4&ip[]=212.64.65.66&ip[]=135.12.34.56
Формат выходных данных:
{
"success" : true
}
/unban_ip.json
Параметры:
- token
- <STRING>
- Токен авторизации
- ip
- <ARRAY>
- Список IP-адресов
Пример:
Разблокировка посетителей, пришедших c IP-адресов "212.64.65.66" и "135.12.34.56"
https://api.directadvert.ru/unban_ip.json?token=65b9c9dbe411bbfc8eba82b59db766b4&ip[]=212.64.65.66&ip[]=135.12.34.56
Формат выходных данных:
{
"success" : true
}
/get_banned_ip_list.json
Параметры:
- token
- <STRING>
- Токен авторизации
Формат выходных данных:
{
"success" : true,
"banned_ip_list" : <JSON_ARRAY>
}
/get_regions.json
Не требует авторизации
Формат выходных данных:
{
"success" : true,
"regions" :
<REGION>,
<REGION>,
...
}
REGION
{
"name" : <STRING>, Идентификатор региона
"runame" : <STRING> Наименование региона
}
/get_group_sources.json
Параметры:
- token
- <STRING>
- Токен авторизации
- group_id
- <INT>
- Id кампании
- date
- <DATE>
- Дата в формате YYYY-MM-DD (необязательный). Если установлен этот параметр, то статистика будет выводиться за указанную дату.
- date_end
- <DATE>
- Дата в формате YYYY-MM-DD (необязательный). Если установлен этот параметр, то статистика будет выводиться за период с даты date по указанную.
Формат выходных данных:
{
"success" : true,
"sources" : [
[
"id" : <INT>,
"name" : <STRING>,
"blocked" : <BOOLEAN>,
"clicks" : <INT>,
"actions" : <INT>,
"conversion_pc" : <FLOAT>,
"expense" : <FLOAT>,
"cpc" : <FLOAT>,
"cpc_ratio" : <FLOAT>,
"cpa" : <FLOAT>
],
...
]
}
/set_filter_source.json
Параметры:
- token
- <STRING>
- Токен авторизации
- src_id
- <INT>
- Идентификатор источника.
- group_id
- <INT>
- Идентификатор кампании.
- blocked
- <BOOLEAN>
- Установка статуса блокировки.
Формат выходных данных:
{
"success" : true
}
/set_filter_source_ratio.json
Параметры:
- token
- <STRING>
- Токен авторизации
- src_id
- <INT>
- Идентификатор источника.
- group_id
- <INT>
- Идентификатор кампании.
- cpc_ratio
- <FLOAT>
- Коэффициент интенсивности источника
Формат выходных данных:
{
"success" : true
}