Интеграция через ShellScripts
Настройка интеграции
Интеграция настраивается в процессе создания обработчика услуг в BILLmanager.
Чтобы создать обработчик услуг, перейдите в раздел Интеграция → Обработчики услуг → кнопка Создать:
- Тип продукта. Интеграция через shell-скрипты доступна для типов продукта, которые были созданы вручную, а также для виртуального хостинга.
- Модуль обработки — выберите ShellScripts.
- Настройка интеграции. Укажите данные для интеграции:
- IP-адрес — адрес сервера, на котором выполняется обработка услуг;
- Есть пароль для root — флаг определяет способ авторизации на сервере с правами суперпользователя:
- неактивен — использовать публичный ssh ключ. Помещается на сервер, в директорию /root/.ssh/authorized_keys;
- активен — использовать пароль учетной записи суперпользователя (root). Указывается в поле Пароль.
- Путь к скриптам — директория на сервере, в которой хранятся управляющие скрипты.
- Параметры обработчика услуг. Настройте внутренние (в пределах BILLmanager) параметры обработчика услуг.

Требования к скриптам
Для работы модуля обработки необходимо наличие следующих скриптов:
- open.sh — сценарий описывающий процесс открытия услуги.
- resume.sh — сценарий описывающий процесс возобновления услуги после её остановки.
- suspend.sh — сценарий описывающий процесс временной остановки услуги.
- close.sh — сценарий описывающий процесс закрытия услуги.
- setparam.sh — сценарий описывающий процесс изменения параметров заказа клиентом. Наличие данного скрипта не является обязательным.
Скрипт открытия услуги
Скрипт open.sh должен принимать следующие параметры:
- Значения дополнительных ресурсов тарифа в формате --addon=value. Где addon — внутреннее наименование ресурса, value — заказываемое значение ресурса.
- Значения параметров тарифного плана в формате --param=value. Где param — внутреннее наименование параметра, value — заказываемое значение параметра.
- Имя и пароль учетной записи, сгенерированные биллинговой платформой. Формат параметров: --user=<username> и --password=<password>.
При успешном открытии услуги, скрипт должен завершиться с кодом возврата 0 и вернуть строку, которая:
- Начинается со слова OK (латинские символы).
- Перечисляет все выходные параметры, разделяя их пробелами. Формат вывода параметров: --param1=value --param2=value.
- Содержит уникальный идентификатор услуги - параметр id. В дальнейшем по этому параметру будет выполняться обработка услуги.
Все выходные параметры скрипта сохраняются в базе данных BILLmanager, в таблицу itemparam. Параметр id сохраняется под именем externalid. Также, в эту таблицу записывается имя и пароль учетной записи.
Пример open.sh
Скрипты взаимодействия с услугой
Скрипты resume.sh, suspend.sh и close.sh должны принимать следующие параметры:
- Уникальный идентификатор услуги в формате --id=<externalid>.
- Имя учетной записи, сгенерированное при открытии услуги. Формат параметра: --user=<username>.
При успешном выполнении действия, скрипт должен завершиться с кодом возврата 0 и вернуть строку, которая начинается со слова OK (латинские символы).
Пример resume.sh
Пример suspend.sh
Пример close.sh
Скрипт изменения параметров услуги
Скрипт setparam.sh должен принимать следующие параметры:
- Значения дополнительных ресурсов тарифа в формате --addon=value. Где addon — внутреннее наименование ресурса, value - заказываемое значение ресурса.
- Значения параметров тарифного плана в формате --param=value. Где param — внутреннее наименование параметра, value — заказываемое значение параметра.
- Идентификатор услуги и имя учетной записи, сгенерированое при открытии услуги. Формат параметров: --id=<externalid> и --user=<username>.
При успешном изменении параметров, скрипт должен завершиться с кодом возврата 0 и вернуть строку, которая начинается со слова OK (латинские символы).