Быстрый старт с HTTP API
Alta предоставляет HTTP API с запросами и ответами в формате JSON. Веб-интерфейс использует тот же API. В этой статье показано, как войти и прочитать состояние приложения и хоста.
Требования
Заголовок раздела «Требования»- Запросы отправляются на API Server (порт по умолчанию
8100), а не на OTT Server. Подробнее в разделе HTTP-сервер. - Нужен пользователь веб-интерфейса Alta. Подробнее в разделе Пользователи.
Аутентификация
Заголовок раздела «Аутентификация»API поддерживает два метода:
- Bearer token: получите токен через
/api/loginи передавайте его в заголовкеAuthorization: Bearer <token>. - HTTP Basic: передавайте логин и пароль пользователя в каждом запросе.
Вход:
curl -sS -X POST 'http://alta.example.com:8100/api/login' \ -H 'Content-Type: application/json' \ -d '{"id": "admin", "password": "PASSWORD"}'Ответ — токен в виде обычного текста.
Используйте токен в следующих запросах:
curl -sS -H "Authorization: Bearer $TOKEN" 'http://alta.example.com:8100/api/about'Информация о приложении
Заголовок раздела «Информация о приложении»GET /api/aboutОтвет:
{ "service_name": "alta", "version": { "version": "261020", "commit": "349de372", "build": 1638139770 }, "runtime": { "instance_id": "8b1f6c3e-6a52-4c0e-9d1a-5f2f2a0c9e11", "uptime": 86400 }}- service_name: название сервиса.
- version: версия, коммит и сборка Alta.
- runtime.instance_id: уникальный идентификатор экземпляра Alta.
- runtime.uptime: время работы приложения в секундах.
Состояние хоста и хранилищ
Заголовок раздела «Состояние хоста и хранилищ»GET /api/statusОтвет:
{ "host": { "cpu": { "usage_percent": 12.5, "load_avg": [0.4, 0.5, 0.6], "cores": 8 }, "mem": { "total_bytes": 16777216000, "used_bytes": 4294967296, "available_bytes": 12482248704 } }, "storages": [ { "name": "archive", "path": "/var/lib/alta/archive", "total_bytes": 1000000000000, "used_bytes": 250000000000, "free_bytes": 750000000000 } ]}- host.cpu: загрузка CPU в процентах, средняя нагрузка за 1, 5 и 15 минут и количество ядер.
- host.mem: общий, используемый и доступный объём памяти в байтах.
- storages: название, путь, а также общий, занятый и свободный объём в байтах для каждого хранилища.
Ошибки и параметры
Заголовок раздела «Ошибки и параметры»401 Unauthorized: токен отсутствует, недействителен или просрочен.403 Forbidden: роль пользователя не позволяет выполнить запрос.- Запросы для отдельного элемента, например канала или ресивера, используют параметр запроса
id. Например,/api/ott/channel/storage/preview?id=discovery/hd. Полный пример смотрите в статье Preview API.