Инструменты пользователя

Инструменты сайта


api

Тип редиректа «API»

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

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki