Click API Client

Возможности

  • Передача информации о текущем посетителе в Keitaro;
  • Передача параметров из адресной строки;
  • Обработка и выполнение инструкций Keitaro: показ текста, выполнение редиректа;

Внимание! Фильтр «Прокси» не работает через API.

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

  1. Зайдите в Keitaro, на страницу кампании;
  2. Перейдите в окно «Интеграция»;
  3. Выберите «Click API Client».

Следуя инструкции, установите код на вашем сайте.

Инициализация клиента

require_once 'kclick_client.php'; // файл должен быть загружен в туже директорию, что и страница
$client = new KClickClient('АДРЕС API', 'токен кампании');

Описание методов

Метод Описание
$client->sendAllParams(); Передача параметров из адресной строки
$client->params('param1=c&param2=b'); Передача строки параметров
$client->param('extra_param_5', '123'); Альтернативный способ передачи параметра
$client->sendUtmLabels(); Передача из адресной строки только utm-меток
$client->debug(); Показ отладочной информации
$client->currentPageAsReferrer(); Отправить адрес текущей страницы в качестве реферера
$client->keyword('KEYWORD'); Использование значения 'KEYWORD' в качестве ключевика
$client->execute(); Выполнение инструкций Keitaro и с продолжением выполнения кода страницы
$client->executeAndBreak(); Выполнение инструкций Keitaro с остановкой выполнения страницы. Если передано действие в потоке «Ничего не делать», остановки не произойдет.
$client->getOffer(); Получение ссылки на оффер. В кампании должен быть поток со схемой «Офферы», иначе результат 'no_offer'.
$client->getBody(); Получение содержимого 'body'.
$client->getHeaders(); Получение.
$client->isUnique(level); Возвращает статус уникальности (варианты level: stream, campaign, global)
$client->isBot(); Возвращает статус бота

Как сделать ссылку на оффер?

Пример использования KClickClient для генераци ссылки на оффер:

<?php
require_once 'kclick_client.php'; 
$client = new KClickClient('http://example.con/api.php', 'token');
$offerLink = $client->getOffer();
?>
<html>
...
<body>
<a href="<?php echo $offerLink ?>">CLICK!</a>
</body>
</html>

К потоку должны быть подключены офферы и лендинги.

Как сделать ссылку на определенный оффер в потоке?

<?php
require_once 'kclick_client.php'; 
$client = new KClickClient('http://example.con/api.php', 'token');
?>
<a href="<?php echo $client->getOffer(['offer_id' => 123]) ?>">CLICK!</a>

Как передать subid в скрипте m1-shop.ru используя KClickClient?

SubId можно подключить через метода $client->getSubId(). Вот пример его использования в скрипте m1-shop:

<?php
require_once 'kclick_client.php'; 
$client = new KClickClient('http://example.con/api.php', 'token');
?>
<html>
...
<script type="text/javascript"> 
var m1_product_id = 123; 
var ref = 123; 
var script = document.createElement("script"); 
script.src = "http://m1-shop.ru/send_order/?ref="+ref+"&s=<?php echo $client->getSubId() ?>&w="+getC("w")+"&t="+getC("t")+"&p="+getC("p")+"&m="+getC("m")+"&product_id="+m1_product_id+'&out=1'; 
document.body.appendChild(script); 
</script> 

И код отправки заказа:

<script type="application/javascript">
function urlGen(f){ 
var i1 = 'http://m1-shop.ru/send_my_order/'; 
var i2 = '<?php echo $client->getSubId(); ?>';
var i3 = getC("w"); 
var i4 = getC("t"); 
var i5 = getC("p"); 
var i6 = getC("m"); 
f.action = i1 + '?s=' + i2 + '&w=' + i3 + '&t=' + i4 + '&p=' + i5 + '&m=' + i6; 
return true; 
} 
</script>

Отправка постбека

На странице партнерские программы, добавьте новую партнерку. Там получите постбек для отправки конверсий.

На странице, с которой нужно отправить конверсию выполните примерно такой код:

$url = 'http://tds/POSTBACK_KEY/postback?payout=100&status=sale&subid=' . urlencode($_SESSION['sub_id']);
file_get_contents($url);

Как подключить к Wordpress?

  1. Загрузите файл kclick_client.php в корень сайта.
  2. Добавьте код инициализации клиента в index.php в начало или в конец файла, последите чтобы не было пробелов между двумя частями кода (wordpress и Keitaro).
  3. В зависимости от вашей ситуации, используйте executeAndBreak или execute:
    • Если у вас будут редиректы, то строку $client->executeAndBreak(); оставьте рядом с кодом инициализации клиента.
    • Если у вас показ баннеров или других блоков, раместите execute(); ?> в нужном месте шаблона. Из кода инициализации аналогичную эту строку.

Показ в определенных постах

В случае, если необходимо вызывать Keitaro только у определенном поста в блоге, разместите следующий код в файле header.php вашей темы:

<?php
$postIds = array(100, 200, 300);  // ID постов
if (is_single() && in_array(get_the_id(), $postIds)) { 
   $GLOBALS['client']->executeAndBreak();
}
?>

Как сделать, чтобы после кода не загружался сайт?

Замените

$client->execute();

на

$client->executeAndBreak();

Как показывать HTML код из потока в определенном месте?

Удалите строку

$client->execute();

и в нужном месте сайта вставьте

<?php echo $client->getContent() ?>

Как оставлять пользователя на сайте при срабатывании определенного потока?

Используйте в потоке действие «Ничего не делать».

Как проверить, считает ли Keitaro пользователя ботом?

/*
код инициализации клиента
*/
if ($client->isBot()) {
   echo 'bot';
} else {
   echo 'not bot';
}

Почему скрипт не выполняет действия?

Раскомментируйте строку:

$client->debug();

Затем откройте страницу. Вы увидите какой запрос ушел в Click API и ответ. Это должно помочь в решении проблемы.