Этот тип редиректа используется для скрытия домена TDS.
Используя API вы получите от TDS все данные о посетителе в переменных PHP.
Разместите в корне каждого сайта файл api.php из папки «application».
В файле api.php измените ID группы, домен TDS и API ключ (он должен быть таким же как в config.php).
API ключ – это своего рода секретный пароль для обращения к TDS.
Пропишите в самом верху шаблона, начиная с первой строки, код:
<?php $z_key = '[BKEYWORD]'; $z_options = array(); $z_options[] = array('name'=>'macros', 'value'=>urlencode('data')); include $_SERVER['DOCUMENT_ROOT'].'/api.php'; ?>
$z_key - ключевое слово.
$z_options[] - дополнительные параметры передаваемые через TDS на ПП.
macros - название макроса ([MACROS]).
data - передаваемые данные.
Если передача ключевого слова и дополнительных параметров не нужна, можно прописать вот так:
<?php include $_SERVER['DOCUMENT_ROOT'].'/api.php'; ?>
Все данные посетителя будут доступны в переменных PHP:
$z_out | ссылка на платник/код или пусто $z_country | код страны/$z_empty $z_region | код региона/$z_empty $z_city | название города/$z_empty $z_asn | ASN/$z_empty $z_org | название организации/$z_empty $z_operator | название мобильного оператора: beeline/megafon/mts/tele2/azerbaijan/belarus/kazakhstan/ukraine/wap-1/wap-2/wap-3/$z_empty $z_device | тип устройства: computer/tablet/phone $z_brand | название бренда мобильного устройства или $z_empty $z_os_name | название OS/$z_empty $z_os_version | версия OS/$z_empty $z_br_name | название браузера/$z_empty $z_br_version | версия браузера/$z_empty $z_lang | язык браузера/$z_empty $z_uniq | уникальность: yes/no $z_bot | бот: baidu/bing/google/mail/yahoo/yandex/.../$z_empty (см. «Лог») $z_macros | результат обработки макросов или пусто
Если не удалось определить данные, переменные $z_country, $z_region, $z_city, $z_asn, $z_org, $z_operator, $z_brand, $z_os_name, $z_os_version, $z_browser_name, $z_browser_version, $z_lang, $z_bot будут равны переменной $z_empty.
При использовании API, часть ботов сразу отсеивается по признакам в юзерагенте, данные для них не запрашиваются с TDS (переменная $z_rd_bots в api.php).
Примеры использования API
Вариант 1
WAP трафик нужно отправить на https://wap-landing.com без передачи ключевого слова, остальным показать в фрейме https://desktop-landing.com с передачей ключевого слова.
Разместите в корне сайта файл api.php, настройте его.
1. В самом верху шаблона пропишите код для редиректа WAP трафика:
<?php $z_key = '[BKEYWORD]'; include $_SERVER['DOCUMENT_ROOT'].'/api.php'; if($z_operator != $z_empty && $z_bot == $z_empty && !empty($z_out)){header("Location: $z_out");} ?>
Логика: если это WAP юзер, не бот и не пустой аут → редирект.
2.1. Для того чтобы показать платник в фрейме, перед тегом </head> пропишите код:
<?php if($z_bot == $z_empty && !empty($z_out)){echo ' <frameset rows="100%,*" border="0" frameborder="0" framespacing="0" framecolor="#000000"><frame src="'.$z_out.'"><noframes> ';} ?>
Логика: если это не бот и не пустой аут → фрейм.
2.2. Если нужен JS редирект WEB трафика, перед тегом </body> пропишите код:
<?php if($z_bot == $z_empty && !empty($z_out)){echo '<script type="text/javascript">window.location = "'.$z_out.'";</script>';} ?>
2.3. Если нужен http редирект всего трафика, весь код в верху шаблона будет таким:
<?php $z_key = '[BKEYWORD]'; include $_SERVER['DOCUMENT_ROOT'].'/api.php'; if($z_bot == $z_empty && !empty($z_out)){header("Location: $z_out");} ?>
Создайте в TDS группу с режимом работы «API».
Создайте первый поток, пропишите в ауте https://wap-landing.com, «Билайн, Мегафон, МТС, Теле2…» установите в «Отбирать», аут для ботов оставьте пустым.
Создайте второй поток, пропишите в ауте https://desktop-landing.com/[KEY], аут для ботов оставьте пустым.
Вариант 2
Редирект посетителей из SE на платник.
В самом верху шаблона пропишите код:
<?php include $_SERVER['DOCUMENT_ROOT'].'/api.php'; if($z_bot == $z_empty && !empty($z_out)){header("Location: $z_out");} ?>
Создайте в TDS группу с режимом работы «API».
Создайте поток, пропишите в ауте https://landing.com.
Аут для ботов оставьте пустым.
В поле фильтра «по наличию в реферере» пропишите:
/google|yahoo/i
Все посетители которые прийдут из выдачи Google и Yahoo отправятся на платник, остальные останутся на дорвее.
Вариант 3
Переименуйте api.php в go.php и разместите его в корне дорвея.
В файле go.php измените ID группы, домен TDS и API ключ.
Пропишите URL в аутах.
Отправляйте посетителей по адресу https://site.com/go.php?q=keyword
keyword - ключевое слово.
Скрипт отправит данные посетителя на TDS, получит URL платника и отправит туда посетителя.
Проверка работы API
Залейте настроенный api.php на сервер.
В самом конце api.php добавьте код:
<?php echo 'out: '.$z_out.'<br>'; echo 'country: '.$z_country.'<br>'; echo 'region: '.$z_region.'<br>'; echo 'city: '.$z_city.'<br>'; echo 'asn: '.$z_asn.'<br>'; echo 'org: '.$z_org.'<br>'; echo 'operator: '.$z_operator.'<br>'; echo 'device: '.$z_device.'<br>'; echo 'brand: '.$z_brand.'<br>'; echo 'os name: '.$z_os_name.'<br>'; echo 'os version: '.$z_os_version.'<br>'; echo 'browser name: '.$z_br_name.'<br>'; echo 'browser version: '.$z_br_version.'<br>'; echo 'lang: '.$z_lang.'<br>'; echo 'uniq: '.$z_uniq.'<br>'; echo 'bot: '.$z_bot.'<br>'; echo 'macros: '.$z_macros; exit(); ?>
Откройте в браузере ссылку на свой api.php
На экране вы должны увидеть свои данные, например вот такие:
out: https://landing.com country: ru region: ru-mow city: moscow asn: 25159 org: pjsc megafon operator: megafon device: computer brand: - os name: windows os version: 7 browser name: firefox browser version: 103 lang: ru uniq: yes bot: - macros:
api.php
Можно использовать один api.php для большой пачки сайтов.
Для этого нужно разместить в корне всех сайтов api.php с вот таким содержимым:
<?php include "/home/admin/web/include/api_1.php"; ?>
Настоящий api.php нужно переименовать в api_1.php и разместить в папке include.
Папка include может быть расположена где угодно, например в корне сервера:
<?php include "/include/api_1.php"; ?>