Этот тип редиректа используется для скрытия домена 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"; ?>