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

Лицензирование Smit Billing

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

Система лицензирования СмИТ Биллинг состоит из двух компонентов: центрального сервера лицензий и раздела «Лицензия» в каждой инсталляции биллинга. Лицензия привязана к домену инсталляции и проверяется онлайн.

Архитектура: биллинг пингует https://license.billing.smit34.ru/api/verify/, передавая ключ и домен. Сервер возвращает данные лицензиата. Ответ кешируется на 1 час — кратковременная недоступность сервера не влияет на работу системы.
Раздел только для сотрудников

Для доступа введите пароль.

Сервер лицензий

Как лицензия попадает в биллинг

Лицензия не «зашита» в код: биллинг спрашивает у сервера лицензий, что клиенту разрешено, и включает ровно эти модули. Связь односторонняя — сервер лицензий сам в биллинг не ходит.

flowchart LR
    subgraph LS["Сервер лицензий"]
        CL["Клиент
и договор"] PL["Тариф:
состав модулей"] KEY["Лицензионный
ключ"] end subgraph B["Биллинг клиента"] CHK["Проверка ключа
раз в сутки"] CAT["Каталог модулей
кеш 6 часов"] GATE["Гейт модуля
is_enabled(код)"] UI["Разделы, вкладки,
задачи по расписанию"] end CL --> PL --> KEY KEY -->|"X-License-Key"| CHK CHK --> CAT --> GATE --> UI GATE -->|"не оплачен
или выключен"| OFF["Раздел скрыт"]
Две независимые причины, почему модуля нет на экране: он не входит в оплаченный тариф либо выключен оператором на странице «Модули». В карточке модуля видно и то, и другое.
Страница «Лицензия и расширения»: слева лицензия, расширения, документы и расход, справа ключ, поддержка, организации и персонал
Раздел «Настройки → Лицензия и расширения»: слева — что оплачено и чем занята инсталляция, справа — ключ, поддержка и доступ.
24модуля в каталоге
4входят во все тарифы
22виджета-плагина
6 чкеш каталога
ПараметрЗначение
URLhttps://license.billing.smit34.ru
API info/api/info/

Выдача новой лицензии

Каталог модулей: карточки с обложкой, версией и тарифами, кнопка «Подробнее»
Каталог модулей в биллинге. «Подробнее» открывает карточку с возможностями, порядком работы, скриншотами и историей версий.
  1. Открыть Добавить лицензию
  2. Заполнить поля:
ПолеОписаниеПример
ДоменFQDN инсталляции (без https://)billing.клиент.ru
ОрганизацияПолное юридическое наименованиеООО «Ромашка»
ИНН10 или 12 цифр3400000000
КПП9 цифр340001001
Юридический адресПолный почтовый адрес400000, г. Волгоград, ул. Примерная, д. 1, оф. 1
Контактное лицоДолжность и ФИОГенеральный директор И.И. Иванов
Действует доДата окончания или пустопусто = бессрочно
Макс. клиентовЛимит или 00 = без ограничений

После сохранения ключ генерируется автоматически в формате SMIT-XXXXXXXX-XXXXXXXX-XXXXXXXX и отображается в карточке с кнопкой «Копировать».

Активация лицензии в биллинге

Клиент открывает Настройки → Лицензия (/admin/settings/license/):

  1. Ввести полученный ключ в поле «Лицензионный ключ» (кнопка 👁 показывает введённое значение)
  2. URL сервера лицензий уже заполнен: https://license.billing.smit34.ru
  3. Нажать «Сохранить и проверить»
  4. Страница обновится — статус изменится на ✅ Лицензия действующая
Страница лицензии в настройках биллинга
Страница лицензии в настройках биллинга
Активированная лицензия — данные лицензиата
Активированная лицензия — данные лицензиата

Управление лицензиями

ДействиеКак выполнить
ДеактивироватьСнять галочку «Активна» в карточке или выбрать действие «Деактивировать» в списке
ПродлитьИзменить поле «Действует до» в карточке
Сменить ключДействие «Сгенерировать новый ключ» в списке (старый немедленно перестаёт работать)
Просмотр статистикиПоля «Последняя проверка» и «Проверок» — показывают активность инсталляции
Смена ключа через действие «Сгенерировать новый ключ» немедленно инвалидирует старый. Клиент не сможет войти в раздел «Лицензия» до ввода нового ключа. Заранее уведомите клиента.

Каталог модулей: версии, changelog, зависимости

Сервер лицензий ведёт каталог из 20 модулей с версиями и историей изменений. У каждого модуля: категория, иконка, текущая версия, changelog по версиям и зависимости (например, «AI-ассистент» требует модуль «Поддержка», «Автообзвон» — «IP-телефонию»). Версия модуля показывается бейджем на карточках при настройке тарифа.

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

Виджет — это zip-пакет, который клиент ставит из каталога кнопкой, без обновления биллинга. Внутри только то, что выполняется в браузере:

ФайлОбязателенНазначение
widget.jsonдаМанифест: slug, name, version, entry
widget.jsдаКод виджета (значение entry)
widget.cssнетОформление, подключается автоматически
картинки, шрифты, JSONнетРесурсы виджета

Из пакета распаковываются только фронтовые файлы: .js, .css, .json, изображения и шрифты. Серверный код игнорируется — он не выполнится, даже если попадёт в архив. Пути проверяются на выход за пределы каталога, целостность — по SHA-256, манифест — при загрузке на сервер лицензий. Файлы раздаются по /media/widgets/<slug>/<версия>/.

Каталог инсталляция получает по лицензионному ключу: GET /api/gw/widgets/. Виджет виден клиенту, если он активен и входит в его тариф (пустой список тарифов — значит всем).

Точки монтирования

Точка задаёт, куда виджет попадёт и по какому договору работает.

ТочкаГде появляетсяЧто рисует
crm_dashboardCRM — дашбордКарточку в общей полосе виджетов
kanbanCRM — над колонками канбана
deal_cardCRM — карточка сделки
dashboardБиллинг — дашборд
abonent_cardКарточка клиента
support_dashboardПоддержка — дашборд
ticket_cardКарточка обращения, сайдбар
crm_recipe—Шаблон воронки, не интерфейс
lk_login_bgЛичный кабинет — входФоны страницы, см. ниже
ui_iconsПанель — все страницыТолько файлы: меняет вид того, что уже есть

Карточные виджеты получают контейнер [data-smit-widget="<slug>"] и регистрируются через window.SmitWidget.register(slug, fn). Настройки виджета приходят в data-settings.

Виджет фонов страницы входа

Виджет точки lk_login_bg не рисует блок на странице, а приносит набор вариантов оформления. Оператор выбирает вариант в Настройки ЛК → Брендинг → Страница входа, рядом со встроенными фонами; выбранный вариант записывается как wx:<идентификатор>.

Кроме widget.json и widget.js пакет содержит backgrounds.json — список вариантов:

{
  "schema": "smit.lk_backgrounds/1",
  "backgrounds": [
    {
      "id": "silk",
      "name": "Шёлк",
      "hint": "Перетекающий градиент, ведомый шумом",
      "engine": "webgl"
    }
  ]
}

На странице входа биллинг выводит один слой и подключает файлы виджета:

<div class="lk-bgfx lk-bgfx-widget" data-smit-lkbg="silk" data-brand="#5BA89D"></div>

Код виджета сам находит такие элементы и рисует в них фон. Тот же слой используется для превью в настройках, поэтому оператор видит настоящий фон, а не картинку с ним.

Что обязан делать фоновый виджет:

Виджет оформления интерфейса

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

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

Площадка: чужие виджеты и деньги

Виджет может быть нашим или сторонним. Сторонний публикуется как продукт площадки: у него есть автор, цена в месяц, бесплатный период и состояние модерации. Клиент видит такие продукты на страницах Настройки → Модули и Настройки → Виджеты и подключает кнопкой: биллинг сообщает об установке на сервер лицензий и тут же ставит сам пакет.

Доля автора по умолчанию — 70% подписки; счётчик установок и начисления ведёт площадка, а не инсталляция клиента. Заявка на подключение — license.billing.smit34.ru/developers/.

API проверки лицензии

Лицензию можно проверить напрямую через браузер или curl:

GET https://license.billing.smit34.ru/api/verify/?key=SMIT-XXXX-XXXX-XXXX&domain=клиент.ru

Ответ при действующей лицензии:

{
  "valid": true,
  "status": "Действующая",
  "product": "Smit Billing",
  "company": "ООО «Ромашка»",
  "inn": "3400000000",
  "kpp": "340001001",
  "domain": "адрес вашей установки",
  "issued_at": "2026-04-08",
  "expires_at": null,
  "max_abonents": 0
}

expires_at: null означает бессрочную лицензию. При valid: false поле error содержит причину отказа.

Порядок поставки и учёта программного обеспечения

Процедура приобретения СмИТ Биллинг:

  1. Заявка — отправьте запрос на sales@smit34.ru с указанием домена инсталляции, планируемого числа клиентов и необходимых модулей.
  2. Коммерческое предложение — менеджер подготовит КП со стоимостью лицензии и ежегодной платой за поддержку.
  3. Договор и оплата — заключается договор поставки ПО. Оплата по безналичному расчёту.
  4. Поставка — после оплаты предоставляется: лицензионный ключ, Docker-образы, документация, доступ к обновлениям.
  5. Активация — клиент вводит ключ в Настройки → Лицензия. Система онлайн проверяет ключ на сервере лицензий.
  6. Учёт — лицензия регистрируется в реестре ПО. Поставляется акт приёма-передачи неисключительных прав.

Не проходит оплата