К большому сожалению, сервис вынужден прекратить свою работу. Спасибо, что были с нами все эти годы!

ClickFrog™ API для Аудита Трафика

Формат запросов

Запросы осуществляются в формате JSON путем отправления POST запроса на адрес http://a.clickfrog.ru/api/
JSON состоит из 3х обязательных параметров: id, md5, task а также специфичных параметров для каждого метода.
В первых двух параметрах передаются данные для авторизации. В параметре task - вызываемый метод.

Формат ответов

Ответ состоит из JSON объекта.
В случае успешного запроса в объекте присутсвует свойство 'ok', а сам ответ находится в его значении.
В случае ошибки при запросе в объекте присутсвует свойство 'error', описание ошибки находится в его значении.
Исключением является метод add_sites, который возращает массив объектов аналогичной структуры.

Подключение API

API подключается по запросу в поддержку.

Авторизация

Авторизация проводится путем передачи id пользователя(сообщается при подключении API) и md5 от пароля в json параметрах id и md5.

Ограничение API

Запрещено делать более 60 запросов в минуту.
В случае если отправлено более 60 запросов - пользователь блокируется на минуту.
В случае если лимиты нарушались более 60 раз в сутки - API отключается и подключается только по запросу в поддержку.
Использование метода get_stat с параметром stype=1,stype=2 и stype=7 учитывается как 10 запросов.
Использование метода get_stat с параметром stype=3 возможно не чаще раза в сутки для одного сайта.

Методы

get_audit_balance
Получает баланс Аудит Трафика.

Дополнительные параметры:

  • нет
Пример запроса:
curl -d '{"id":1,"md5":"2e676f870f840d33448fa6718cc89db2","task":"get_audit_balance"}'
Пример ответа:
{
    "ok": "8000.00"
}


get_sites_audit_status
Получить состояние Аудита Трафика по сайту.

Дополнительные параметры:

  • нет
Пример запроса:
curl -d
'{"id":1,"md5":"2e676f870f840d33448fa6718cc89db2","task":"get_sites_audit_status"}'
Пример ответа:
{
    "ok": {
        "1": {
            "id": "1",
            "domain": "example.com",
            "state": "OFF"
        },
        "2": {
            "id": "2",
            "domain": "example.org",
            "state": "ON"
        }
    }
}
Описание ответа:
  • id - ID сайта в системе
  • domain - Домен сайта
  • state - Состояние Аудита
    • ON - включен
    • OFF - выключен
    • NO MONEY - выключен, нет денег на балансе аудита
    • NO CODE - выключен, нету кода на страницах


get_site_audit_status
Получить состояние Аудита Трафика по сайту.

Дополнительные параметры:

  • site_id - ID сайта, полученный в ответе метода get_sites_audit_status
Пример запроса:
curl -d
'{"id":1,"md5":"2e676f870f840d33448fa6718cc89db2","task":"get_site_audit_status",
"site_id":1}'
Пример ответа:
{
    "ok": "NO CODE",
    "info": [{
        "url": "http:\/\/example.com\/page1",
        "js_code": 1,
        "php_code": 0
    }, {
        "url": "http:\/\/example.org\/page2",
        "js_code": -1,
        "php_code": 1
    }]
}
Описание ответа:
  • ok - Состояние Аудита
    • ON - включен
    • OFF - выключен
    • NO MONEY - выключен, нет денег на балансе аудита
    • NO CODE - выключен, нету кода на страницах
  • info - Пристуствует только в случае состояния NO CODE, содержит массив страниц с без кода
    • url - адрес страницы
    • js - если равно 1, на странице отсутвует js код
    • php - если равно 1, на странице отсутвует php код


get_ban_limits
Получить параметры блокировки

Дополнительные параметры:

  • нет
Пример запроса:
curl -d '{"id":1,"md5":"2e676f870f840d33448fa6718cc89db2","task":"get_ban_limits"}'
Пример ответа:
{
    "ok": {
        "uid_ban_limit": "-8",
        "pads_visits_limit": "10",
        "pad_ban_limit": "-3.30"
    }
}
Описание ответа:
  • uid_ban_limit - Граничный рейтинг UID пользователя
  • pads_visits_limit - Min количество переходов для расчета рейтинга площадки
  • pad_ban_limit - Граничный рейтинг площадки


