Налаштування
Settings - це «рубильники» вашого екземпляра PWA Hub, сторінка лише для адміністраторів (відкривається через меню в правому верхньому куті → Settings). Звідси ви тримаєте систему в актуальній версії, даєте панелі власне ім'я та логотип, видаєте партнерським мережам адресу постбека, керуєте терміном зберігання логів, підключаєте мовну модель і вмикаєте вхід через Telegram. Угорі - картка System Update, нижче - згортувані розділи Branding, Offer Postback, Log retention, AI Generation і Telegram Login.

Особисті налаштування - у профілі
Усе, що стосується особисто вас, - ім'я, пароль, прив'язка Telegram, тихі сповіщення та ваш ключ до публічного API - живе на сторінці «Профіль» (меню в правому верхньому куті → Profile). Тут, у «Settings», лише те, що впливає на весь екземпляр.
Оновлення системи
Найкорисніша картка для тих, хто тримає PWA Hub на своєму сервері: оновлення до свіжої версії просто з інтерфейсу, без SSH і командного рядка. Усе за кілька кліків.
1. Перевірте оновлення. Натисніть Check for Updates - панель звіриться із сервером оновлень і покаже, чи актуальна ваша версія. Поруч завжди видно позначку Last checked - час останньої перевірки.

2. Якщо вийшла нова версія, з'являється зелена плашка Update Available з кнопкою Update Now. Під нею - що саме входить в оновлення: дата, кількість змін і список за групами Security, New, Improved, Fixed, мовою панелі. Посилання All updates веде на повну історію - розділ «Що нового» цієї документації.

3. Підтвердьте. За кнопкою Update Now відкриється вікно Confirm Update - натисніть у ньому Update Now. Оновлення займе пару хвилин, застосунок перезавантажиться сам.

4. Дочекайтеся встановлення. PWA Hub завантажить і встановить нову версію, показуючи прогрес покроково (Preparing, Downloading, Finishing up) і смугу завантаження образів - скільки вже завантажено (наприклад, 8 із 13) і загальний відсоток.


5. Дочекайтеся ста відсотків. На фініші картка показує Done!, а в правому верхньому куті спливає сповіщення System updated successfully.

6. Готово. Сторінка оновиться сама, а картка покаже Your System is Up to Date.

Оновлення не пройшло?
Якщо картка показала Update Failed, робоча версія залишається як була - нічого не зламано. Нові версії завантажуються лише за активної ліцензії: перевірте її в розділі «Ліцензія». Якщо з ліцензією все гаразд, натисніть Try Again трохи згодом.
Автоматична перевірка
Панель періодично перевіряє оновлення й сама - за розкладом на боці сервера. Коли це було востаннє, видно в рядку Last checked. Кнопка Check for Updates потрібна, лише якщо хочете перевірити просто зараз.
Перед оновленням - зупиніть налив трафіку
Будь-яке оновлення перезапускає сервіси. Перезапуск триває частки секунди, але в цей момент кілька кліків, що потрапили на ваші PWA, можуть загубитися. Тому перед запуском оновлення поставте на паузу налив трафіку (кампанії в джерелах) і запускайте його в години найменшого навантаження, а не в розпал роботи зв'язок.
Що відбувається під час встановлення
Поки триває встановлення, застосунок перезапускається - це нормально, що інтерфейс на хвилину «завмирає». Не закривайте вкладку: дочекайтеся завершення, сторінка оновиться сама. Якщо зв'язок на секунду пропаде, PWA Hub підхопить статус оновлення заново після перепідключення.
Брендинг
Розділ Branding дає змогу назвати панель по-своєму та замінити логотип з іконкою вкладки - без перезбирання та правки файлів. Єдине, що залишається, - посилання Powered by PWAHub унизу бічного меню.

- Panel name - ім'я, яке видно в бічному меню, на сторінці входу та в заголовку вкладки браузера (до 40 символів). Частина імені у квадратних дужках підсвічується зеленим акцентом - стандартне PWA [Hub] влаштоване саме так. Порожнє поле повертає ім'я за замовчуванням.
- Logo - квадратний PNG або JPEG до 2 МБ; панель сама зменшить його до 128×128, а широку картинку доповнить прозорими полями, не обрізаючи.
- Favicon - іконка вкладки, теж PNG або JPEG до 2 МБ, зменшується до 64×64. Необов'язкова: без неї як favicon використовується логотип.
Натисніть Save, щоб застосувати, або Reset branding, щоб повернути стандартні ім'я та зображення. SVG не приймається навмисно - лише растрові формати.
Постбек оферу
Розділ Offer Postback показує адресу, яку ви віддаєте партнерській мережі, щоб вона повідомляла панелі про реєстрації та депозити. Саме за цими постбеками рахуються конверсії у статистиці, працюють тригерні пуші та йдуть серверні події у Facebook.

