Перейти к содержимому

Как вызывать методы API в Astra?

API (интерфейс программирования приложений) — это способ доступа к данным и взаимодействия с программными компонентами.

Вы можете использовать curl в консоли для вызова метода API. Например, можно получить сводный статус процесса и системы:

Окно терминала
curl \
--user login:password \
http://server:8000/api/system-status
  • login:password — логин и пароль администратора
  • server:8000 — адрес сервера и основной порт
  • /api/system-status — путь к методу API

Методы POST используются для изменения конфигурации Astra. Например, вы можете включить или отключить пользователя из консоли:

Окно терминала
curl \
-X POST \
--user login:password \
-d '{"cmd":"toggle-user","id":"login"}' \
http://server:8000/control/
  • login:password — логин и пароль администратора
  • -d '{...}' — содержимое запроса в формате JSON
  • server:8000 — адрес сервера и основной порт

Другой способ выполнить curl, когда файл конфигурации передаётся через стандартный ввод:

Окно терминала
curl -X POST --user login -d @- http://server:8000/control/ <<END
{
"cmd":"toogle-user",
"id":"login"
}
END

После запуска curl запросит пароль.

Вы можете использовать любой язык программирования для управления Astra. Например, простой PHP-скрипт для включения или отключения пользователя:

$req = json_encode(array(
'cmd' => 'toggle-user',
'id' => 'login',
));
$ch = curl_init("http://server:8000/control/");
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_USERPWD, "login:password");
curl_setopt($ch, CURLOPT_POSTFIELDS, $req);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$res = curl_exec($ch);
curl_close($ch);