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

Быстрый старт с 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.