Интеграция Hetzner API реселлера с BillManager 5

1. Скачиваем файлы бота и распаковываем их
Бот может быть запущен под Linux/Windows (возможно Mac, я не проверял). Единственное требование для его запуска — наличие JRE (Java Runtime Environment) в системе.

Скачиваем файл: hetzner.abcd.cloud/files/billmgr5-integration.zip

Распаковываем его и видим что-то вроде:


  • systemd — шаблоны файлов, чтобы запустить бота как фоновый сервис, через systemd
  • billbot.jar — сам бот
  • config.yml — настройки, которые необходимо поменять под себя, перед запуском бота
  • start.bat/start.sh — файлы для простого запуска бота под Windows/Linux

Настраиваем BillManager
В минимальном варианте, нам надо только добавить хотя бы один тариф и обработчик/тип продукта для него:

2.1 Добавляем тип продукта:
Открываем в BillManager 5 меню «Продукты > Типы продуктов» и жмём «Создать».

В открывшемся окне заполняем отмеченные поля и жмём «ОК»:


В поле «1» может быть любое короткое значение. Это значение не отображается клиенту и является системным наименованием товара. Запомните его, т.к. оно понадобится при настройке бота.

2.2 Добавляем обработчик услуг
Открываем меню «Интеграция > Обработчики услуг» и жмём «Создать».

На шаге «Тип продукта» выбираем созданный в 2.1 тип.

«Модуль обработки» — «Ручная обработка»:

«Настройка интеграции» — «Не создавать задачу на продление»:


В параметрах обработчика указываем люббой ДЦ, любое имя обработчика и в поле «Ответственный» — отдел, в котором будет аккаунт (сторудник), под которым бот будет авторизовываться в биллинге.

2.3 Добавляем тарифный план
«Продукты > Тарифные планы», кнопка «Создать».

«Тип продукта» — добавленный в 2.1 тип:

Настраиваем параметры тарифа:


  • Обработчик услуг — добавленный в 2.2 обработчик.
  • Внутреннее наименование — любое.
  • В поле «Единоразово» — на сколько покупка данного тарифа будет пополнять баланс панели

Жмём «ОК».

Теперь можно создать ещё несколько тарифных планов под разные суммы пополнения:


3. Получаем токен авторизации в панели
Чтобы бот мог управлять пользователями панели, ему нужен токен авторизации администратора, с максимальным сроком действия (мы же не хотим, чтобы бот отвалился через месяц).

Для этого, заходим в свой инстанс панели:

Жмём на кнопку информации:

Открываем страницу с API:

На странице API жмём «Auth > Login > Try it out»:

В «Request body» подставляем логин/пароль админа панели и максимальное время действия токена — 315360000.

Жмём «Execute».


Из поля «Server response» сохраняем себе значение хедера «authorization». Это токен авторизации, который будет использован при настройке бота.


4. Настраиваем бота под себя
Открываем config.yml и видим что-то вроде:


Несмотря на обилие настроек, тут всё просто.

  • billing.url — адрес вашего биллинга, с постфиксом /billmgr
  • billing.login — логин аккаунта сотрудника, под которым будет авторизовываться в биллинге запущеный бот
  • billing.password — пароль аккаунта сотрудника
  • panel.url — адрес вашей панели Hetzner-реселлера
  • panel.token — токен авторизации, полученный в пункте 3
  • mail — настройки почты, чтобы бот мог оповещать вас об успешных/проваленных задачах
  • mail.receivers — на какие email-адреса слать отчёты об обработке задач
  • replenisment — обработка задач о пополнении баланса (заказа тарифов из пункта 2.3)
  • replenishment.productCodes — здесь код продукта, выбранный в пункте 2.1 («Внутреннее имя»)
  • registration — автоматическая регистрация в панели всех, кто зарегистрировался в биллинге

5. Тестируем результат
После выставления настроек, запускаем бота с помощью start.bat/start.sh:

Если настройки выставлены верно, видим что-то вроде:


Бот начал следить за биллингом. Теперь, необходимо приобрести добавленный ранее тариф в биллинге.

Заходим в биллинг под тестовым клиентом:


Выбираем созданную в пункте 2 услугу и ждём «Заказать»:



Приобретаем услугу:





Бот обрабатывает задачу, присылая вам письмо о результате обработки:





Если данный тест прошёл успешно, можете также проверить авторегистрацию, добавив пользователя в биллинг и убедившись что бот зарегистрировал его в панели (если в конфиге бота авторегистрация включена).
Выделенные серверы OVH
Выделенные серверы Hetzner

0 комментариев

Оставить комментарий