Современные проекты все больше нуждаются в автоматизации в создании сайтов, управлении пользователями, выпуске SSL-сертификатов, и интеграции с финансовыми системами и CRM. API ispmanager помогает автоматизировать эти задачи.

В этой статье мы разберем архитектуру API ispmanager, принципы работы, и практические примеры использования.

 

Архитектура API ispmanager и принципы взаимодействия

API ispmanager построен по принципу HTTP-взаимодействия, где каждый запрос соответствует определенной функции панели с передачей параметров. Интерфейс панели и API по сути используют одну и ту же логику, реализованную разными способами.

Вот так работает API ispmanager:

  1. Запрос отправляется на адрес панели (https://server:1500 или https://server:1500/ispmgr);
  2. Указывается имя функции (func=…);
  3. Передаются параметры операции;
  4. В ответ возвращается структурированный результат (XML или JSON).

Таким образом, API полностью отражает действия, доступные через веб-интерфейс.

 

Механизмы аутентификации и управления доступом

Для работы с API требуется аутентификация.

Поддерживаются стандартные механизмы аутентификации такие как авторизация по логину и паролю, использование ключей, и IP-фильтрация.

Доступ к API определяется правами и разрешениями пользователями. Если у аккаунта нет прав на выполнение операции в интерфейсе, то через API это тоже сделать будет нельзя.

 

Поддерживаемые HTTP-методы и особенности REST-взаимодействия

API ispmanager работает поверх HTTP/HTTPS и поддерживает:

  • GET — для получения данных;
  • POST — для изменения состояния или выполнения операций.

Хотя API не соответствует REST в классическом понимании (вызовы строятся через параметр func), логика остаётся REST-подобной: каждый запрос соответствует конкретному действию.

Пример структуры запроса:

https://server:1500/ispmgr?func=webdomain

 

Выполнение операций от имени другого пользователя (delegation access)

API позволяет выполнять действия в панели от имени другого пользователя. Это особенно удобно при настройке автоматизации и интеграции со способами оплаты.

Для того, чтобы выполнять операции от имени другого пользователя, нужно указать параметры пользователя (например, su=username). Панель проверяет права и выполняет операцию через указанного пользователя.

 

Локализация ответов API и управление языком интерфейса

API поддерживает локализацию и управление языком интерфейса через соответствующие параметры (по типу lang=ru). Такие функции особенно полезны при настройке интерфейсов, где важно получать данные на конкретном языке.

 

Структура и форматы вывода данных в ответах API

Вывод данных API может выполнять в двух форматах: XML (по умолчанию) и JSON (при указании соответствующего параметра).

Структура ответа зависит от типа запроса. Это может быть список, форма для редактирования, или результат операции.

Практическая работа с API ispmanager

Давайте рассмотрим как работать с API ispmanager на практике.

 

Локальные вызовы к панели управления без внешнего подключения

Если скрипт выполняется на том же сервере, где установлена панель, можно использовать локальные вызовы, которые являются более безопасными и быстрыми, поскольку не требуют внешнего HTTPS-подключения. Их можно использовать через утилиту mgrctl.

Например:

/usr/local/mgr5/sbin/mgrctl -m ispmgr webdomain

 

Примеры получения списка сайтов через API ispmanager

Функция webdomain показывает список доменов, созданных в панели.

 

Использование curl для отправки запросов

Пример запроса через curl:

curl-k”https://server:1500/ispmgr?func=webdomain&out=json” \ -u login:password

Здесь:

  • u — передача учётных данных,
  • out=json — получение ответа в JSON.

 

Работа с консольной утилитой mgrctl

На сервере можно использовать утилиту mgrctl, которая взаимодействует с панелью напрямую в таком виде:

/usr/local/mgr5/sbin/mgrctl-m ispmgr webdomain

Это особенно удобно для cron-задач и внутренних автоматизаций.

 

Часто спрашивают: Передача файлов с локального ПК на VPS под Linux

 

Интеграция через Perl-скрипты

ispmanager также предоставляет Perl-модули для взаимодействия с API, которые часто используются в биллинговых системах и автоматизированных хостинг-платформах.

Perl-скрипты позволяют:

  • Автоматически создавать услуги;
  • Обрабатывать XML-ответы;
  • Интегрировать панель с биллингом;
  • Реализовывать массовые операции;

Благодаря этой функции ispmanager часто используется в хостинг-бизнесе как часть автоматизированной инфраструктуры.

Форматы запросов и структура ответов API

Табличное представление данных (список объектов)

Если функция возвращает список (например, домены), то ответ придет в форме таблицы.

Каждая запись будет включать:

  • Имя ресурса;
  • Идентификатор;
  • Статус;
  • Дополнительные параметры;

 

Объектная модель параметров (формы и карточки)

Если запрос касается формы редактирования, API возвращает структуру полей, которая содержит:

  • Тип поля (текст, чекбокс, список);
  • Приоритет выполнения;
  • Значение по умолчанию;
  • Ограничения;

Это позволяет автоматически генерировать интерфейсы на основе API без ручного описания формы.

 

 

Часто спрашивают: Настройка FTP-сервера на Ubuntu

 

Ответ при успешном выполнении операции

Если операция выполнена успешно, API возвращает подтверждение без ошибок.

В случае проблемы сообщение об ошибке с описанием причины (например, недостаточно прав или некорректные параметры).

Анализ логов и формирование корректного API-запроса

Один из самых удобных способов изучить API — анализировать действия в панели.

 

Разбор логов панели управления

В ispmanager ведутся логи действий пользователя.

Если выполнить нужное действие через веб-интерфейс (например, создать сайт), соответствующий запрос будет зафиксирован в логах.

Из логов можно определить:

  • Имя функции (func=…);
  • Переданные параметры;
  • Последовательность операций;

 

Построение запроса на основе зафиксированных действий

Чтобы построить запрос, нужно:

  1. Выполнить действие в панели.
  2. Найти его в логах.
  3. Определить параметры запроса.
  4. Повторить вызов через API.

Это один из самых удобных способов изучения API и построения сложных автоматизаций.