Перейти к содержимому

Настройки и уведомления

Страница /admin/settings разделена на четыре вкладки: General (Общие), Backups (Бэкапы), Cron log (Лог cron) и Notifications (Уведомления).

Вкладка General содержит настройку срока хранения данных. Четыре числовых поля задают, сколько дней каждая таблица статистики хранит данные, прежде чем партиции будут удалены командой partitions:rotate. Изменения вступают в силу при следующем ежедневном запуске этой команды; подробнее см. Cron и обслуживание.

Ключ настройкиТаблицаПо умолчаниюДиапазон
retention_clicks_daysstats.clicks365 дней1–3650
retention_pixel_events_daysstats.pixel_events90 дней1–3650
retention_fingerprints_daysstats.visitors_fingerprints30 дней1–365
retention_auth_events_dayscore.auth_events180 дней30–3650

Значения сохраняются в core.settings (хранилище ключ/значение). Если для ключа нет строки, partitions:rotate использует значение по умолчанию во время ротации.

Вкладка Backups показывает перечень файлов дампов pg_dump --format=custom, хранящихся в /app/var/backups/ внутри контейнера app. Сводная строка показывает количество, общий размер и таймстамп последнего файла.

Действия, доступные в UI:

  • New backup — запускает POST /admin/settings/backups, который немедленно выполняет pg_dump и обновляет список. Кнопка заблокирована, пока форма отправляется.
  • DownloadGET /admin/settings/backups/{name}/download — стримит файл дампа в браузер.
  • DeletePOST /admin/settings/backups/{name}/delete — удаляет один файл дампа (с диалогом подтверждения).

Автоматический ежедневный бэкап выполняется cron-задачей db:backup в 01:00 UTC и хранит дампы за последние 14 дней, автоматически удаляя более старые файлы. Команды бэкапа и восстановления через CLI см. в Режимах развёртывания.

Вкладка Cron log отображает журнал core.cron_runs, который автоматически заполняется JournaledApplication при каждом вызове bin/console.

Вкладка показывает два представления:

  • Последний запуск по каждой команде — по одной строке на имя команды, с самым свежим started_at, давностью, длительностью в миллисекундах и бейджем кода выхода (ok / exit N / running).
  • Последние 50 запусков — свёрнутый список <details> из 50 самых свежих запусков по всем командам, с разворачиваемым прямо на месте хвостом stdout (до 600 символов).

Полное расписание cron и описание каждой команды см. в Cron и обслуживание.

Вкладка Notifications настраивает Telegram-оповещения, отправляемые cron-задачей telegram:alerts и связанными с ней задачами.

Токен бота и chat ID читаются из переменных окружения TELEGRAM_BOT_TOKEN и TELEGRAM_CHAT_ID. Вкладка показывает бейдж configured / not configured в зависимости от того, заданы ли оба значения. Кнопка Send test (POST /admin/settings/notifications/test) отправляет простое тестовое сообщение и сообщает об успехе или неудаче — кнопка заблокирована, когда Telegram не настроен.

Есть четыре типа уведомлений, у каждого — переключатель включения и редактируемый шаблон сообщения. Очистка поля шаблона и сохранение восстанавливает значение по умолчанию из реестра. Шаблоны используют Telegram HTML (разрешены теги <b>, <code>); значения макросов экранируются как HTML при подстановке.

Ключи настроек следуют шаблону notif_{type}_enabled, notif_{type}_template и (где применимо) notif_{type}_sources.


Метка: AI click — посетитель, пришедший из AI/поискового источника и затем кликнувший

Есть Sources: да

Срабатывает, когда реферер клика классифицирован как AI-ассистент или поисковик. Мультивыбор Sources (чекбоксы) позволяет ограничить оповещения конкретными движками; по умолчанию chatgpt и google.

Доступные макросы:

МакросОписание
{emoji}Эмодзи источника (🤖 AI / 🔍 поиск)
{source}Ключ движка (например, google, chatgpt)
{campaign}Slug кампании
{route}лендинг → кнопка · СТРАНА · устройство (или «direct»)
{offer_url}URL оффера-назначения (обрезанный)
{country}Код страны ISO-2
{device}Тип устройства
{click_id}UUID клика
{app_url}Базовый URL админки

Метка: AI pixel — pageview, реферер которого — AI/поисковый источник

Есть Sources: да

Срабатывает, когда реферер события pageview пикселя классифицирован как AI-ассистент или поисковик.

Доступные макросы:

МакросОписание
{emoji}Эмодзи источника (🤖 AI / 🔍 поиск)
{source}Ключ движка (например, google, chatgpt)
{event}Имя события пикселя (например, pageview)
{page_url}URL страницы (обрезанный)
{route}СТРАНА · устройство (или «unknown»)
{visitor_uuid}UUID посетителя (первые 8 символов)
{fp_js}FingerprintJS id (первые 10 символов)
{domain}Хост страницы (url-encoded, для ссылки в админке)
{country}Код страны ISO-2
{device}Тип устройства
{app_url}Базовый URL админки

conv_click — Конверсия, атрибутированная клику

Заголовок раздела «conv_click — Конверсия, атрибутированная клику»

Метка: Conversion — постбэк, атрибутированный клику

Есть Sources: нет

Срабатывает, когда получен постбэк с валидным subid, который сопоставляется с кликом.

Доступные макросы:

МакросОписание
{offer_name}Название оффера
{status}Статус конверсии
{payout}Сумма выплаты
{route}лендинг → кнопка · СТРАНА · устройство
{source}Источник входа (ключ движка, хост или «direct»)
{player_id}Внешний/player id (может быть пустым)
{age}Время с момента клика (например, 5m, 2h)
{country}Код страны ISO-2
{device}Тип устройства
{click_id}UUID клика
{app_url}Базовый URL админки

Метка: Campaign ping — постбэк по токену кампании без click id

Есть Sources: нет

Срабатывает, когда получен постбэк по catch-all токену уровня кампании, но без subid, поэтому конверсию нельзя атрибутировать конкретному клику.

Доступные макросы:

МакросОписание
{campaign}Название кампании
{slug}Slug кампании
{status}Статус конверсии
{player_id}Внешний/player id (может быть пустым)
{ip}IP источника
{payout}Сумма выплаты
{app_url}Базовый URL админки

Мультивыбор Sources (показывается для ai_click и ai_pixel) перечисляет все движки, зарегистрированные в SearchEngine::ENGINES. Полный список в порядке отображения:

chatgpt, perplexity, claude, gemini, copilot, google, bing, baidu, yandex, duckduckgo, yahoo, naver, ecosia, brave, qwant, seznam, startpage

Выбранные ключи движков сохраняются как JSON-массив в core.settings под ключом notif_{type}_sources.