Схемы Что нового

Интеграции и сервисы

Интеграции с внешними сервисами, телефония, IPTV, личный кабинет и мобильное приложение, лицензия и модули. Отдельными страницами: сообщения и SMS, персонал и права, обслуживание, Captive Portal, сводка модуля «Поддержка».

Содержание раздела

Интеграции

Единая точка управления внешними сервисами. Страница разделена на 8 вкладок. В нижней части любой страницы биллинга в футере отображается мини-индикатор статуса ИИ-ассистента (✓ AI / ✗ AI / ⏸ AI / ? AI) с количеством сообщений за сегодня.

Вкладка «Обзор»

Сводка всех настроенных интеграций со статусами. Цветной бейдж справа от каждой интеграции показывает: ✓ настроена / ✗ ошибка / ⏸ выключена / ? не настроена. Кнопка «Проверить все» запускает последовательно тест каждой настроенной интеграции; результаты появляются всплывающими сообщениями в правом верхнем углу.

Интеграции — обзор
Интеграции — обзор

Вкладка «Telegram»

Подключение Telegram-бота для двух целей: отправка уведомлений клиентам (те, кто подписался через личный кабинет) и чат оператора для системных алертов (NAS DOWN, ошибки платежей, СОРМ-выгрузка).

Интеграции — Telegram
Интеграции — Telegram

Параметры: токен бота, прокси SOCKS5 (api.telegram.org заблокирован для российских IP), ID чата администратора, переключатели типов алертов, тест отправки сообщения.

Вкладка «VK»

Интеграция VKontakte для двух функций: OAuth-логин в ЛК (клиент может зайти через свой VK-аккаунт) и отправка сообщений в личку группы.

Интеграции — VK
Интеграции — VK

Параметры: App ID для OAuth-логина, Community Token для отправки сообщений, ID группы. Тест соединения проверяет валидность токена.

Резервный AI-провайдер

Отдельной вкладки больше нет: переключение работает само. Если основной провайдер отвечает ошибкой доступа или лимита (401, 402, 403, 429), он уходит в карантин на 15 минут, и ответ даёт следующий по списку. Так клиент в чате ЛК, в приложении и в виджете получает ответ даже при сбое у провайдера. Порядок резервов и выключатель — системные настройки AI_FALLBACK_ORDER и AI_FAILOVER_ENABLED; кто сейчас в карантине — команда manage.py ai_failover_status. Остальные настройки AI — в разделе «AI-агент».

Вкладка «IPTV» (TVIP Media + LFStream)

Подразделы вкладки для двух IPTV-провайдеров: TVIP Media (российский middleware) и LFStream «Смотрёшка». Биллинг управляет пакетами клиента через их API: при активации или деактивации соответствующей услуги в биллинге автоматически включается/выключается пакет в middleware.

Интеграции — TVIP
Интеграции — TVIP
Интеграции — LFStream
Интеграции — LFStream

Параметры обоих сервисов: URL API, login/pass или API-ключ, ID оператора, тест соединения. У LFStream — выбор режима подключения: REST API v2 (прямой API, авторизация по IP-whitelist) или CMS-панель (обход whitelist, работает с любого IP). Подробнее — Оборудование → LFStream. Маппинг услуг → пакетов задаётся отдельно в разделе 6.6 IPTV-пакеты.

Вкладка «GCS» (Google Cloud Storage)

Google Cloud Storage используется для публичных файлов: скриншоты документации, иконки услуг, отчёты для скачивания.

Интеграции — GCS
Интеграции — GCS

Параметры: Service Account JSON-ключ (загружается через файл или вставляется как текст), имя GCP-проекта, имя бакета, префикс для путей внутри бакета.

Вкладка «География» (Адреса + Карта)

Объединяет два геосервиса: геокодер DaData (поиск адреса с автокомплитом и автоматический расчёт координат) и подложку карт — фон, поверх которого рисуются клиенты, узлы, трассы и наряды. Подложка общая для всех карт панели, геокодер работает при создании и правке адреса.

Интеграции — Адреса
Интеграции — Адреса
Интеграции — Карта
Интеграции — Карта

Параметры DaData: API-ключ. KPI-блок показывает сколько адресов уже геокодировано из общего числа (на демо: 4045 / 4261 = 94.93%).

Подложка карт: провайдер, тёмная тема, ключ CARTO

