BillManager: модуль (v2)
Для админов / BillManager

Модуль на сервере BILLmanager (v2)

Модуль SupportHub ставится на сервер BILLmanager, сам отправляет новые сообщения в SupportHub и выполняет действия операторов через локальный сокет панели. Доступы к BILLmanager никуда не передаются.

Установка и настройка

  1. 1
    Создайте канал в SupportHub

    НастройкиКаналыДобавить каналBillManager 6. В поле «Способ интеграции» выберите «Модуль на сервере BM (без передачи доступов)», укажите «URL сервера BillManager» (достаточно адреса панели, например my.example.com) и создайте канал.

    Всё, что понадобится дальше, мастер показывает сразу после выбора способа: команду установки, «URL SupportHub» и «Секрет подписи». После создания канала они есть в его карточке на вкладке «Общие».

  2. 2
    Установите модуль на сервер BILLmanager

    Выполните команду из мастера на сервере BILLmanager под root. Она скачает модуль, распакует его и запустит установщик:

    bash
    curl -fsSL https://api.support.forestsnet.com/api/integrations/billmgr/module.tar.gz -o supporthub-billmgr-module.tar.gz \
      && tar xzf supporthub-billmgr-module.tar.gz && sudo ./install.sh

    Установщик ставит нужные BILLmanager библиотеки Python (billmanager-plugin-python-libs, через dnf, если их ещё нет), кладёт файлы модуля, создаёт служебные таблицы, расписание синхронизации (раз в минуту) и просит панель перечитать настройки.

  3. 3
    Заведите системного оператора

    Ответы из SupportHub пишутся в обращения не от живого сотрудника, а от служебной учётки. В BILLmanager добавьте сотрудника с логином supporthub (или своим — тогда укажите его в шлюзе) с правами сотрудника. Пароль не важен: модуль работает через локальный сокет панели, а не по паролю. Пока такого сотрудника нет, карточка канала в SupportHub показывает красное предупреждение «Не найден оператор …» с подсказкой, что сделать.

  4. 4
    Создайте API-ключ в SupportHub

    НастройкиAPI ключиСоздать ключ. Ключ показывается один раз — скопируйте его сразу. Это «Токен воркспейса» для шлюза.

  5. 5
    Добавьте шлюз SupportHub в BILLmanager

    В панели BILLmanager добавьте шлюз SupportHub в разделе шлюзов сообщений (модуль сам подсказывает путь «Integration → Message gateways → SupportHub»), включите его и заполните поля. Выключенный шлюз модуль не видит: синхронизация стоит, а SupportHub получает отказ.

URL SupportHub
Тип: адресПо умолчанию: —
Базовый адрес API, как его показывает SupportHub в поле «URL SupportHub», например https://api.support.forestsnet.com. Без пути: модуль сам добавляет /api/integrations/billmgr/events. Поле заранее заполнено адресом облака SupportHub — на своей инсталляции замените его. Файлы к ответам модуль скачивает только с адресов под этим URL.
Токен воркспейса
Тип: строкаПо умолчанию: —
API-ключ из шага 4.
Секрет вебхука
Тип: строкаПо умолчанию: —
«Секрет подписи (webhook secret)» из карточки канала. Им подписываются события в обе стороны.
Логин оператора для ответов
Тип: строкаПо умолчанию: supporthub
Служебная учётка из шага 3.
Разрешить показ пароля VPS в SupportHub
Тип: галочкаПо умолчанию: вкл
Выключено — SupportHub не получает пароль услуги, строки пароля в карточке нет.
Разрешить SSO-вход в ВМ клиента из SupportHub
Тип: галочкаПо умолчанию: вкл
Выключено — модуль отказывает во входе в панель VM за клиента.
Разрешить старт/стоп VPS из SupportHub
Тип: галочкаПо умолчанию: вкл
Выключено — модуль отказывает в запуске, остановке и перезагрузке VPS.
Разрешить продление и бонусы из SupportHub
Тип: галочкаПо умолчанию: выкл
Включено — макросы SupportHub могут бесплатно продлить услугу клиента тикета и начислить бонус на его баланс. С версии 1.0.0-14.
  1. 6
    Проверьте

    На сервере BILLmanager:

    bash
    /usr/local/mgr5/sbin/supporthub_sync --command check

    Команда покажет версию модуля, настройки шлюза, найден ли системный оператор, какие действия разрешены, позицию синхронизации, отделы BILLmanager и ответ SupportHub на /health. Если шлюз настроен и системный оператор найден, последняя строка — OK — the module answers as 'supporthub'. Токен и секрет команда проверяет только на наличие (set / MISSING), а недоступный /health на итог не влияет — поэтому OK ещё не значит, что события доходят.

    Окончательная проверка — сообщение от клиента в BILLmanager: оно должно появиться во «Входящих». Сообщение сотрудника для проверки не подходит — обращения, начатые сотрудником, SupportHub не заводит, пока не ответит клиент. Старые обращения при установке не загружаются: синхронизация начинается с текущего последнего сообщения, а старое обращение появится, когда клиент напишет в него снова (вместе с последними сообщениями переписки). Ещё можно открыть в SupportHub карточку канала: на вкладке «Общие» блок «Модуль на BILLmanager» показывает версию модуля, оператора для ответов и галочки шлюза. Если что-то не так, под блоком будет предупреждение с подсказкой; исправив, нажмите «Проверить».