set_ban_limits
Установить параметры блокировки

Дополнительные параметры:

  • uid_ban_limit - Граничный рейтинг UID пользователя (int)[-50;-3]
  • pads_visits_limit - Min количество переходов для расчета рейтинга площадки (int)[5;50]
  • pad_ban_limit - Граничный рейтинг площадки (float)[-4;-2.5]
Пример запроса:
curl -d '{"id":1,"md5":"2e676f870f840d33448fa6718cc89db2","task":"set_ban_limits",
"uid_ban_limit": "-8","pads_visits_limit": "10","pad_ban_limit": "-3.30"}'
Пример ответа:
Аналогично методу get_ban_limits


start_stop_audit
Запустить или остановить Аудит Трафика

Дополнительные параметры:

  • site_id - ID сайта, полученный в ответе метода get_sites_audit_status
  • state - ON - включить, OFF - выключить
Пример запроса:
curl -d '{"id":1,"md5":"2e676f870f840d33448fa6718cc89db2","task":"start_stop_audit",
"site_id": "2","state": "ON"}'
Пример ответа:
{
    "ok": "ON"
}


add_sites
Добавить сайт в Аудит Трафика

Дополнительные параметры:

  • urls - массив сайтов для добавления
  • state - ON - включить, OFF - выключить
Пример запроса:
curl -d '{"id":1,"md5":"e10adc3949ba44ff883e","task":"add_sites",
"urls":["example.org","exaple.com"]}'
Пример ответа:
{
    [{
        "ok": 100
    }, {
        "error": "WRONG URL"
    }]
}
Описание ответа:
    Ответ содержит массив результатов добавления сайтов в том же порядке, в котором они отправлялись на добавление
  • ok - сайт добавлен успешно, возвращено его ID
  • error - ошибка


check_code
Проверить наличие кода на странице

Дополнительные параметры:

  • url - адрес страницы
Пример запроса:
curl -d '{"id":1,"md5":"2e676f870f840d33448fa6718cc89db2","task":"check_code",
"url":"example.org/12?d=e"}
Пример ответа:
{
    "ok": {
        "php": 1,
        "js": 0
    }
}
Описание ответа:
  • php - наличие php кода: 1 - код есть, 0 - кода нет
  • js - наличие javascript кода: 1 - код есть, 0 - кода нет


get_stat
Получить статистику по сайту

Дополнительные параметры:

  • site_id - ID сайта, полученный в ответе метода get_sites_audit_status
  • stype - тип статистики
    • 1 - мошеннические IP за диапазон времени(не более 31 дня)
    • 2 - мошеннические площадки за диапазон времени(не более 31 дня)
    • 3 - полная статистика по сайту за диапазон времени(не более 31 дня)
    • 7 - статистика по лидам сайта за диапазон времени(не более 31 дня)
  • from - начало диапазона времени в формате UNIX TIMESTAMP
  • to - конец диапазона времени в формате UNIX TIMESTAMP
Пример запроса:
curl -d '{"id":1,"md5":"e10adc3949ba44ff883e","task":"get_stat","site_id":1,"stype":1,
"from":1385501505,"to":1385541505}'
Пример ответа (stype=1):
{
    "ok": [
        ["1385537718", "93.127.125.94", 
	"example.org\/?_openstat=YmVndW47MzAyMDAwNDUyOzMwMjAwMDQ1ODs", 
	"begun machinelife.ru", "4"],
        ["1385530612", "209.85.238.9", 
	"example.org\/?utm_source=trafmag&utm_medium=click&tracking=1043", 
	"trafmag (\u043f\u0443\u0441\u0442 \u0440\u0435\u0444\u0435\u0440) 1043", "1"],
        ["1385505224", "66.249.93.44", 
	"example.org\/?utmka=lalala&keyword&site=example.org", 
	"batterfliay.ru", "16"],
        ["1385504840", "192.168.1.153", 
	"example.org\/?utm_source=trafmag&utm_campaign=trafmag&tracking=944", 
	"trafmag (\u043f\u0443\u0441\u0442 \u0440\u0435\u0444\u0435\u0440) 944", "4"],
        ["1385503928", "46.30.167.204", 
	"example.org\/?utm_source=trafmag&utm_medium=click&utm_campaign=trafmag", 
	"trafmag (\u043f\u0443\u0441\u0442 \u0440\u0435\u0444\u0435\u0440) 185", "3"],
        ["1385503418", "66.249.81.44", 
	"example.org\/?utmka=lalala&keyword&site=5864f0a8cffd909f.anonymous.google", 
	"5864f0a8cffd909f.anonymous.google", "1"]
    ]
}
Описание ответа (stype=1):
    Массив значений по колонкам
  • 1 - время в UNIX TIMESTAMP
  • 2 - IP
  • 3 - целевая страница
  • 4 - площадка
  • 5 - количество переходов
  • 6 - ваш id (только если используется привязка)


