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 - автоответчик
Коды ошибок
- 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 — нельзя запрашивать полную статистику по сайту чаще раза в сутки