← Интеграции

FOSSBilling + AlertWeb

Автоматическая выдача VPS клиентам FOSSBilling через REST API панели AlertWeb — по той же схеме, что BILLmanager и WHMCS.

Обзор

После оплаты заказа модуль вызывает API панели: создаёт VM из шаблона/пресета, выделяет IP из пула, сохраняет UUID и адрес в услуге FOSSBilling. При suspend/cancel — останавливает или удаляет VM.

Исходники: integrations/fossbilling/alertweb-hosting/modules/Servicealertweb/

Установка

  1. Скопируйте modules/Servicealertweb в modules/ корня FOSSBilling
  2. Extensions → Servicealertweb → Activate
  3. В настройках модуля укажите URL API и API-ключ панели
  4. Создайте продукты типа Hosting с опциями: шаблон ОС, пресет CPU/RAM/диск, кластер

Параметры подключения

ПараметрПример
API URLhttps://panel.example.ru/api
URL панелиhttps://panel.example.ru (ссылка клиенту, консоль)
API tokenAuthorization: Bearer … или ключ alertweb_*
Cluster IDКластер для размещения VM и IPAM

Права ключа: vms.create, vms.read, vms.destroy, vms.lifecycle, ipam.allocate.

Продукты VPS в FOSSBilling

Тип продукта — хостинг/VPS. Настраиваемые опции заказа:

  • Шаблон ОС — из GET /templates/ready
  • Пресет (vCPU, RAM, диск) — из GET /vm-presets
  • Доп. IP — опция заказа → allocate-ip

Жизненный цикл услуги

Событие FOSSBillingAlertWeb API
Активация заказа (оплачен)POST /vms → ожидание job → IP
SuspendPOST /vms/{uuid}/actions/admin-stop
UnsuspendPOST /vms/{uuid}/actions/admin-unlock
Отмена / удалениеDELETE /vms/{uuid}
Смена тарифаPOST /vms/{uuid}/resize

UUID VM хранится в custom field или service_config заказа.

Выдача IP

Модуль запрашивает пулы кластера (GET /ipam/pools?cluster_id=), выбирает пул со свободными адресами и вызывает POST /vms/{uuid}/allocate-ip. Без IP услуга не активируется.

Маппинг тарифов

Аналогично модулю BILLmanager:

  • Опции продукта FOSSBilling ↔ ID пресета и шаблона в панели
  • Доп. vCPU/RAM/диск — через resize после создания или расширенный пресет

Мультиаккаунтность

Владелец VM в панели определяется владельцем API-токена. Для изоляции клиентов: отдельный API-ключ на клиента или отдельный аккаунт панели на тарифный план.

См. также BILLmanager (те же API-вызовы) · REST API