Документация по API

API трекера позволяют работать с трафиком и статистикой. Чтобы получить API-токен, зайдите на страницу своего профиля в системе. Взаимодействие с сервисом осуществляется по протоколу HTTP, статус ответа всегда 200. Стандартный формат запроса - GET или "чистый" POST (form-urlencoded). При отправке в JSON не забывайте заголовок Content-type: application/json. Формат результата - JSON. Ограничений на количество запросов нет.

Далее по тексту важные параметры указаны в фигурных скобках:

Важно! При использовании ссылок и данных фигурные скобки указывать не нужно, только сами значения!

Интеграция

Функции интеграции отвечают за подключение сторонних сервисов и передачу данных о конверсиях.

Постбек

URL: https://www.altercpa.red/api/tracker/postback.json?id={token}&click={click}

Самая главная функция взаимодействия с трекером. Создаёт новый или изменяет существующий лид по отправленным ID клика или потока. Вы можете использовать два варианта вызова:

Функция может принимать на вход следующие параметры:

Поле Описание
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.red/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.red/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": "noreply@gmx.de",
            "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.red/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"
}