Пример ответа (stype=2):
{
    "ok": [
        ["2013-11-27", "adwords mail.google.com",
	"example.com\/?utmka=lalala&keyword=&site=mail.google.com", "1"],
        ["2013-11-27", "begun rating.openstat.ru",
	"example.com\/?_openstat=YmVndW47MzAyMDAwNDUyOzMwMjAwMTE2MD", "1"],
        ["2013-11-27", "google.com example.org",
	"example.com\/?utmka=lalala&keyword=&site=example.org", "25"],
        ["2013-11-26", "google.com example.org",
	"example.com\/?utmka=lalala&keyword=&site=example.org", "25"]
    ]
}
Описание ответа (stype=2):
    Массив значений по колонкам
  • 1 - дата
  • 2 - площадка
  • 3 - целевая страница
  • 4 - количество переходов


Пример ответа (stype=3):
{
    "ok": [
        ["1369297040", "armyansk.info", "0", "77.52.191.86", "B5368",
	"example.org\/?_openstat=YmVndW47MzE0NTQ4NTQ4OzMxNDU0ODU3MDs",
	"0,03", "armyansk.info\/transport\/train-schedule"],
        ["1369297510", "ru.podii.com.ua", "0", "195.24.157.158", "B5372",
	"example.org\/?_openstat=YmVndW47MzE0NTQ4NTQ4OzMxNDU0ODU3MDs",
	"0,03", "ru.podii.com.ua\/business\/2013\/05\/23\/103707.html"],
        ["1369299042", "smotri.com", "-2.69444", "193.108.171.116", "A2008879",
	"example.org\/?_openstat=YmVndW47MzE0NTQ4NTQ4OzMxNDU0ODU3MDs",
	"0,03", "smotri.com\/live\/00kleopatra00"],
    ]
}
Описание ответа (stype=3):
    Массив значений по колонкам
  • 1 - время в UNIX TIMESTAMP
  • 2 - площадка
  • 3 - рейтинг площадки
  • 4 - IP
  • 5 - индентификатор пользователя
  • 6 - посадочная страница
  • 7 - стоимость
  • 8 - реферер
  • 6 - ваш id (только если используется привязка)


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

Пример запроса:

 curl -d '{"id":1,"md5":"2e676f870f840d33448fa6718cc89db2","task":"get_marks_list"}'
                                

Пример ответа:
{"ok":
    [
        {
            "id":"7",
            "lines":"5",
            "reserved_fragment":"test_replace",
            "reserver_is_referer":"0",
            "domain":null,
            "state":"6",
            "balance":"0",
            "redirect_type":"2",
            "redirect_number":"0",
            "info_mail":"mail@clickfrog.ru"
        }
    ]
}
                                

Описание ответа:
  • id - id метки
  • lines - количество одновременно доступных линий
  • reserved_fragment - метка
  • reserver_is_referer - вхождение (0 - в URL, 1- в Referer)
  • domain - домен
  • state - статус
    • 0 - Ожидает пополнения
    • 1 - Ожидает регистрации
    • 2 - В процессе регистрации
    • 3 - Загрузка документов
    • 4 - Ожидает модерации
    • 5 - Ошибка проверки документов - обратитесь в поддержку
    • 6 - Готов
  • balance - баланс
  • redirect_type - обработка вызова (0 — переадресация, 2 - автоответчик)
  • info_mail - e-mail для отправки входящих

get_marks_stat
Получить статистику по id-метки

