# Click API

advanced expert team enterprise

Click API — программный интерфейс для доступа к кампании Keitaro.

# Готовые решения

Официальные клиенты:

Сторонние:

# Использование Click API

Для доступа Click API, необходим API token кампании, который берется из настроек кампании

Точка входа:

/click_api/v3?

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

curl -I "http://domain/click_api/v3?token=q831vzbxkbcnyk23z3jwww4pbhhtpxpm&log=1&info=1"
1

Пример ответа:

{
    "body": null,
    "contentType": "text/html; charset=utf-8",
    "headers": [
        "Location: http://domain.com/?data=&utm-campaign=aff1"
    ],
    "info": {
        "campaign_id": 2,
        "stream_id": 1117,
        "sub_id": "o2q6e42hs08jq",
        "type": "location",
        "url": "http://domain.com/?data=$keyword&utm-campaign=aff1"
    },
    "log": [
        "Processing campaign 2",
        "Referrer: ",
        "Source: ",
        "Keyword: ",
        "IP: 127.0.0.1",
        "UserAgent: HTTPie/0.6.0",
        "Language: ",
        "Is unique in campaign: no",
        "Checking stream #1282",
        "Filter  \"uniqueness\": allow",
        "Filter \"uniqueness\": rejected",
        "Checking stream #1343",
        "Filter \"region\": rejected",
        "Checking stream #1355",
        "Filter  \"limit\": allow",
        "Filter \"ip\": rejected",
        "Checking stream #1117",
        "Accepted by filters",
        "Stream #1117",
        "Send headers: Location: http://domain.com/?data=&utm-campaign=aff1",
        "[Profiler] 0.101 sec.  1 sql queries, 9MB (+7MB)"
    ],
    "uniqueness_cookie": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJkYXRhIjoie1wic3RyZWFtc1wiOntcIjExMTdcIjoxNDkwNzA1MTQyfSxcImNhbXBhaWduc1wiOntcIjJcIjoxNDkwNzA1MTQyfSxcInRpbWVcIjoxNDkwNzA1MTQyfSJ9._u5H9oOOdyp02VTnDN8VG47oLDoqRHHKyYI3ChxRqw8"
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38

# Параметры запроса

  • version. Версия Click API (текущая 3).
  • ip. IPv4 адрес.
  • user_agent. User agent браузера.
  • language. Код языка.
  • landing_id. ID лендинга. Используется Keitaro для статистики (LP Clicks, LP CTR и т.д.).
  • uniqueness_cookie. Содержание кук браузера. Передавайте, если уникальность считается по cookies.
  • x_requested_with. Заголовок x_requested_with из браузера.
  • log. Передавайте 1, чтобы вернуть в ответе Traffic Log
  • info. Передавайте 1 для получения в ответе дополнительного объекта с информацией по клику.
  • force_redirect_offer. Передавайте 1 для редиректа на оффер. Оставьте пустым, если собираетесь создать Offer URL.

# Описание ответа

Формат ответа: json.

Атрибут Тип Описание
headers string[] Массив header ответов
status string HTTP статус
body string Тело ответа (например, текст страницы)
contentType string Тип body (например, application/json; charset=utf-8)
uniqueness_cookie string Cookie, необходимое для отправки в дальнейших запросах к KClient PHP
log string[] Содержимое лога обработки клика (необязательно)
cookies_ttl int Срок жизни cookies (в часах)
info object Контейнер с дополнительной информацией по клику
info.sub_id string Уникальный идентификатор клика
info.campaign_id int ID кампании
info.stream_id int ID потока
info.landing_id int ID лендинга
info.offer_id int ID оффера
info.token string Offer token для Offer URL
info.uniqueness object Массив данных уникальности клика
info.uniqueness.campaign boolean Уникальный для кампании
info.uniqueness.stream boolean Уникальный для потока
info.uniqueness.global boolean Уникальный для трекера
info.is_bot boolean Определен как бот

# Описание ответов http

HTTP/1.1 200 Ok: запрос выполнен успешно;

HTTP/1.1 401 Unauthorized: указан некорректный API token;

HTTP/1.1 401 Unauthorized: не найдена кампания по API token;

HTTP/1.1 409 Conflict: фича click API отключена.

# FAQ по Click API

Как создать Offer URL?

Пример:

http://trackerdomain.com/?_lp=1&_token={info.token}

{info.token} берется из ответа Click API.

Дополнительно читайте страницу Offer URL.

Как взять subid?

Пример:

$url = "https://domain_tracker/click_api/v3?token=szvkqdf1tk28n9pkwwk3t8tbv4v9&info=1";
$response = json_decode (file_get_contents ($url));
$subid = $response->info->sub_id;
var_dump($subid)
1
2
3
4