API Видеоплеера

Сервис работает штатно (v3.0.1)

Добро пожаловать в документацию внутреннего API для управления видеопотоками. Данный интерфейс предоставляет программный доступ к метаданным видео, манифестам потокового вещания (HLS/DASH) и системе сбора телеметрии для клиентских приложений.

Базовый URL: https://api.yourdomain.com/v3

Эндпоинты API

POST /auth/session
Инициализирует новую сессию просмотра и возвращает гостевой токен, необходимый для доступа к видеопотоку.
Пример ответа (200 OK)
{
  "status": "success",
  "data": {
    "session_id": "sess_89f2b3a1c_video",
    "token": "eyJhbGciOiJIUzI1NiIsInR5cCI...",
    "expires_in": 3600
  }
}
GET /video/metadata?id={video_id}
Возвращает публичные метаданные для запрошенного видеоролика (название, длительность, превью).
Пример ответа (200 OK)
{
  "status": "success",
  "data": {
    "video_id": "9823",
    "title": "Документальный фильм: Природа — Эпизод 4",
    "duration_seconds": 2450,
    "thumbnails": [
      "https://cdn.example.com/thumbs/9823_small.jpg"
    ],
    "adaptive_streaming": true
  }
}
GET /playback/manifest?id={video_id}
Возвращает ссылки на адаптивные плейлисты (m3u8 для HLS или mpd для DASH). Требует передачи токена сессии в заголовке Authorization.
Пример ответа (200 OK)
{
  "status": "success",
  "data": {
    "playback_session": "pb_550e8400",
    "streams": {
      "hls": "https://stream.example.com/hls/9823/master.m3u8",
      "dash": "https://stream.example.com/dash/9823/manifest.mpd"
    },
    "drm_enabled": false
  }
}
POST /telemetry/heartbeat
Клиентское приложение (плеер) должно отправлять ping-запросы на этот эндпоинт каждые 30 секунд для поддержания активности потока и сбора аналитики буферизации.
Пример тела запроса (Payload)
{
  "session_id": "pb_550e8400",
  "position_seconds": 124.5,
  "buffer_health": "good",
  "dropped_frames": 0
}