mirror of
https://github.com/Vateron-Media/XC_VM.git
synced 2026-10-01 04:02:09 +02:00
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.
32 lines
3.1 KiB
Markdown
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')
|