Провайдер выбирается один раз и применяется ко всем картам панели: главная, «Клиенты на карте», карта сети, дашборд CRM, карточка сделки, мини-карта в воронке, неточные адреса и карта площадок гостевого Wi-Fi.

ПровайдерКлючКогда выбирать
OpenStreetMap
по умолчанию
не нужен Самая подробная подложка: на крупном масштабе видны номера домов, магазины, подъездные проезды. То, что нужно монтажнику в поле.
CARTO выдаёт сервер лицензий Спокойный фон без лишних подписей: цветные метки статусов и узлов читаются лучше всего. В тёмной теме — настоящая тёмная карта. Номеров домов на подложке нет.
2ГИС свой, dev.2gis.ru Подробные планы российских городов, дворы и организации.
Яндекс.Карты свой, кабинет разработчика Яндекса Привычная картография. Тайлы запрашиваются в проекции web_mercator — иначе подложка уезжает от меток примерно на 20 км.

Стиль CARTO. Светлую подложку можно выбрать: Positron — нейтральная серая, на ней ярче всего видны цветные метки; Voyager — то же, но с цветными дорогами, по ним легче ориентироваться. В тёмной теме интерфейса подложка сама становится тёмной (Dark Matter), выбирать это отдельно не нужно. У остальных провайдеров тёмный вид получается затемняющим фильтром: метки, линии и всплывающие подсказки он не трогает.

Ключ CARTO выдаёт сервер лицензий. Отдельно получать и вписывать его не нужно: установка забирает ключ вместе с остальными настройками лицензии, и в поле «Свой ключ CARTO» видно, что оно может остаться пустым. Свой ключ нужен только если вы хотите считать расход на своём аккаунте CARTO — введённое значение заменяет выданное.

Ключ привязан к домену. CARTO принимает ключ только с адресов, разрешённых в кабинете dashboard.basemaps.carto.com. Если панель открыта на другом домене, карты просто покажут OpenStreetMap — сообщений об ошибке оператор не увидит. Условия CARTO также просят оставлять подпись «© CARTO, © OpenStreetMap» видимой на карте; включать её или нет, решает владелец установки.

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

Личный выбор сотрудника. В Профиле есть поле «Провайдер карты»: выбранное там важнее общей настройки и действует только для этого сотрудника. Значение «По умолчанию (Интеграции)» возвращает общий выбор.

Голосовая связь (провайдеры телефонии)

URL: /admin/settings/telephony/ · Модуль: voice «Голосовая связь» (тариф Pro и выше) — приём звонков операторами: голосовая почта, click-to-call, записи разговоров → тикеты Поддержки и сделки CRM.

⚠ Не путать с модулем «IP-телефония». Модуль telephony («IP-телефония») — это оказание услуги связи клиентам (номера, SIP-учётки, тарифы, CDR). Модуль voice («Голосовая связь») — внутренний инструмент операторов: через какого оператора мы сами принимаем и совершаем звонки.

Оператор телефонии — плагины

Оператор подключается как плагин: базовый интерфейс TelephonyProvider в billing/services/telephony_providers.py. Новый оператор = новый класс в реестре, страница настроек не меняется. Активный провайдер хранится в настройке TELEPHONY_PROVIDER.

ПровайдерКлючиПроверка связиClick-to-call
Mango Office (mango) MANGO_API_KEY, MANGO_API_SALT, MANGO_API_URL vPBX API, подпись sha256(key+json+salt) callback: оператор → клиент
Novofon (novofon) ASTERISK_ARI_URL, ASTERISK_ARI_USER, ASTERISK_ARI_PASSWORD, ASTERISK_TRUNK_ENDPOINT, ASTERISK_CALLERID Asterisk ARI GET /asterisk/info ARI originate через PJSIP-транк

Карточка провайдера показывает бейджи «настроен / click-to-call / записи». Кнопка «Проверить связь» делает реальный запрос к API оператора и возвращает результат прямо на странице.

Голосовая почта — маршрутизация линий

Оператор присылает запись звонка письмом на служебный ящик. По номеру, на который позвонил клиент (VoiceMailLine.phone), выбирается:

Расшифровка звонка нормализуется AI и классифицируется: обращение в поддержку, заявка на подключение или мусор. Клиент определяется по номеру — если номер принадлежит клиенту, всегда создаётся тикет (не лид).

Нераспознанные голосовые → «Неразобранное»