Отделы

Модуль передаёт отдел BILLmanager, в котором лежит обращение, и тикет попадает в отдел по сопоставлению на вкладке «Отделы» карточки канала — так же, как при опросе API. Список отделов BILLmanager вкладка получает у модуля. Если модуль устарел, не отвечает или отклонил запрос, вкладка скажет об этом, а номер отдела BILLmanager можно ввести вручную (номера показывает команда check). Модуль старше 1.0.0-13 отдел не передаёт: для такого канала действует только строка fallback.

Обновление

Выполните ту же команду установки — она есть в карточке канала на вкладке «Общие». Настройки шлюза и позиция синхронизации сохраняются. Обновляйте модуль вместе с SupportHub: подгрузка истории обращения, закрытие из SupportHub, сверка статусов, передача отделов и галочки шлюза в карточке канала работают только в свежих версиях модуля. Блок «Модуль на BILLmanager» сравнивает установленную версию с той, что раздаёт SupportHub, и предупреждает «Модуль устарел», если установленная старше. Модуль старше 1.0.0-13 своей версии не сообщает и тоже считается устаревшим. Если модуль у вас стоит RPM-пакетом billmanager-plugin-supporthub, обновляйте его тоже пакетом (rpm -Uvh), чтобы не смешивать файлы пакета и установщика; через SupportHub пакет не раздаётся. В версии 1.0.0-14 у шлюза появилась галочка «Разрешить продление и бонусы»: ставьте пакет без --noscripts (или перезапустите панель командой /usr/local/mgr5/sbin/mgrctl -m billmgr exit), чтобы BILLmanager показал новое поле. Модуль и SupportHub можно обновлять в любом порядке: со старым модулем карточка клиента, запуск и остановка, вход в VM, ответы и закрытие работают как раньше, а перезагрузка, продление и бонусы не запускаются — SupportHub пишет «обновите модуль SupportHub на сервере BILLmanager до 1.0.0-14».

Как понять, что модуль работает

  • Новые сообщения из BILLmanager появляются во «Входящих» в течение минуты.
  • В карточке канала на вкладке «Общие» блок «Модуль на BILLmanager» показывает актуальную версию и найденного оператора, и предупреждений под ним нет. Если модуль устарел, не отвечает, отклонил запрос или не нашёл оператора, там будет написано, что не так и как это исправить.
  • В тикете справа загружается карточка клиента. Если модуль недоступен, вместо неё будет ошибка.

Если что-то не работает

Сообщения не приходят
Тип: поллерПо умолчанию: —
Запустите /usr/local/mgr5/sbin/supporthub_sync --command check: шлюз должен быть настроен и включён, проверьте токен, «URL SupportHub» (базовый, без пути) и строку SupportHub /health. Канал в SupportHub должен быть включён — у выключенного события не принимаются; сообщения модуль доставит после включения, а оценки за это время могут потеряться. Помните, что обращение, начатое сотрудником, появится только после ответа клиента.
«Модуль отклонил запрос»
Тип: секретПо умолчанию: —
Секрет вебхука в шлюзе не совпадает с «Секретом подписи» в карточке канала — или шлюза SupportHub в BILLmanager нет либо он выключен.
«Модуль устарел»
Тип: версияПо умолчанию: —
Установленная версия старше той, что раздаёт SupportHub, или модуль не сообщает версию (так ведут себя все версии до 1.0.0-13). Обновите модуль той же командой установки.
«Модуль не отвечает»
Тип: адресПо умолчанию: —
Проверьте «URL вебхука модуля» на вкладке «Общие» (должен вести на …/mancgi/supporthub_webhook). Если панель за Cloudflare или WAF, пропустите POST-запросы SupportHub на этот путь.
Ответы не появляются в BILLmanager
Тип: операторПо умолчанию: —
Нет учётки системного оператора из шага 3 или в шлюзе указан другой логин. Карточка канала покажет красное предупреждение «Не найден оператор …», а check — operator login: … [MISSING]. Недоставленные ответы SupportHub повторяет каждые 3 минуты в течение суток, так что после создания учётки они дойдут сами — отправлять их заново не нужно.
Закрытие не дошло до BILLmanager
Тип: закрытиеПо умолчанию: —
Закрытие SupportHub сам не повторяет. Закройте обращение в панели BILLmanager.
Была ли страница полезной?