Фильтрация
Функции фильтрации позволяют вам максимально быстро проверять визиты на ваши сайты. Они вынесены в отдельный интерфейс, который имеет минимальное время ответа и максимальную производительность.
Проверка визита
URL: https://www.altercpa.one/fltr/{user}-{key}-{id}
В адресе функции вместо {user}
и {key}
укажите API ID и ключ из профиля, вместо {id}
указывается идентификатор добавленного вами фильтр-сайта. Конкретный URL вы можете получить, нажав на кнопку "Инструкция" соответствующего сайта в вашем личном кабинете.
Чтобы проверить свой визит, вам необходимо отправить POST-запрос на указанный выше URL. В качестве тела запроса передайте поля своего массива $_SERVER
- мы проанализируем их и покажем ответ в формате JSON. Успешный ответ включает в себя поля status
, action
и url
. Поле status
всегда содержит значение ok
. Поле action
ответа будет содержать allow
или deny
в зависимости от результатов проверки, поле url
будет содержать соответствующий URL-адрес. В ошибочном ответе поле status
будет содержать error
, код ошибки будет указан в поле error
.
POST-часть запроса должна быть в формате x-www-form-urlencoded
, формат JSON не поддерживается. Мы анализируем следующие поля из массива $_SERVER
:
HTTP_USER_AGENT, HTTP_ACCEPT, HTTP_ACCEPT_CHARSET, HTTP_ACCEPT_ENCODING, HTTP_ACCEPT_LANGUAGE, HTTP_AUTHORIZATION, HTTP_CACHE_CONTROL, HTTP_CONNECTION, HTTP_CONTENT_DISPOSITION, HTTP_DATE, HTTP_EXPECT, HTTP_FROM, HTTP_HOST, HTTP_IF_MATCH, HTTP_IF_MODIFIED_SINCE, HTTP_IF_NONE_MATCH, HTTP_IF_RANGE, HTTP_IF_UNMODIFIED_SINCE, HTTP_MAX_FORWARDS, HTTP_PRAGMA, HTTP_PROXY_AUTHORIZATION, HTTP_RANGE, HTTP_REFERER, HTTP_TE, HTTP_TRAILER, HTTP_TRANSFER_ENCODING, HTTP_UPGRADE, HTTP_VIA, HTTP_X_FORWARDED_FOR, REMOTE_ADDR, REMOTE_PORT, REQUEST_METHOD, REQUEST_URI, QUERY_STRING, HTTP_CF_CONNECTING_IP, HTTP_CLIENT_IP, HTTP_X_REAL_IP, HTTP_X_PURPOSE, HTTP_X_FB_HTTP_ENGINE
Результатом выполнения функции является ассоциативный массив:
Поле |
Описание |
status |
Результат выполнения операции: ok в случае успешного выполнения, error в случае ошибки |
action |
Требуемое действие по результатам проверки:
allow - визит легитимный, показать целевой сайт
deny - визит подозрительный, показать сайт-заглушку
|
result |
Реальный результат проверки трафика, который не зависит от включенного режима обучения:
allow - визит легитимный, показать целевой сайт
deny - визит подозрительный, показать сайт-заглушку
В режиме обучения значение result может отличаться от значения action .
|
url |
URL сайта для запроса, зависит от результатов проверки. |
target |
URL целевого сайта, при наличии показывается всегда независимо от результатов проверки. |
dummy |
URL сайта-заглушки, при наличии показывается всегда независимо от результатов проверки. |
error |
Идентификатор ошибки: access-denied при отсутствии доступа к системе проверки, bad-request в случе ошибочного указания адреса URL проверки, bad-site если указанный сайт не найден. |
Пример реализации отправки запроса:
$curl = curl_init( 'https://www.altercpa.one/fltr/123-abcd-45' );
curl_setopt( $curl, CURLOPT_POST, true );
curl_setopt( $curl, CURLOPT_POSTFIELDS, $_SERVER );
curl_setopt( $curl, CURLOPT_RETURNTRANSFER, true );
$result = curl_exec( $curl );
curl_close( $curl );
$result = $result ? json_decode( $result, true ) : [];
if ( isset( $result['action'] && $result['action'] == 'allow' ) {
include( 'target-index.php' );
} else include( 'dummy-index.php' );
Пример успешного ответа сервера:
{
"status": "ok",
"action": "allow",
"url": "http://black.site/url"
}
Пример ошибочного ответа сервера:
{
"status": "error",
"error": "access-denied"
}
Настройка кампании
URL: https://www.altercpa.one/api/filter/set.json?id={token}&domain={host}
Функция изменяет параметры кампании фильтрации или создаёт новую кампанию. Если передан идентификатор кампании в поле uid
, функция будет изменять существующую кампанию по этому идентификатору. Если идентификатор не передан, но передан домен кампании в поле domain
, функция попытается найти кампанию с указанным доменом, а если её нет - создаст новую.
Функция может принимать на вход следующие параметры:
Поле |
Описание |
uid |
Идентификатор кампании фильтрации (рекомендуется). |
domain |
Домен или название кампании фильтрации (используйте уникальные имена). |
mode |
Режим работы кампании:
0 - Автоматика: фильтр включен (по умолчанию)
1 - Пауза: всегда показывать сайт-заглушку
2 - Выключен: всегда показывать целевой сайт
3 - Обучение: всегда показывать сайт-заглушку
4 - Обучение: всегда показывать целевой сайт
|
geo |
Список двухбуквенных ISO-кодов стран, в которых работает фильтр. Указывается массивом или строкой через запятую, например: ru,kz,by |
mblack
mwhite |
Режим работы целевого сайта (mblack ) и сайта-заглушки (mwhite ), вариант из списка:
0 - Перенаправить по ссылке (302)
5 - Перенаправить и склеить домен (301)
6 - Перенаправить через отдельную страницу (meta)
9 - Перенаправить скриптом (JS)
1 - Открыть файл с таким названием
2 - Показать эту ссылку во фрейме
7 - Показать контент по ссылке (curl)
3 - Показать контент по ссылке без изменений
4 - Встроить в WordPress
8 - Показать пустую страницу
|
black |
Целевой сайт: ссылка или название файла. |
white |
Сайт-заглушка: ссылка или название файла. |
trash |
Количество мусорных визитов, целое число, по умолчанию - 0. |
proto |
Версия IP-протокола:
0 - Принимать трафик любого протокола (по умолчанию)
1 - Принимать только трафик IPv4
2 - Принимать только трафик IPv6
|
mobile |
Вид допустимого трафика:
0 - Любой трафик (по умолчанию)
1 - Только мобильный трафик
2 - Только десктоп-трафик
3 - Мобильный трафик: только iOS
4 - Мобильный трафик: кроме iOS
|
os |
Допустимые операционные системы, массив или список ID через запятую:
5 - Android
8 - BlackBerry
3 - Linux
2 - MacOS
7 - Symbian
1 - Windows
6 - Windows Mobile
4 - iOS
|
browser |
Допустимые браузеры, массив или список ID через запятую:
1 - Chrome
6 - Edge
7 - Facebook
2 - Firefox
8 - Instagram
3 - MSIE
5 - Opera
4 - Safari
9 - Tik-Tok
10 - WebView
|
ignore |
Игнорировать домен запроса и не проверять его на совпадение с названием кампании, 0 или 1 (по умолчанию). |
ipmain |
Проверять только основной IP-адрес запроса на попадание в чёрный список, 0 или 1 (по умолчанию). |
lang |
Проверять язык посетителя на попадание в список разрешенных стран, 0 или 1 (по умолчанию). |
adid |
Проверять идентификатор клика рекламной сети, 0 (по умолчанию) или 1. |
list |
Список фильтров трафика, массив или список через запятую, по умолчанию пустой. |
langs |
Список двухбуквенных ISO-кодов допустимых языков, массив или список через запятую, по умолчанию пустой. |
nogeo |
Список двухбуквенных ISO-кодов стран, доступ из которых запрещён. Указывайте в случае пустого списка разрешенных стран. |
uwl |
Белый список слов в URL, указывается текстом по одному в строке. |
ubl |
Чёрный список слов в URL, указывается текстом по одному в строке. |
wl |
Белый список IP-адресов, указывается текстом по одному в строке, может содержать IP-адреса и подсети. |
Результатом выполнения функции является ассоциативный массив:
Поле |
Описание |
status |
Результат выполнения операции: ok в случае успешного выполнения, error в случае ошибки. |
error |
Код ошибки для статуса error со значением из списка:
access - указанная кампания вам не принадлежит.
no-site - кампания с таким идентификатором не найдена.
no-domain - не указан домен или название кампании.
db - произошла системная ошибка работы с базой данных.
|
id |
Числовой идентификатор кампании. |
api |
Ссылка на API-функцию проверки визитов по этой кампании. |
Пример успешного ответа сервера:
{
"status": "ok",
"id": 4567,
"api": "https://www.altercpa.one/fltr/123-654b807372f614e64b9-4567"
}
Пример ошибочного ответа сервера:
{
"status": "error",
"error": "no-domain"
}
Список кампаний
URL: https://www.altercpa.one/api/filter/list.json?id={token}
Функция возвращает список кампаний, которые созданы в разделе фильтрации трафика. Функция не имеет дополнительных параметров.
Результатом выполнения функции является список ассоциативных массивов со следующими полями:
Поле |
Описание |
id |
Идентификатор кампании фильтрации. |
api |
Ссылка API для проверки визитов по этой кампании. |
domain |
Название кампании фильтрации. |
mode |
Режим работы кампании (см. настройку кампании). |
stats |
Статистика кампании фильтрации. Ассоциативный массив с полями:
click - общее количество визитов.
black - количество целевых визитов.
white - количество заблокированных визитов.
leads - общее количество лидов.
approve - количество подтверждённых лидов.
cancel - количество отклонённых лидов.
cash - общая сумма заработка.
cr - конверсия по целевым визитам.
epc - заработок на целевой визит.
appr - процент аппрува.
|
Пример успешного ответа сервера:
[
{
"id": 4567,
"api": "https://www.altercpa.one/fltr/123-654b807372f614e64b9-4567",
"domain": "pretty-domain.com",
"mode": 0,
"stats": {
"click": 180,
"black": 123,
"white": 57,
"leads": 11,
"approve": 6,
"cancel": 1,
"cash": 387.44,
"cr": 8.94,
"epc": 3.15,
"appr": 54.55
}
},
...
]
Получение данных кампании
URL: https://www.altercpa.one/api/filter/get.json?id={token}&domain={host}
Функция возвращает данные кампании фильтрации. Если передан идентификатор кампании в поле uid
, функция будет извлекать кампанию по этому идентификатору. Если передан домен кампании в поле domain
, функция будет пытаться отыскать кампанию с указанным доменом.
Функция может принимать на вход следующие параметры:
Поле |
Описание |
uid |
Идентификатор кампании фильтрации (рекомендуется). |
domain |
Домен или название кампании фильтрации (используйте уникальные имена). |
Результатом выполнения функции является ассоциативный массив со следующими полями:
Поле |
Описание |
id |
Идентификатор кампании фильтрации. |
api |
Ссылка API для проверки визитов по этой кампании. |
domain |
Название кампании фильтрации. |
mode |
Режим работы кампании (см. настройку кампании). |
geo |
Список двухбуквенных ISO-кодов стран, в которых работает фильтр (массив). |
mblack |
Режим работы целевого сайта (см. настройку кампании). |
black |
Целевой сайт: ссылка или название файла. |
mwhite |
Режим работы сайта-заглушки (см. настройку кампании). |
white |
Сайт-заглушка: ссылка или название файла. |
trash |
Количество мусорных визитов. |
proto |
Версия IP-протокола (см. настройку кампании). |
mobile |
Вид допустимого трафика (массив, см. настройку кампании). |
os |
Допустимые операционные системы (массив, см. настройку кампании). |
browser |
Допустимые браузеры (массив, см. настройку кампании). |
ignore |
Игнорировать домен запроса и не проверять его на совпадение с названием кампании. |
ipmain |
Проверять только основной IP-адрес запроса на попадание в чёрный список. |
lang |
Проверять язык посетителя на попадание в список разрешенных стран. |
adid |
Проверять идентификатор клика рекламной сети. |
list |
Список фильтров трафика (массив). |
langs |
Список двухбуквенных ISO-кодов допустимых языков (массив). |
nogeo |
Список двухбуквенных ISO-кодов стран, доступ из которых запрещён (массив). |
uwl |
Белый список слов в URL (массив). |
ubl |
Чёрный список слов в URL (массив). |
wl |
Белый список IP-адресов (массив). |
stats |
Статистика кампании фильтрации. Аналогично функции списка кампаний. |
postback |
Образцы постбеков для микро-трекера. Ассоциативный массив с полями:
new - новый лид.
approve - подтверждённый лид.
paid - подтверждённый лид с ценой в макросе {payout} .
cancel - отклонённый лид.
|
Пример успешного ответа сервера:
{
"id": 4567,
"api": "https://www.altercpa.one/fltr/123-654b807372f614e64b9-4567",
"domain": "pretty-domain.com",
"mode": 0,
"geo": [ "ru", "ua", "by" ],
"mblack": 1,
"black": "https://my-main-page.com/",
"mwhite": 0,
"white": "http://natribu.org/",
"trash": 0,
"proto": 0,
"mobile": 0,
"os": [],
"browser": [],
"ignore": false,
"ipmain": false,
"lang": false,
"adid": false,
"list": [],
"langs": [],
"nogeo": [],
"uwl": [],
"ubl": [],
"wl": [],
"stats": {
"click": 180,
"black": 123,
"white": 57,
"leads": 11,
"approve": 6,
"cancel": 1,
"cash": 387.44,
"cr": 8.94,
"epc": 3.15,
"appr": 54.55
},
"postback": {
"new": "https://www.altercpa.one/api/filter/postback.json?id=123-654b807372f614e64b9&uid=11&status=new",
"approve": "https://www.altercpa.one/api/filter/postback.json?id=123-654b807372f614e64b9&uid=11&status=approve",
"paid": "https://www.altercpa.one/api/filter/postback.json?id=123-654b807372f614e64b9&uid=11&status=approve&payout={payout}",
"cancel": "https://www.altercpa.one/api/filter/postback.json?id=123-654b807372f614e64b9&uid=11&status=cancel"
}
}
Пример ошибочного ответа сервера:
{
"status": "error",
"error": "no-site"
}
Удаление кампании
URL: https://www.altercpa.one/api/filter/del.json?id={token}&domain={host}
Функция удаляет кампанию фильтрации. Если передан идентификатор кампании в поле uid
, функция будет удалять кампанию по этому идентификатору. Если передан домен кампании в поле domain
, функция будет пытаться отыскать кампанию с указанным доменом.
Функция может принимать на вход следующие параметры:
Поле |
Описание |
uid |
Идентификатор кампании фильтрации (рекомендуется). |
domain |
Домен или название кампании фильтрации (используйте уникальные имена). |
Результатом выполнения функции является ассоциативный массив:
Поле |
Описание |
status |
Результат выполнения операции: ok в случае успешного выполнения, error в случае ошибки. |
error |
Код ошибки для статуса error со значением из списка:
access - указанная кампания вам не принадлежит.
no-site - кампания с таким идентификатором не найдена.
no-domain - не указан домен или название кампании.
db - произошла системная ошибка работы с базой данных.
|
id |
Числовой идентификатор кампании. |
Пример успешного ответа сервера:
{
"status": "ok",
"id": 4567
}
Пример ошибочного ответа сервера:
{
"status": "error",
"error": "no-site"
}
Скачать файл фильтрации
URL: https://www.altercpa.one/api/filter/make.json?id={token}&domain={host}
Функция скачивает готовый файл для кампании фильтрации. Если передан идентификатор кампании в поле uid
, функция будет извлекать кампанию по этому идентификатору. Если передан домен кампании в поле domain
, функция будет пытаться отыскать кампанию с указанным доменом. Ответом функции является файл index.php
.
Функция может принимать на вход следующие параметры:
Поле |
Описание |
uid |
Идентификатор кампании фильтрации (рекомендуется). |
domain |
Домен или название кампании фильтрации (используйте уникальные имена). |
Результатом выполнения функции является файл index.php
в случае успеха или ассоциативный массив в случае ошибки:
Поле |
Описание |
status |
Результат выполнения операции: error в случае ошибки. |
error |
Код ошибки для статуса error со значением из списка:
access - указанная кампания вам не принадлежит.
no-site - кампания с таким идентификатором не найдена.
no-domain - не указан домен или название кампании.
|
Заблокировать IP-адрес или заголовок
URL: https://www.altercpa.one/api/filter/block.json?id={token}&list={list}&ip={ip}
Функция добавляет данные в выбранный персональный чёрный список. Может блокировать как IP-адреса и диапазоны, так и заголовки. Содержимое полей и используемые идентификаторы описаны в документации по чёрным спискам.
Функция может принимать на вход следующие параметры:
Поле |
Описание |
list |
Идентификатор чёрного списка (обязательный параметр). |
ip |
IP-адрес или адрес подсети, которую необходимо заблокировать. |
size |
Размер подсети для блокировки (рекомендуется 24 для IPv4 и 64 для IPv6). |
value |
Содержимое заголовка для блокировки. |
regex |
Использовать проверку по регулярному выражению вместо поиска подстроки, 0 или 1. |
type |
Тип заголовка для блокировки (см. документацию по чёрным спискам). |
comment |
Комментарий к заблокированной сущности (см. документацию по чёрным спискам). |
Результатом выполнения функции является ассоциативный массив:
Поле |
Описание |
status |
Результат выполнения операции: ok в случае успешного выполнения, error в случае ошибки. |
error |
Код ошибки для статуса error со значением из списка:
bad-list - некорректный ID чёрного списка.
bad-ip - IP-адрес невалидный.
bad-size - некорректный размер подсети.
bad-value - некорректное содержимое заголовка для блокировки.
bad-type - некорректный тип блокируемого заголовка.
failed - произошла системная ошибка работы с базой данных.
|
Пример успешного ответа сервера:
{
"status": "ok",
"id": 1234567
}
Пример ошибочного ответа сервера:
{
"status": "error",
"error": "bad-list"
}
Отправить постбек в мини-трекер
URL: https://www.altercpa.one/api/filter/postback.json?id={token}&uid={uid}&status={status}
Функция отвечает за обслуживание встроеного мини-трекера. Она увеличивает счётчик лидов в статусе ожидание, аппрув и отмена, а также наращивает сумму заработка. Не поддерживает какую-либо дедупликацию событий.
Функция может принимать на вход следующие параметры:
Поле |
Описание |
uid |
Идентификатор кампании фильтрации (обязательный параметр). |
status |
Статус лида (обязательный параметр):
- Новый -
lead , wait , process , hold , new
- Подтверждён -
approve , sale , approved , confirm , confirmed
- Отклонён -
cancel , trash , cancelled , reject , fake
|
payout |
Сумма выплаты для подтверждённого лида. |
Результатом выполнения функции является ассоциативный массив:
Поле |
Описание |
status |
Результат выполнения операции: ok в случае успешного выполнения, error в случае ошибки. |
error |
Код ошибки для статуса error со значением из списка:
no-id - не указан ID кампании фильтрации.
bad-id - некорректный ID кампании фильтрации.
bad-status - не удалось распознать статус.
|
Пример успешного ответа сервера:
{
"status": "ok"
}
Пример ошибочного ответа сервера:
{
"status": "error",
"error": "bad-status"
}
Интеграция с трекером
Функции интеграции отвечают за подключение сторонних сервисов и передачу данных о конверсиях.
Постбек
URL: https://www.altercpa.one/api/tracker/postback.json?id={token}&click={click}
Самая главная функция взаимодействия с трекером. Создаёт новый или изменяет существующий лид по отправленным ID клика или потока. Вы можете использовать два варианта вызова:
- Стандартный вариант работы: с параметром
click
. Данные для лида берутся из ID клика. Используется по умолчанию, рекомендуется применять именно такой подход.
- Резервный вариант работы: с параметрами
flow
и subid
. Данные для лида берутся из ID потока, уникальность запроса определяется по параметру subid
. Подходит для случаев, где нет понятия клика и перехода по ссылке, например для интеграции приложений.
Функция может принимать на вход следующие параметры:
Поле |
Описание |
click |
Символьный идентификатор клика. |
flow |
Символьный идентификатор потока. |
uid |
Уникальный идентификатор лида на стороне рекламодателя. |
status |
Статус лида, оптимально: new , hold , approve , cancel , trash . |
goal |
Символьный идентификатор цели. |
price |
Цена лида. |
currency |
Трёхсимвольный ISO-код валюты лида, по умолчанию usd . |
convert |
ISO-код валюты, в которую нужно конвертировать сумму выплаты, по умолчанию не используется. |
name |
Имя покупателя. |
phone |
Телефон покупателя (без валидации и коррекции). |
email |
E-mail покупателя (без валидации и коррекции). |
comment |
Произвольный комментарий к лиду. |
meta[xxx] |
Произвольное поле лида с названием xxx . |
utm_source |
Метка UTM Source на замену полученной из клика. |
utm_campaign |
Метка UTM Campaign на замену полученной из клика. |
utm_content |
Метка UTM Content на замену полученной из клика. |
utm_term |
Метка UTM Term на замену полученной из клика. |
utm_medium |
Метка UTM Medium на замену полученной из клика. |
subid |
Метка SubID на замену полученной из клика. |
adid |
Идентификатор рекламного перехода на замену полученному из клика. |
data1 |
Произвольные данные 1 на замену полученных из клика. |
data2 |
Произвольные данные 2 на замену полученных из клика. |
stn |
Статус или список статусов, которые распознаются как новый лид. |
sth |
Статус или список статусов, которые распознаются как лид в холде. |
sta |
Статус или список статусов, которые распознаются как подтверждение лида. |
stc |
Статус или список статусов, которые распознаются как отмена лида. |
stt |
Статус или список статусов, которые распознаются как треш. |
ip |
IP-адрес лида. |
geo |
Двухбуквенный ISO-код страны лида. |
ua |
User-Agent лида для определения ОС и браузера. |
referer |
Реферер визита на замену полученному из клика. |
Результатом выполнения функции является ассоциативный массив:
Поле |
Описание |
status |
Результат выполнения операции: ok в случае успешного выполнения, error в случае ошибки. |
error |
Код ошибки для статуса error со значением из списка:
access - указанный клик или поток вам не принадлежит.
bad-click - клик с таким идентификатором не найден.
bad-flow - поток с таким идентификатором не найден.
db - произошла системная ошибка работы с базой данных.
no-changes - изменений не потребовалось, лид уже в нужном состоянии.
no-click - не указаны ID клика и потока.
|
id |
Числовой идентификатор лида, с которым выполнялись действия. |
create |
Если был создан новый лид - true , если был изменён существующий - false . |
stage |
Статус, в котором пребывает лид: new , hold , approve , cancel , trash . |
Пример успешного ответа сервера:
{
"status": "ok",
"id": 1337,
"create": true,
"stage": "new"
}
Пример ответа сервера с ошибкой:
{
"status": "error",
"error": "no-changes"
}
Импорт расходов
URL: https://www.altercpa.one/api/tracker/spend.json?id={token}
Функция задаёт цену клика для трафика по указанным условиям. Позволяет использовать функционал расчёта ROI. Данные могут передаваться как в GET, так и в POST-запросе. В запросе обязательно должны присутствовать параметры cpc
или cost
и хотя бы одно условие (даты, поток, UTM-метки).
Функция может принимать на вход следующие параметры:
Поле |
Описание |
cost |
Общая цена за все клики этого периода. |
cpc |
Цена за один клик. |
from |
Дата начала периода в формате ГГГГ-ММ-ДД , Unix Timestamp или любом другом, распознаваемом функцией strtotime . |
to |
Дата конца периода в формате ГГГГ-ММ-ДД , Unix Timestamp или любом другом, распознаваемом функцией strtotime . |
flow |
Символьный идентификатор потока. Можно передать массив идентификаторов. |
way |
Числовой идентификатор пути внутри потока. Можно передать массив идентификаторов. |
currency |
Трёхсимвольный ISO-код валюты цены клика, по умолчанию usd . |
geo |
Двухбуквенный ISO-код страны клика. |
domain |
Домен, на котором был зарегистрирован клик. |
utm_source |
Метка UTM Source, по которой был зарегистрирован клик. |
utm_campaign |
Метка UTM Campaign, по которой был зарегистрирован клик. |
utm_content |
Метка UTM Content, по которой был зарегистрирован клик. |
utm_term |
Метка UTM Term, по которой был зарегистрирован клик. |
utm_medium |
Метка UTM Medium, по которой был зарегистрирован клик. |
subid |
Метка SubID, по которой был зарегистрирован клик. |
valid |
Устанавливать цену только для валидных кликов: целевых кликов, которые прошли фильтр. |
unique |
Устанавливать цену только уникальных кликов. |
Вы также можете одновременно обновлять несколько ценников одним запросом, для этого объедините все запросы в массив batch
и отправьте его через POST, например:
{
"batch": [
{
"flow": "face",
"cost": 1984,
"currency": "usd"
},
{
"from": "2020-04-04 00:00:00",
"to": "2020-04-07 23:59:59",
"cpc": 1.337,
"currency": "eur"
}
]
}
Результатом выполнения функции является ассоциативный массив:
Поле |
Описание |
status |
Результат выполнения операции: ok в случае успешного выполнения, error в случае ошибки. |
error |
Код ошибки для статуса error со значением из списка:
empty - нет данных для внесения в ценники.
|
ok / bad |
Количество успешных и неудачных запросов на установку цены. Обычно, содержит ответ ok=1 |
Пример успешного ответа сервера:
{
"status": "ok",
"ok": 1,
"bad": 0
}
Пример ответа сервера с ошибкой:
{
"status": "error",
"error": "empty"
}
Статистика трекера
Функции статистики предоставляют доступ к отчётам по лидам и кликам.
Список лидов
URL: https://www.altercpa.one/api/tracker/leads.json?id={token}
Функция извлекает список лидов и выдаёт его в виде ассоциативного массива в поле leads
. У функции нет формальных лимитов на количество выводимых лидов, но не рекомендуется выгружать больше тысячи лидов за раз. Если вы получили ошибку 500, значит на ваш запрос не хватило памяти, нужно уменьшить период запроса.
Функция может принимать на вход следующие GET-параметры фильтрации:
Поле |
Описание |
from |
Дата начала отчёта в формате ГГГГ-ММ-ДД и часовом поясе трекера. |
to |
Дата окончания отчёта в формате ГГГГ-ММ-ДД и часовом поясе трекера. |
ufrom |
Дата начала отчёта в формате Unix Timestamp. |
uto |
Дата окончания отчёта в формате Unix Timestamp. |
status |
Символьный статус лида:
new - новые лиды.
hold - лиды в холде.
approve - подтверждённые лиды.
cancel - отклонённые лиды.
trash - лиды в треше.
valid - валидные лиды (всё кроме треша).
wait - лиды в ожидании (новые и холд).
good - удачные лиды (холд и аппрув).
bad - неудачные лиды (отмена и треш).
|
geo |
Двухбуквенный ISO-код страны лида. |
flow |
Символьный идентификатор потока. |
way |
Числовой идентификатор пути. |
click |
Символьный идентификатор клика. |
site |
Числовой идентификатор сайта. |
goal |
Символьный идентификатор цели. |
filter |
Результат работы фильтров:
0 - целевые визиты.
1 - блокировка: бот.
2 - блокировка: чёрный список.
3 - блокировка: страна.
4 - блокировка: язык.
5 - блокировка: кампания фильтрации.
|
domain |
Домен, с которого был отправлен лид. |
ip |
IP-адрес лида. |
utm_source |
Значение метки UTM Source. |
utm_campaign |
Значение метки UTM Campaign. |
utm_content |
Значение метки UTM Content. |
utm_term |
Значение метки UTM Term. |
utm_medium |
Значение метки UTM Medium. |
subid |
Значение метки SubID. |
Результатом выполнения функции является ассоциативный массив:
Поле |
Описание |
status |
Результат выполнения операции: ok в случае успешного выполнения, error в случае ошибки. |
leads |
Массив лидов, состав полей разобран далее. |
error |
Код ошибки для статуса error со значением из списка:
access - вы пытаетесь получить доступ к данным, которые вам не принадлежат.
payment-required - ваша подписка истекла, продлите подписку.
|
Внутри поля leads
лиды представлены ассоциативным массивом с полями:
Поле |
Описание |
id |
Числовой идентификатор лида. |
time |
Время поступления лида в формате UNIX Timestamp. |
click |
Символьный идентификатор клика. |
uid |
Уникальный идентификатор лида на стороне рекламодателя. |
flow |
Символьный идентификатор потока. |
way |
Числовой идентификатор пути. |
site |
Числовой идентификатор сайта. |
siteurl |
URL сайта. |
filter |
Результат работы фильтров:
0 - целевые визиты.
1 - блокировка: бот.
2 - блокировка: чёрный список.
3 - блокировка: страна.
4 - блокировка: язык.
5 - блокировка: кампания фильтрации.
|
status |
Символьный статус лида:
new - новый лид.
hold - лид в холде.
approve - подтверждённый лид.
cancel - отклонённый лид.
trash - лид в треше.
|
custom |
Реальный текстовый статус лида, который был отправлен рекламодателем. |
goal |
Символьный идентификатор цели. |
price |
Цена лида (есть всегда независимо от статуса). |
currency |
Валюта цены лида, по умолчанию usd . |
ip |
IP-адрес лида. |
geo |
Двухбуквенный ISO-код страны лида. |
name |
Имя покупателя. |
phone |
Телефон покупателя (без коррекции и валидации). |
email |
Email покупателя (без коррекции и валидации). |
comment |
Комментарий к лиду. |
meta |
Массив дополнительных полей лида. |
ua |
User Agent браузера. |
referer |
Реферер, с которого был отправлен лид. |
adid |
Идентификатор рекламного клика (fbclid , gclid , adclid , clid , adid ). |
data1 |
Произвольные данные 1. |
data2 |
Произвольные данные 2. |
domain |
Домен, с которого был отправлен лид. |
utm_source |
Значение метки UTM Source. |
utm_campaign |
Значение метки UTM Campaign. |
utm_content |
Значение метки UTM Content. |
utm_term |
Значение метки UTM Term. |
utm_medium |
Значение метки UTM Medium. |
subid |
Значение метки subid . |
Пример успешного ответа сервера:
{
"status": "ok",
"leads": [
{
"id": 1,
"time": 1691303223,
"click": "ac13",
"uid": "c1vvkg272m16",
"flow": "ecb4",
"way": 123,
"site": 42,
"siteurl": "https://meow.pro/c8/cfb72fe561f0/",
"filter": 0,
"status": "approve",
"custom": "Confirmed",
"goal": "paid",
"price": 18,
"currency": "usd",
"ip": "12.34.56.78",
"geo": "de",
"name": "Hans",
"phone": "+49 (30) 226-511-83",
"email": "[email protected]",
"comment": "Confirmed on sunday",
"meta": {
"foo": "bar",
"bar": "foo"
},
"ua": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Safari\605.1.15",
"referer": "https://meow.pro/c8/cfb72fe561f0/?subid=purr",
"adid": "bf9d4aa8-4979-11ee-94c6-005056aec456",
"data1": "wj80b89eit8epaarikhe2oge",
"data2": false,
"utm_source": "fb",
"utm_campaign": "1013444211662",
"utm_content": "432211555332166",
"utm_term": false,
"utm_medium": false,
"domain": "meow.pro",
"subid": "purr"
},
...
]
}
Пример ответа сервера с ошибкой:
{
"status": "error",
"error": "payment-required"
}
Статистика по кликам
URL: https://www.altercpa.one/api/tracker/stats.json?id={token}
Функция собирает общую статистику по количеству кликов и лидов с разбивкой по целям за выбранный период по указанному критерию.
Функция может принимать на вход следующие GET-параметры фильтрации:
Поле |
Описание |
from * |
Дата начала отчёта в формате ГГГГ-ММ-ДД (обязательно). |
to * |
Дата окончания отчёта в формате ГГГГ-ММ-ДД (обязательно). |
item * |
Элемент, по которому группируется статистика (обязательно):
date - дата поступления клика и лида.
hour - час поступления клика и лида.
flow - поток.
way - путь.
site - сайт.
filter - результаты фильтрации.
geo - страна.
mobile - устройство.
os - операционная система.
browser - браузер.
ip - IP-адрес.
utmd - домен.
subid - метка SubID.
utms - метка UTM Source.
utmc - метка UTM Campaign.
utmn - метка UTM Content.
utmt - метка UTM Term.
utmm - метка UTM Medium.
|
geo |
Двухбуквенный ISO-код страны лида. |
flow |
Символьный идентификатор потока. |
way |
Числовой идентификатор пути. |
site |
Числовой идентификатор сайта. |
filter |
Результат работы фильтров:
0 - целевые визиты.
1 - блокировка: бот.
2 - блокировка: чёрный список.
3 - блокировка: страна.
4 - блокировка: язык.
5 - блокировка: кампания фильтрации.
|
hour |
Час поступления лида (число от 0 до 23). |
mobile |
Тип трафика:
0 - десктоп-трафик.
1 - мобильный трафик.
|
os |
Операционная система:
0 - Other
1 - Windows
2 - MacOS
3 - Linux
4 - iOS
5 - Android
6 - Windows Mobile
7 - Symbian
8 - BlackBerry
|
browser |
Браузер:
0 - Other
1 - Chrome
2 - Firefox
3 - MSIE
4 - Safari
5 - Opera
6 - Edge
7 - Facebook
8 - Instagram
9 - Tik-Tok
10 - WebView
11 - Bot
|
domain |
Домен, с которого был отправлен лид. |
ip |
IP-адрес лида. |
utm_source |
Значение метки UTM Source. |
utm_campaign |
Значение метки UTM Campaign. |
utm_content |
Значение метки UTM Content. |
utm_term |
Значение метки UTM Term. |
utm_medium |
Значение метки UTM Medium. |
subid |
Значение метки subid . |
Результатом выполнения функции является ассоциативный массив:
Поле |
Описание |
status |
Результат выполнения операции: ok в случае успешного выполнения, error в случае ошибки. |
stats |
Массив результатов статистики, состав полей разобран далее. |
total |
Суммарные результаты по всему запросу. |
error |
Код ошибки для статуса error со значением из списка:
access - вы пытаетесь получить доступ к данным, которые вам не принадлежат.
no-item - не указан критерий, по которому необходимо собрать статистику.
no-from - не указана дата начала периода статистики.
no-to - не указана дата окончания периода статистики.
payment-required - ваша подписка истекла, продлите подписку.
|
Массив stats
и поле total
представляют собой ассоциативный массив:
Поле |
Описание |
id |
Идентификатор элемента статистики. |
name |
Название элемента статистики. |
click |
Общее количество кликов. |
unique |
Количество уникальных кликов. |
total |
Общее количество лидов. |
cv |
Количество валидных лидов. |
cn |
Количество новых лидов. |
ch |
Количество лидов в холде. |
ca |
Количество подтверждённых лидов. |
cc |
Количество отклонённых лидов. |
ct |
Количество лидов в треше. |
mt |
Общая сумма заработка. |
mh |
Сумма заработка по лидам в холде. |
ma |
Сумма заработка по подтверждённым лидам. |
cr |
Конверсия: соотношение валидных лидов к уникальным кликам. |
epc |
EPC: соотношение подтверждённого заработка к уникальным кликам. |
appr |
Аппрув: соотношение подтверждённых лидов к валидным. |
app |
Общий аппрув: соотношение подтверждённых лидов ко всем лидам. |
goal |
Массив со статистикой по каждой отдельной цели. Содержит такие же поля, как остальная статистика, за исключением количества кликов. |
Пример успешного ответа сервера:
{
"status": "ok",
"stats": {
"20230805": {
"id": 20230805,
"name": "2023-08-05",
"click": 44,
"unique": 22,
"total": 6,
"cv": 4,
"cn": 1,
"ch": 1,
"ca": 2,
"cc": 0,
"ct": 2,
"mh": 20.0,
"ma": 135.0,
"mt": 155.0,
"cr": 18.2,
"epc": 6.75,
"appr": 66.7,
"app": 33.3
},
...
},
"total": {
"click": 175,
"unique": 58,
"total": 25,
"cv": 23,
"cn": 11,
"ch": 8,
"ca": 9,
"cc": 0,
"ct": 2,
"mh": 160.0,
"ma": 1200.0,
"mt": 1360.0,
"cr": 5.17,
"epc": 12.3,
"appr": 46.7,
"app": 31.0
}
}
Пример ответа сервера с ошибкой:
{
"status": "error",
"error": "no-item"
}