Тумблер включает настройку CRM_UNSORTED_MANGO: если человек оставил сообщение, но разобрать его не удалось, вместо потери обращения заводится сделка в воронке «Неразобранное» — оператор послушает запись сам. Дедупликация по телефону: повторное сообщение с того же номера дописывается примечанием в открытую сделку, а не плодит дубли. Запись прикрепляется к сделке (DealCall.recording_gcs_url).

Что сюда НЕ попадает. Внятная заявка на подключение уходит лидом в CRM, вопрос действующего клиента — тикетом в Поддержку: их здесь нет. Пропускаются и номера, у которых уже есть обращения в Поддержке — такой человек придёт туда же, а не станет новым лидом. До сентября 2026 подпись у тумблера обещала «все пропущенные звонки», хотя механизм ловил только нераспознанные сообщения.

Чем расшифровывать записи

Распознавание речи — один сервис на весь биллинг: им пользуются звонки телефонии, кнопка «Расшифровать запись» в карточке звонка и разбор голосовой почты. Провайдера два, переключаются здесь же:

Если выбранный провайдер не ответил, расшифровка автоматически уходит второму. Отдельный тумблер — «Расшифровывать самим, если оператор прислал только запись»: письмо с записью, но без текста, раньше уходило в «Пропуск», теперь запись распознаётся на нашей стороне. Короткие сбросы в модель не отправляются (порог VOICE_STT_MIN_KB, по умолчанию 25 КБ — около восьми секунд).

Расход считается по организации линии и виден в дашборде расходов AI: у каждой организации свои номера, поэтому распознавание оплачивает то юрлицо, которому звонили.

Провайдер AI отказал — отвечает резервный. Ошибки по ключу, оплате или лимиту (401, 402, 403, 429) отправляют провайдера в карантин на AI_FAILOVER_COOLDOWN_MIN минут (по умолчанию 15), а запросы идут по цепочке AI_FALLBACK_ORDER. Это касается и бота поддержки, и виджета, и расшифровки. Проверить и снять карантин: manage.py ai_failover_status, manage.py ai_failover_status --clear gemini.
Журнал голосовой почты переехал в отчёты: /admin/reports/voicemail/ — разбор писем, фильтры, запись и что создано. Здесь, в «Голосовой связи», остались маршруты линий, настройки разбора и тест без создания тикета (dry-run).

IPTV-пакеты

Маппинг услуг биллинга на IPTV-пакеты провайдера. Например: услуга «IPTV Базовый» в биллинге → пакет ID 12 в TVIP, услуга «IPTV Премиум» → пакет ID 18. При активации/деактивации услуги клиента биллинг автоматически включает/выключает соответствующий пакет в middleware.

IPTV-пакеты
IPTV-пакеты

Встроенный просмотр ТВ в ЛК и приложении

Клиент с активной IPTV-подпиской может смотреть каналы прямо в личном кабинете и в мобильном приложении — без установки стороннего приложения провайдера. В ЛК это HTML5-плеер (нативный HLS в Safari/iOS или через hls.js в остальных браузерах), в приложении — нативный video_player (ExoPlayer на Android, AVPlayer на iOS).

ЛК — Интерактивное ТВ с просмотром
ЛК — Интерактивное ТВ с просмотром

Плейлист каналов формируется по шаблону URL провайдера с подстановкой {login} / {account} клиента из таблицы маппинга (IptvAccountMapping). Просмотр доступен только при выполнении всех условий:

Два режима просмотра (поле mode в watch_context):

РежимКогдаЧто видит клиент
embeddedзадан рабочий шаблон плейлиста m3u8встроенный HLS-плеер в ЛК/приложении
appплейлиста нет, но подписка активнакарточка «Смотреть на устройстве»: логин клиента у провайдера (для входа в приложение на приставке/Smart TV/телефоне) + ссылка на приложение
offпросмотр недоступенпояснение причины

Просмотр в ЛК — через «Смотрёшку» (реш. admin). У неё есть реальный веб-плеер smotreshka.tv и приложения; TVIP — приставочный, без веб-плеера, а его m3u8 защищён провайдером и в браузере не встраивается. Поэтому в режиме app ЛК показывает карточку «Как смотреть ТВ» с 3 шагами: открыть smotreshka.tv или приложение «Смотрёшка» → войти (с логином и паролем, которые выдал оператор) → смотреть. Поля контекста: sm_login, sm_password, sm_url. Встроенный плеер (embedded) заработает только если провайдер даст внешний playlist-URL для веб-плеера.

