Сессии
Метод возвращает список текущих сессий. Формат ответа:
{
"cmd": "sessions"
}
Формат информации о сессии: SESSION-INFO:
{
"client_id": N,
"channel_id": "...",
"channel_name": "...",
"addr": "...",
"uptime": N
}
- client_id — уникальный номер сессии
- channel_id — ID потока
- channel_name — имя потока
- addr — IP-адрес клиента. Чтобы получить IP-адрес из заголовка HTTP X-Real-IP или X-Forwarded-For, при проксировании запросов необходимо использовать auth_request.
- uptime — время, в секундах, с начала сессии
Чтобы завершить сеанс, используйте метод закрытия сеанса:
{
"cmd": "close-session",
"id": N
}
- id — номер сессии
Другое
Перезапуск astra
Запрос:
{
"cmd": "restart"
}
Получение конфигурации
Запрос:
{
"cmd": "load"
}
Ответ-содержимое файла конфигурации.
Загрузка конфигурации
Запрос:
{
{"cmd":"upload","config":{...}}
}
Получение конфигурации пользователя:
{
"cmd": "get-user", "id": "login"
}
Установить лицензию:
{
"cmd": "set-license", "license": "xxx"
}
Установить изображение в плитке стрима:
{
"cmd":"set-stream-image", "id":"a001", "url":"http://..."
}
или можно использовать base64
{
"cmd":"set-stream-image", "id":"a001", "data:image/png;base64,$base64"
}
Использование API
curl
curl -X POST \
-d '{"cmd": "api-method"}' \
http://admin:password@127.0.0.1:8000/control/
127.0.0.1:8000
адрес сервера и порт Astra
admin:password
имя пользователя и пароль администратора
php
$req = json_encode(array(
'cmd' => 'api-method',
));
$ch = curl_init("http://127.0.0.1:8000/control/");
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_USERPWD, "admin: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);
127.0.0.1:8000
адрес сервера и порт Astra
admin:password
имя пользователя и пароль администратора
$res данные ответа Astra.