В адресу зашито секретний токен. Хто знає адресу, той може надсилати конверсії, тому поводьтеся з нею як із паролем і віддавайте лише своїм мережам. Кнопка поруч копіює адресу, кнопка оновлення генерує новий токен.
Новий токен ламає старі посилання
Після перегенерації попередня адреса перестає прийматися. Усі мережі, де вона вже прописана, доведеться оновити вручну - інакше їхні постбеки почнуть губитися.
Параметри, які мережа має додати до адреси:
| Параметр | Обов'язковий | Що передає |
|---|---|---|
pwa_visitor_id | так | Ідентифікатор відвідувача - те значення, яке ви передали в посилання на офер макросом {VISITOR_ID}. Без нього конверсію немає до чого прив'язати, і в статистику вона не потрапить. |
click_id | так | Власний ідентифікатор кліку в мережі. |
event | так | Статус конверсії. Поширені назви - registration, deposit, sale, ftd та інші - розпізнаються автоматично. |
payout | ні | Сума виплати, наприклад 100.50. |
currency | ні | Трилітерний код валюти; без нього підставляється USD. |
tid | ні | Ідентифікатор транзакції в мережі. |
Готовий приклад посилання з макросами наведено в самій картці - підставте замість {visitor_id}, {click_id}, {status} та інших макроси вашої мережі. Якщо мережа називає статуси по-своєму, перелічіть їх прямо в адресі: reg_statuses=my_reg, dep_statuses=my_sale (і redep_statuses для повторних депозитів). Нерозпізнаний статус усе одно зберігається, але в жоден крок воронки не зараховується.
Що робити, якщо конверсії не приходять
Кожен прийнятий постбек записується в «Logs» з типом Postbacks разом із параметрами як вони прийшли. Відкрийте його та звірте: чи є pwa_visitor_id, чи впізнаваний статус.
Термін зберігання логів
Розділ Log retention задає, скільки днів зберігати кожен тип записів розділу «Логи»: System, Audit, Postbacks та TDS. Старі записи видаляються раз на добу; значення 0 вимикає очищення для цього типу. За замовчуванням системні й TDS-записи живуть 14 днів, аудит - 90, постбеки - 30. Натисніть Save, щоб застосувати.

AI-генерація
Розділ AI Generation підключає мовну модель, яка пише за вас: унікалізує тексти пушів (вкладка Messages форми пуша), пише ланцюжки пушів (Chain from AI на сторінці Pushes), генерує відгуки (вкладка Comments форми PWA), перекладає вітрину, заповнює її за офером (Fill from offer на вкладці Description) і робить тексти копій унікальними. Запити йдуть через ваш акаунт провайдера - заведіть ключ API в консолі OpenAI, Google AI Studio або Anthropic. Та сама модель відповідає в чаті AI-асистента - докладніше в розділі «AI-асистент».

- У блоці Providers - три плитки: OpenAI, Gemini і Anthropic; на кожній видно, чи задано ключ. Клік по плитці відкриває налаштування провайдера: оберіть Default model і впишіть API key. Ключ «лише на запис»: після збереження поле показує лише позначку, що ключ задано; залиште його порожнім, щоб зберегти попередній. Кнопка Check key надсилає короткий пробний запит і одразу показує, чи працює ключ з обраною моделлю, - ще до збереження.
- Щоб увімкнути провайдера, натисніть Make active у його налаштуваннях - на плитці з'явиться позначка Active. Turn off вимикає AI, не видаляючи ключі. Поки активного провайдера немає або в нього немає ключа, AI-кнопки в панелі відповідають, що модель не підключено, - на решту роботи це не впливає.
- У полі Models users may pick позначте моделі, які користувачі зможуть обрати в AI-вікнах і в чаті асистента поруч із ціною. Активна модель доступна завжди; модель іншого провайдера запрацює, коли в нього задано ключ.
- Нижче - Prompt templates: по вкладці на кожну AI-функцію - Comments, Pushes і Translation. Промти можна правити під свою нішу; макроси в тексті (
{context},{tone}у коментарях,{from}і{to}у перекладі) панель підставляє сама. Порожнє поле означає стандартний шаблон - його й показано сірим як підказку; крапка на вкладці позначає свій промт.

Натисніть Save. Сусідня кнопка Reset AI settings повертає до значень за замовчуванням усе разом - провайдера, моделі, ключі та промти; панель перепитає перед скиданням.
Вхід через Telegram
Картка Telegram Login додає на сторінку входу кнопку «Увійти через Telegram» - зручно, якщо ви або ваша команда надаєте перевагу входу через Telegram замість пароля. Той самий бот вмикає картку прив'язки Telegram у профілях користувачів.

Щоб увімкнути:
- Створіть бота в @BotFather, отримайте його username і токен.
- Прив'яжіть домен вашої адмінки до бота командою /setdomain у BotFather - без цього кнопка не запрацює.
- Впишіть username у поле Bot username, токен - у Bot token, і натисніть Save.
Токен вводиться один раз
Поле Bot token «лише на запис»: якщо токен уже задано, у ньому стоїть підказка a token is set. Залиште його порожнім за наступного збереження - попередній токен залишиться на місці. Заповнюйте це поле, лише коли хочете замінити токен на новий.