Если условие не выполнено, клиенту показывается понятная причина («Просмотр доступен только в сети СмИТ», «Плеер каналов настраивается» и т.п.).

НастройкаНазначение
IPTV_WATCH_ENABLEDВключить встроенный просмотр (по умолчанию выкл)
IPTV_WATCH_REQUIRE_ONLINEСмотреть только при активной RADIUS-сессии
IPTV_PLAYLIST_TEMPLATE_TVIPШаблон URL плейлиста TVIP, плейсхолдеры {login} {account}
IPTV_PLAYLIST_TEMPLATE_LFSTREAMШаблон плейлиста «Смотрёшка»
IPTV_TVIP_APP_URL / IPTV_LFSTREAM_APP_URLСсылки на приложения провайдеров

Реализация: сервис billing/services/iptv_playlist.py (can_watch / playlist_url / watch_context), ЛК /lk/iptv/, мобильный экран «Интерактивное ТВ» (GET /mobile-api/v1/iptv/packages возвращает блок watch).

Модуль IPTV — раздел /admin/iptv/

Отдельный раздел сайдбара IPTV объединяет управление интеграцией с TV-провайдерами (TVIP Media и LFStream «Смотрёшка»): дашборд, пакеты, аккаунты клиентов, журнал API и настройки.

Обучающее видео 2:42

Шесть шагов на живых экранах: почему каналы у платформы, а деньги в биллинге; сопоставление услуги и пакета, подключение ТВ клиенту, аккаунты, разбор жалобы «не показывает», журнал запросов и режимы.

1920×1080 с озвучкой Скачать
Модуль IPTV — обзор
Модуль IPTV — обзор

Дашборд

Бизнес-метрики: выручка IPTV (MRR — сумма активных подписок UsersUsluga с system_type=21), число активных подписок и витринных пакетов, динамика подключений/отключений за 30 дней, здоровье интеграции (% успешных запросов к провайдерам за сутки), топ-пакеты, распределение по провайдерам.

Дашборд IPTV
Дашборд IPTV

Пакеты и витрина провайдеров

Витрина-справочник популярных РФ-провайдеров: TVIP Media и LFStream — с рабочей интеграцией, остальные (24часаТВ, LIME HD, Ministra, Микроимпульс, Смартила) — справочно. Ниже — таблица маппинга «услуга биллинга ↔ пакет провайдера» с автоподбором по имени и подсветкой несопоставленных строк.

Пакеты IPTV
Пакеты IPTV

Аккаунты клиентов

Список связок «клиент ↔ аккаунт у провайдера» (IptvAccountMapping). Чипы-фильтры по статусу (Все / Подтверждённые / Не подтверждённые / С ошибкой), колонки Пакет и Услуга (берутся из БД через активные IPTV-услуги клиента, без онлайн-опроса провайдера).

Аккаунты IPTV
Аккаунты IPTV

Клик по кнопке «Подробнее» открывает модалку деталей аккаунта в три колонки — статус, синхронизация, аккаунт/логин, договор, тариф, баланс, блокировки + IPTV-услуги клиента и журнал запросов к провайдеру. Клик по имени клиента открывает слайд-панель (см. ниже).

Детали аккаунта
Детали аккаунта

Подтверждение аккаунта (account_verified): ресинк находит аккаунт у провайдера по логину; только для подтверждённых аккаунтов реально выполняются block/unblock (гейт защищает от массовых ложных ошибок). В TVIP-панели ~127 аккаунтов, из них принадлежат СмИТ — 16.

Журнал API и настройки

Журнал всех запросов к провайдерам (IptvApiLog) с человекочитаемым действием и телом ошибки. Настройки — credentials TVIP/LFStream, тест подключения, биллинг-toggle.

Настройки IPTV
Настройки IPTV

Биллинг IPTV и kill-switch

IPTV-подписка — обычная услуга клиента (UsersUsluga, system_type=21), списывается billing_worker штатно (1-го числа). В настройках есть переключатель «Не списывать деньги за IPTV» (IPTV_BILLING_DISABLED) — режим тестирования: плата за IPTV не списывается, дата следующего списания сдвигается вперёд (задним числом долг не образуется), провижининг у провайдера продолжает работать. Блокировка IPTV при долге — опциональна (IPTV_BLOCK_ON_NEGBAL, по умолчанию выкл).

