Экран отдела ГПМ (ULS)

Живая страница по воронке «ОП ГПМ» портала uls.bitrix24.kz: чем занят отдел, где стоят сделки и что происходит с обращениями, пришедшими с рекламы.

Адрес: https://uls-radar.val.run/

Вход — dash.ts (HTTP). Своей базы нет: данные берутся у портала в момент запроса. Два кэша по пять минут — состояние воронки (одно на всех) и работа за выбранный период (свой на каждый диапазон).

Что на странице

  • Период — поля дат и кнопки «сегодня / вчера / 7 дней / 30 дней / этот месяц». Предел — 92 дня, дальше сервер отказывает, а страница предупреждает об этом до перехода. Весь срез лежит в строке запроса: ссылку можно переслать.
  • Семь сигналов-вопросов — КП отправлено и забыто, отказ висит в работе, отложено и брошено, припарковано молча, закрыто без причины, шаг за горизонт, пакетная работа. Щелчок по карточке отбирает список сделок внизу.
  • Чем занят день — звонки, движения и задачи по каждому человеку за период, плюс строка потока: сравнение с таким же предыдущим отрезком.
  • Где стоят открытые сделки — все стадии, включая пустые.
  • Портфель по менеджерам — стадии, суммы, медианы возраста и тишины.
  • Сделки — таблица со ссылками в карточки портала, сортировкой и выгрузкой в CSV (выгружается весь период, отбор по сигналу в неё пока не передаётся).
  • Реклама: путь обращений — прежний радар рекламных лидов, свёрнут внизу.

Переменные окружения

ПеременнаяЧтоЗадана
B24_PORTALSuls
DASH_PORTALuls
AD_SOURCESSTORE,CALL,CALLBACK — Реклама, Сайт ULS-ASIA.KZ, Instagram
B24_TITLE_ULSULS Asia
DASH_PASSWORDпароль входа на страницу
B24_HOOK_ULSвходящий вебхук портала целиком, со слэшем на конце
REFUSAL_FIELDимя списочного поля лида с причиной отказа (UF_CRM_…)не обязательна

Пока REFUSAL_FIELD пуста, блок причин отказа в карточке обращения не показывается — это не поломка, а сознательное поведение.

Секреты

Живут только здесь, в переменных окружения вала: ни в коде, ни в репозитории, ни в переписке. В самом коде вебхуков и ключей нет, в собранной странице — тоже, на это есть тест.

Аккаунт на бесплатном тарифе, поэтому код вала виден публично. Секретов в нём нет, а доступ к данным портала закрыт паролем DASH_PASSWORD.

Источник правды

Ветка claude/uls-portal-access-1bb082 репозитория коннектора Битрикс24, 951 тест. Правки вносить там и переносить сюда, а не наоборот: здесь копия, а не оригинал.

Перенесено 40 файлов — dash.ts и src/. Имена файлов латинские не по вкусу, а по необходимости: Val Town проверяет имя регуляркой ^[a-zA-Z0-9$\[\]()\-_.]+$ и кириллицу отклоняет. Идентификаторы и комментарии внутри — русские, как во всём проекте.

Часть модулей (journal.ts, entities.ts, appcall.ts и соседние) тянется по цепочке импортов из общего кода коннектора и на этой странице не используется: дашборд ходит на портал входящим вебхуком, путь приложения не задействован.

Развёрнуто 8 сентября 2026. Проверено на месте: код вала собрал страницу на 229 818 байт по живым данным портала — 270 открытых сделок, 170 закрытых, 892 лида, 339 звонков, ничего не обрезано.