Files
XC_VM/docs/ru/api/swagger.md
T
Divarion-D b2e61c7d79 docs: add interactive Swagger API reference and unify docs theme
Bundle interactive OpenAPI 3.0 documentation for all XC_VM APIs into the
  docsify site and align the docs visual with the Swagger UI page.

  API reference
  - Add self-contained Swagger UI host page (_media/swagger-ui.html) with a
    tab per specification (Admin / System / Player / Playlist) plus nested
    Documentation and Swagger views; deep-linkable via ?spec=<key>.
  - Add OpenAPI 3.0 specs: admin-api (renamed from openapi.yaml, 104 ops) and
    new system-api (31 actions), player-api (XtreamCodes) and playlist-api,
    generated from the existing prose guides and controllers.
  - Add EN/RU hub page (api/swagger.md) and wire it into the sidebars.
  - Remove now-obsolete prose guides (system_api.md, xtreamcodes_api.md,
    playlist.md) after verifying full coverage in the specs.
  - Rebrand XUI.ONE -> XC_VM across the spec and host page; point links to
    github.com/Vateron-Media/XC_VM.

  Theming
  - Add shared design tokens (_media/theme-tokens.css) consumed by both the
    docs and the Swagger page as a single source of truth.
  - Switch docsify to docsify-themeable (Simple / Simple Dark) and drop ~150
    lines of hand-written CSS.
  - Add a light/dark toggle synced across both pages via localStorage['theme'];
    default to dark.
2026-07-02 21:21:19 +03:00

32 lines
3.1 KiB
Markdown

# Интерактивный справочник API (Swagger)
Интерактивный, всегда актуальный Swagger UI для всех API XC_VM, сформированный из спецификаций OpenAPI 3.0. Переключайтесь между API через **вкладки API** вверху страницы или открывайте нужный напрямую по ссылкам ниже.
| API | Описание | Авторизация | Открыть |
| --- | --- | --- | --- |
| **Admin API** | Администрирование (совместимо с XUI.ONE) — линии, пользователи, стримы, VOD, сериалы, серверы, настройки (104 эндпоинта) | `api_key` + код доступа | [Открыть ↗](_media/swagger-ui.html?spec=admin ':ignore :target=_blank') |
| **System API** | Внутренний `/api.php` — управление стримами/VOD, статистика, процессы, файлы, соединения (31 действие) | `password` (`live_streaming_pass`) | [Открыть ↗](_media/swagger-ui.html?spec=system ':ignore :target=_blank') |
| **Player API** | XtreamCodes-плеер — Live TV, VOD, сериалы, EPG | `username` + `password` | [Открыть ↗](_media/swagger-ui.html?spec=player ':ignore :target=_blank') |
| **Playlist API** | `/playlist` — авторизация и генерация плейлистов | `username`/`password` или `token` | [Открыть ↗](_media/swagger-ui.html?spec=playlist ':ignore :target=_blank') |
---
## Как пользоваться «Try it out»
1. Переключайте API **вкладками API**, а для каждого API — вкладками **Documentation / Interactive (Swagger)**.
2. Разверните эндпоинт → **Try it out** → заполните параметры → **Execute**, чтобы увидеть реальный URL запроса, команду cURL и живой ответ.
3. Для Admin API нажмите **Authorize 🔓** и вставьте API-ключ — далее он добавляется во все запросы автоматически.
> **О CORS:** прямые вызовы «Try it out» из браузера к вашему серверу могут блокироваться политикой CORS. Это ожидаемо — используйте сгенерированную команду cURL, Postman или Insomnia. Ошибка не означает, что API сломан.
---
## Исходные спецификации
Любую спецификацию можно импортировать в Postman, Insomnia или любой инструмент OpenAPI 3.0:
- [`admin-api.openapi.yaml`](_media/admin-api.openapi.yaml ':ignore :target=_blank')
- [`system-api.openapi.yaml`](_media/system-api.openapi.yaml ':ignore :target=_blank')
- [`player-api.openapi.yaml`](_media/player-api.openapi.yaml ':ignore :target=_blank')
- [`playlist-api.openapi.yaml`](_media/playlist-api.openapi.yaml ':ignore :target=_blank')