Опция «Создавать аккаунт IPTV новому абоненту» (IPTV_AUTO_CREATE_ACCOUNT) — при подключении ТВ-услуги абоненту без аккаунта у провайдера заводит его автоматически (логин smtv+договор). При выключенной опции подписка пропускается, пока аккаунт не создан. Email авто-аккаунта — smtv‹договор›@‹домен›, домен из поля «Домен email для авто-аккаунтов» (IPTV_ACCOUNT_EMAIL_DOMAIN, по умолчанию smit34.ru; несуществующие домены панель провайдера отклоняет).

Привязка пакета в карточке услуги

В модалке услуги типа «IP телевидение» есть вкладка IPTV — выбор провайдера и пакета. Связь «услуга ↔ пакет» можно задавать прямо из карточки услуги (не только на странице Пакеты).

Вкладка IPTV в услуге
Вкладка IPTV в услуге

На карточке клиента

На вкладке «Услуги» клиента в колонке «Примечание» для IPTV-услуги показывается «📺 провайдер: пакет», для трафика — «⚡ N Мбит/с» (макс. скорость CEIL_IN). У IPTV-услуги — бейдж «провайдер», открывающий модалку диагностики (сводка/пакеты/аккаунты/журнал).

Примечания услуг клиента
Примечания услуг клиента

Слайд-панель клиента: блок «Услуги» и IPTV-сайдбар

В слайд-панели клиента (открывается кликом по имени) после блока «Последняя сессия» добавлен аккордеон «Услуги» — список услуг с иконкой по типу, примечанием (провайдер/скорость) и ценой. При открытии со страницы аккаунтов аккордеон автоматически разворачивается.

Слайд-панель: блок Услуги
Слайд-панель: блок Услуги

У IPTV-услуги — кнопка «Провайдер», открывающая поверх вложенный IPTV-сайдбар (сводка, активные пакеты, аккаунты у провайдеров с отметкой «подтверждён», журнал запросов).

IPTV-сайдбар
IPTV-сайдбар

ЛК и мобильные

Настройки личного кабинета и мобильных приложений. Страница в админке разделена на 5 вкладок.

Вкладка «Обзор»

Сводка статуса ЛК: количество активных клиентов в личном кабинете за месяц, количество установок мобильного приложения, ссылки на сторы (Google Play / App Store), ссылка на сам ЛК и на админ-страницы HelpDesk.

ЛК и мобильные — обзор
ЛК и мобильные — обзор

Вкладка «Брендинг»

Фирменное оформление ЛК: логотип, цвет акцента, доменное имя (lk.example.ru), favicon, OG-теги для соцсетей. Эти данные применяются к ЛК отдельно от админки — у админки и у ЛК могут быть разные цвета и логотипы.

ЛК — брендинг
ЛК — брендинг

Вкладка «Функции»

Toggle-переключатели видимости разделов в ЛК. Каждый переключатель — это глобальное правило, видит ли его клиент. Например, выключив «Тариф», оператор скрывает у всех клиентов возможность сменить тариф самостоятельно.

ЛК — функции
ЛК — функции

Контролируемые функции: видимость тарифов и их смена, разрешение менять MAC-адрес, HelpDesk, история операций, обещанный платёж, реферальная программа, чат-AI и др.

Вкладка «Безопасность»

Параметры доступа в ЛК: разрешать ли вход только из сети оператора (когда клиент дома), автологин по IP без логина и пароля, запрет смены пароля клиентом (полезно при общем семейном договоре).

ЛК — безопасность
ЛК — безопасность

Вкладка «Мобильное»

Настройки мобильных приложений Android и iOS: текущая версия в сторе, минимальная версия для force-update (если клиент использует более старую — увидит диалог обновления), ссылки на стора, параметры push-уведомлений (Firebase).

ЛК — мобильное
ЛК — мобильное

Подробная документация — на отдельной странице

Описание возможностей ЛК, авторизация (Telegram/VK), настройки интеграций, AI-ассистент, push (Firebase), мобильные приложения Android и iOS — в разделе ЛК и мобильные.

Открыть документацию ЛК

Лицензия

Информация о действующей лицензии: количество разрешённых клиентов, дата окончания, тип (коммерческая / тестовая / OEM).

