Track: трекінг для клієнтів
Білий трекінг авто під вашим брендом: посилання для клієнта, бренд тенанта, піддомен і власний домен, приватність.
Track — публічна сторінка для клієнта брокера: де зараз авто, які етапи пройдено, коли очікувати видачу, фото, документи, наступна оплата, контакт менеджера. Вона брендується під вашу компанію за доменом. Це той самий код, що й «Де моє авто» на сайті Vezemo.

Що бачить клієнт
- Стадія й таймлайн з датами: пройдені, поточна, майбутні з прогнозом.
- Маршрут. Позиція схематична (без реальної карти); координати судна, якщо вони є, показуються текстом.
- Фото з аукціону, порту, після ремонту, якщо ви позначили їх публічними.
- Документи до завантаження, лише якщо ви це дозволили в налаштуваннях тенанта (
track_show_documents). - Наступна оплата з кнопкою, що веде в кабінет.
- Контакт менеджера: телефон, пошта, Telegram.
- Підписка на сповіщення (посилання на вашого Telegram-бота) і кнопка «поділитися».
Сторінка працює і без JavaScript: стадія, таймлайн, маршрут, фото й контакти приходять з сервера. З JavaScript вона оновлюється сама приблизно кожні 20 секунд, коли вкладка активна. Зміна стадії в Desk з'являється без перезавантаження.
Як клієнт потрапляє на сторінку
| Спосіб | Адреса |
|---|---|
| Персональне посилання (SMS, Telegram, пошта) | https://track.<ваш домен>/<токен> |
| Пошук | https://track.<ваш домен>/: номер угоди і VIN |
Токен — випадковий UUID, який неможливо вгадати. Невалідний, невідомий або чужий токен, а також невідомий домен показують однакову нейтральну сторінку 404 без підказок. Пошук відповідає не швидше ніж за 400 мс незалежно від результату, щоб не дати вгадувати номери.
Про код доступу
Зараз роль «коду» виконує VIN. Окремий код із SMS чи Telegram потребує нового поля в базі: див. DECISIONS.md.
Бренд тенанта
Бренд задається в налаштуваннях тенанта (tenants.brand):
| Поле | Що воно робить |
|---|---|
name | назва компанії |
primary, accent, radius | кольори й заокруглення |
logoUrl | логотип |
contacts.phone, contacts.email, contacts.telegram | блок «Контакт менеджера» |
website | посилання на ваш сайт |
telegramBotUsername | без нього блок підписки не показується |
domain | власний домен Track (див. нижче) |
Екран «Налаштування → Бренд» у Desk У розробці: поки бренд змінює оператор платформи.
Стадії теж настроюються: у settings.stages_override їх можна перейменувати для клієнта, вимкнути або сховати (public: false). Це застосовується на Track автоматично. Докладно про стадії: стадії угоди.
Домен трекінгу
Є три варіанти, в порядку пріоритету, за яким Track визначає тенанта за адресою:
- Власний домен тенанта, наприклад
track.broker.ua. Збіг ізtenants.brand.domain. - Піддомен на нашому домені:
acme.<TRACK_DOMAIN>→ тенант зі slugacme. Нічого робити не треба: працює wildcard-маршрут і wildcard-сертифікат. - Службові мапінги для розробки.
Підключення власного домену
Це робите ви разом з оператором платформи.
Ваш крок, у панелі вашого DNS-провайдера:
- Для піддомену (
track.broker.ua) створіть запис CNAME, що вказує на значенняTRACK_CNAME_TARGET(його надає оператор, наприкладcname.<TRACK_DOMAIN>). - Для кореня домену CNAME неможливий: створіть A-запис на IP сервера.
Крок оператора на сервері:
~/rvauto2/releases/$(cat ~/rvauto2/state/current_tag)/infra/scripts/track-domains.sh add track.broker.uaСкрипт перевіряє ім'я, перевіряє DNS (dig; без правильного DNS домен не додається, бо Let's Encrypt обмежує невдалі спроби), дописує домен у список і перегенерує конфіг Traefik. Traefik підхоплює його без перезапуску й сам випускає сертифікат при першому запиті. Інші команди: track-domains.sh remove|list|render.
Ліміти Let's Encrypt: 50 сертифікатів на тиждень на зареєстрований домен і 5 невдалих перевірок на годину. Багато доменів підключайте в кілька днів.
У розробці: автоматичне підключення домену з Desk
Зараз домен додає оператор вручну скриптом. Планується Traefik HTTP provider, який бере домени з бази тенантів, а у Desk з'явиться поле «Домен трекінгу» з перевіркою DNS.
Власний домен у тарифі: див. таблицю тарифів у розділі Для брокерів.
Приватність і безпека
- На сторінці немає цін лота, зборів, маржі, нотаток і внутрішніх ідентифікаторів. Показується лише те, що ви позначили публічним.
- Файли (фото й документи) віддаються через підписане посилання на 15 хвилин, лише для файлів цієї угоди.
- Сторінки угод не індексуються пошуковиками (
noindex) і не кешуються (no-store). - Є обмеження частоти запитів і окремий лічильник «промахів» на IP.
Обмеження
- Оновлення в реальному часі зараз працює опитуванням (раз на ~20 с). Перехід на SSE У розробці.
- Запис підписок на сповіщення (пошта, Viber) на нашому боці У розробці. Поки працює лише посилання на Telegram-бота: бот має вміти обробляти
/start trk_<токен>. - Для кириличних і польських літер в OG-картці (мініатюра в месенджері) потрібен шрифт з відкритою ліцензією: Чекає на власника. Без нього картка виводить лише латиницю.
