Модуль на сервере BILLmanager (v2)
Модуль SupportHub ставится на сервер BILLmanager, сам отправляет новые сообщения в SupportHub и выполняет действия операторов через локальный сокет панели. Доступы к BILLmanager никуда не передаются.
Установка и настройка
- 1Создайте канал в SupportHub
НастройкиКаналыДобавить каналBillManager 6. В поле «Способ интеграции» выберите «Модуль на сервере BM (без передачи доступов)», укажите «URL сервера BillManager» (достаточно адреса панели, например
my.example.com) и создайте канал.Всё, что понадобится дальше, мастер показывает сразу после выбора способа: команду установки, «URL SupportHub» и «Секрет подписи». После создания канала они есть в его карточке на вкладке «Общие».
- 2Установите модуль на сервер BILLmanager
Выполните команду из мастера на сервере BILLmanager под root. Она скачает модуль, распакует его и запустит установщик:
bashcurl -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Заведите системного оператора
Ответы из SupportHub пишутся в обращения не от живого сотрудника, а от служебной учётки. В BILLmanager добавьте сотрудника с логином
supporthub(или своим — тогда укажите его в шлюзе) с правами сотрудника. Пароль не важен: модуль работает через локальный сокет панели, а не по паролю. Пока такого сотрудника нет, карточка канала в SupportHub показывает красное предупреждение «Не найден оператор …» с подсказкой, что сделать. - 4Создайте API-ключ в SupportHub
НастройкиAPI ключиСоздать ключ. Ключ показывается один раз — скопируйте его сразу. Это «Токен воркспейса» для шлюза.
- 5Добавьте шлюз SupportHub в BILLmanager
В панели BILLmanager добавьте шлюз SupportHub в разделе шлюзов сообщений (модуль сам подсказывает путь «Integration → Message gateways → SupportHub»), включите его и заполните поля. Выключенный шлюз модуль не видит: синхронизация стоит, а SupportHub получает отказ.
https://api.support.forestsnet.com. Без пути: модуль сам добавляет /api/integrations/billmgr/events. Поле заранее заполнено адресом облака SupportHub — на своей инсталляции замените его. Файлы к ответам модуль скачивает только с адресов под этим URL.| Поле | Тип | По умолчанию | Описание |
|---|---|---|---|
| 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. |
- 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 должен быть включён — у выключенного события не принимаются; сообщения модуль доставит после включения, а оценки за это время могут потеряться. Помните, что обращение, начатое сотрудником, появится только после ответа клиента.…/mancgi/supporthub_webhook). Если панель за Cloudflare или WAF, пропустите POST-запросы SupportHub на этот путь.check — operator login: … [MISSING]. Недоставленные ответы SupportHub повторяет каждые 3 минуты в течение суток, так что после создания учётки они дойдут сами — отправлять их заново не нужно.| Поле | Тип | По умолчанию | Описание |
|---|---|---|---|
| Сообщения не приходят | поллер | — | Запустите /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. |