Пример запроса:

 curl -d '{"id":1,"md5":"2e676f870f840d33448fa6718cc89db2","task":"get_marks_stat",
 "tid":"1","from":"2015-11-01","to":"2015-11-06"}'
                                

Пример ответа:
{"ok":
    [
        {
            "id":"test1",
            "clicks":"4",
            "calls0":"0",
            "calls1":"0",
            "calls2":"0",
            "autoresponds":"0"
           
        }
    ]
}    
                                

Описание ответа:
  • id - значение потока
  • clicks - количество кликов
  • calls0 - пропущенные звонки
  • calls1 - звонки меньше минуты
  • calls2 - звонки больше минуты
  • autoresponds - автоответчик

set_direct_ips
Добавить ip адреса в ручной бан модуля "Аудит Директ + бан"

Дополнительные параметры:

  • site_id - ID сайта, полученный в ответе метода
  • yad_id - ID вашкго Директ аккаунта
  • ips - ip адреса которые нужно добавить в ручной бан, через зяпятую, оставить пустым если нужно очистить список
Пример запроса:
curl -d '{"id":42,"md5":"e10adc3949ba44ff883e","task":"set_direct_ips", "site_id":1, "yad_id":"1", "ips":"222.22.22.22,222.22.22.23"}' http://a.clickfrog.ru/api/
Пример ответа:
{
    [{
        "ok": SAVED
    }, {
        "error": "WRONG URL"
    }]
}

Коды ошибок

  • WRONG TASK — некорректный метод API
  • REQUEST METHOD SHOULD BE POST — метод HTTP запроса не POST
  • ZERO CONTENT LENGTH — HTTP заголовок CONTENT LENGTH равен 0 или отсутствует
  • MALFORMED JSON — некорректно сформированный JSON
  • ONE OF THE NECESSARY PARAMETERS IS MISSING — не указан id,md5 или task
  • API DISABLED OR AUTH ERROR – API отключено, либо некорректная пара id,md5
  • API ABUSE. API DISABLED — систематическое нарушение лимитов API. API отключено.
  • API LIMIT REACHED. BANNED FOR 1 MINUTE — нарушение лимитов API. API отключено на 1 минуту.
  • WRONG SITE ID — некорректный ID сайта
  • WRONG URL и WRONG URL FORMAT — некорректный URL
  • URL ALREADY IN USE. PLEASE ADD IN INTERFACE. — такой URL уже добавлен в систему. Если он добавлен не вами, но принадлежит вам - добавьте его через веб-интерфейс.
  • SYSTEM ERROR, TRY AGAIN — ошибка системы, попробуйте еще раз
  • NO MONEY — для включения аудита пополните баланс аудита
  • NO CODE — код не размещен. Для включения аудита разместите код на указанных страницах
  • WRONG STATE — некорректный параметр state. Допустимые значения: ON или OFF
  • NOTHING TO SET – не указан ни один параметр блокировки
  • WRONG pad_ban_limit FORMAT — некорректный формат параметра. Параметр должен быть числом с плавающей точкой.
  • WRONG pads_visits_limit FORMAT — некорректный формат параметра. Параметр должен быть целым числом
  • WRONG uid_ban_limit_error FORMAT — некорректный формат параметра. Параметр должен быть целым числом
  • WRONG pad_ban_limit VALUE. SHOULD BE BETWEEN -4 AND -2.5 — некорректное значение параметра. Значение должно быть в диапазоне от -4 до -2.5
  • WRONG pads_visits_limit VALUE. SHOULD BE BETWEEN 5 AND 50 — некорректное значение параметра. Значение должно быть в диапазоне от 5 до 50
  • WRONG pads_visits_limit VALUE. SHOULD BE BETWEEN -50 AND -3 — некорректное значение параметра. Значение должно быть в диапазоне от -50 до -3
  • SITE NOT IN SYSTEM и SITE DOESN'T BELONG TO USER — сайт не добавлен в Аудит Трафика
  • SITE DOWN — проверяемая страница недоступна либо несуществует
  • WRONG stype — некорректное значение параметра. Значение должно быть 1,2,3 или 7
  • TOO BIG DATA RANGE — слишком большой промежуток времени. Промежуток не может быть больше 31 дня
  • DAY STAT LIMIT REACHED — нельзя запрашивать полную статистику по сайту чаще раза в сутки