Лицензия
Лицензия

Подробная документация — на отдельной странице

Порядок поставки и продления, варианты оплаты, типичные проблемы — в разделе Лицензирование.

Модули и расширения

URL: /admin/settings/modules/ — каталог модулей биллинга: что включено, что доступно в вашем тарифе и что можно докупить. Сверху — две вкладки: «Модули СмИТ» (первопартийные модули) и «Маркетплейс» (расширения сторонних разработчиков). Рядом — поиск, переключатель автообновления и переходы в смежные разделы (Компоненты, Виджеты, Лицензия).

Каталог модулей: вкладки «Модули СмИТ / Маркетплейс», карточки с обложками, чипами тарифов и переключателями
Каталог модулей: вкладки «Модули СмИТ / Маркетплейс», карточки с обложками, чипами тарифов и переключателями

Карточка модуля

Каждый модуль показан карточкой с обложкой, номером версии (в правом верхнем углу), кратким описанием и чипами тарифов, в которые он входит. Управление:

Базовые модули. Ядро биллинга, Интернет-доступ (RADIUS), Отчёты и Карта сети помечены как «Базовый» — они входят во все тарифы, всегда включены и не переключаются.

Недоступные модули

Модули, не входящие в ваш тариф, отображаются полупрозрачными с приглушённой обложкой, замком и подписью «Доступно в тарифе: …». Их карточки видны — чтобы понимать, что даёт переход на старший тариф. Ссылка «Перейти на тариф →» ведёт в раздел Лицензия.

Окно модуля

Клик по названию или обложке открывает карточку модуля как в маркетплейсе. Сводка — в две колонки: слева обложка или обучающий ролик, под ним «Разработчик» и кнопка «Документация»; справа — категория, чипы тарифов и компактное описание. Ниже — вкладки:

Пустые вкладки скрываются автоматически. Каталог модулей приходит с сервера лицензий и кэшируется на 6 часов — при недоступности сервера карточки продолжают работать, но без обложек и описаний.

Окно модуля: слева ролик, «Разработчик» и «Документация»; справа описание; вкладки и блок «Зависит от модулей»
Окно модуля: слева обучающий ролик, «Разработчик» и «Документация»; справа категория, тарифы и описание; вкладки Возможности / Как это работает / Скриншоты / История версий и блок «Зависит от модулей»
Зависимости. Некоторые модули не работают в одиночку: например, «Голосовая связь» опирается на «Поддержку» и «CRM» (звонок превращается в тикет или сделку), «Автообзвон» — на «Голосовую связь», а «AI-ассистент» — на «Поддержку» для эскалации.

Виджеты-плагины

Каталог виджетов (/admin/settings/widgets/) устроен так же: вкладки «Виджеты СмИТ / Маркетплейс», карточки с обложками, поиск. Виджеты встраиваются в дашборды, карточку клиента, карточку сделки и сайдбар тикета; виджет привязан к модулю и доступен, только если этот модуль включён. Окно виджета открывается кликом по названию или обложке и повторяет структуру окна модуля: сводка в две колонки, вкладки Возможности / Как это работает / Скриншоты / История версий и блок «Зависит от модуля».

Каталог виджетов: вкладки «Виджеты СмИТ / Маркетплейс», карточки-источники лидов с обложками и переключателями
Каталог виджетов: вкладки «Виджеты СмИТ / Маркетплейс», карточки с обложками и переключателями
Окно виджета: сводка в две колонки, вкладки, блок «Зависит от модуля»
Окно виджета: та же структура, что у модуля — сводка, вкладки и блок «Зависит от модуля»

Компоненты интерфейса

Кнопка «Компоненты» ведёт в каталог /admin/settings/components/ — живой перечень UI-компонентов SmitUI (таблицы, бейджи, фильтры, панели, селекты) с поиском и категориями; у каждого — краткое описание и живой пример. Под заголовком — переходы в Модули, Виджеты и Лицензию.

Компоненты интерфейса: категории, поиск и карточки компонентов
Компоненты интерфейса: категории, поиск и карточки компонентов с живыми примерами
На мобильном. Заголовки страниц («Модули», «Виджеты», «Компоненты интерфейса») выводятся компактно в одну строку; редко нужные элементы («Автообновление», «Обновить каталог») скрыты, а переходы в смежные разделы стоят в одну линию на всю ширину.