moving docs to a separate repository

This commit is contained in:
Divarion-D
2025-11-26 20:53:47 +03:00
parent 24ecada0f5
commit bc2e002a49
28 changed files with 59 additions and 4310 deletions
-456
View File
@@ -1,456 +0,0 @@
<h1 align="center">📡 XtreamCodes API</h1>
<p align="center">
The API provides access to IPTV streams (Live TV, Radio), VOD (Movies), Series, and EPG (TV guide) for applications compatible with XtreamCodes.
It is a core component for integration with <b>XC_VM</b>.
</p>
<p align="center">
<a href="../../en/main-page.md"><b>⬅️ Back to Main Page</b></a>
</p>
---
## 📚 Navigation
* [📂 File Location](#file-location)
* [📑 Overview](#overview)
* [🔑 Authorization](#authorization)
* [📺 Live TV (TV & Radio)](#live-tv-tv--radio)
* [🎬 VOD (Movies)](#vod-movies)
* [📽 Series](#series)
* [🎞 Media Access](#media-access)
* [🧾 Notes](#notes)
---
## 📂 File Location
The main API file is located at:
```
/home/xc_vm/wwwdir/player_api.php
```
---
## 📑 Overview
The API is divided into key sections for easier integration.
Each endpoint includes example requests and responses.
---
## 🔑 Authorization
Authorization is the first step to access content.
It validates user credentials and returns server information.
### Request
```http
GET /player_api?username={username}&password={password}
```
### Example Response
```json
{
"user_info": {
"username": "testxc",
"password": "testxc",
"message": "Welcome to XC_VM",
"auth": 1,
"status": "Active",
"exp_date": null,
"is_trial": 0,
"created_at": 1757353729,
"max_connections": 1,
"allowed_output_formats": [
"m3u8",
"ts",
"rtmp"
]
},
"server_info": {
"xui": true,
"version": "1.1.0",
"url": "176.124.192.118",
"port": "80",
"https_port": "443",
"server_protocol": "http",
"rtmp_port": "8880",
"timestamp_now": 1757442189,
"time_now": "2025-09-09 19:23:09",
"timezone": "Europe/London"
}
}
```
> 💡 **Tip:** Use the obtained data for subsequent requests to avoid repeated authentication.
---
## 📺 Live TV (TV & Radio)
Endpoints for working with live streams, including categories, streams, and EPG.
### Get All Live Categories
```http
GET /player_api?username={username}&password={password}&action=get_live_categories
```
**Example Response**
```json
[
{
"category_id": "1",
"category_name": "News",
"parent_id": 0
},
{
"category_id": "2",
"category_name": "Sports",
"parent_id": 0
}
]
```
### Get All Live Streams
```http
GET /player_api?username={username}&password={password}&action=get_live_streams
```
**Example Response**
```json
[
{
"num": 1,
"name": "BBC News",
"stream_type": "live",
"stream_id": 101,
"stream_icon": "http://176.124.192.118/images/bbc.png",
"epg_channel_id": "bbc.news.uk",
"added": "1660568200",
"category_id": "1",
"custom_sid": "",
"tv_archive": 0,
"direct_source": "",
"tv_archive_duration": 0
}
]
```
### Get Streams by Category
```http
GET /player_api?username={username}&password={password}&action=get_live_streams&category_id={id}
```
### Get Channel Short EPG
```http
GET /player_api?username={username}&password={password}&action=get_short_epg&stream_id={id}&limit={N}
```
**Example Response**
```json
{
"epg_listings": [
{
"id": 1,
"title": "Morning News",
"start": "2022-08-15 07:00:00",
"end": "2022-08-15 08:00:00",
"description": "Daily morning news update."
}
]
}
```
### Get Full Channel Schedule
```http
GET /player_api?username={username}&password={password}&action=get_simple_data_table&stream_id={id}
```
### Get EPG for All Channels (XMLTV)
```http
GET /xmltv.php?username={username}&password={password}
```
**Example Response (XMLTV)**
```xml
<tv>
<channel id="bbc.news.uk">
<display-name>BBC News</display-name>
</channel>
<programme start="20220815070000 +0000" stop="20220815080000 +0000" channel="bbc.news.uk">
<title>Morning News</title>
<desc>Daily morning news update.</desc>
</programme>
</tv>
```
---
## 🎬 VOD (Movies)
Endpoints for Video on Demand, including categories and movie details.
### Get Movie Categories
```http
GET /player_api?username={username}&password={password}&action=get_vod_categories
```
**Example Response**
```json
[
{
"category_id": "10",
"category_name": "Action",
"parent_id": 0
},
{
"category_id": "11",
"category_name": "Drama",
"parent_id": 0
}
]
```
> ⚠️ **Note:** The full list of categories may be large; only fragments are shown in examples.
### Get All VOD Streams
```http
GET /player_api?username={username}&password={password}&action=get_vod_streams
```
**Example Response**
```json
[
{
"num": 1,
"name": "The Dark Knight (2008)",
"title": "The Dark Knight",
"year": 2008,
"stream_type": "movie",
"stream_id": 1,
"stream_icon": "http://176.124.192.118:80/images/...jpg",
"rating": 8.5,
"rating_5based": 4.3,
"added": 1757343129,
"plot": "Batman raises the stakes in his war on crime. With the ...",
"cast": "Christian Bale, Heath Ledger, Aaron Eckhart, Michael Caine, Maggie Gyllenhaal",
"director": "Christopher Nolan, Christopher Nolan, Steve Gehrke",
"genre": "Drama, Action, Crime",
"release_date": "2008-07-16",
"youtube_trailer": "kmJLuwP3MbY",
"episode_run_time": "152",
"category_id": "1",
"category_ids": [1, 2],
"container_extension": "mp4",
"custom_sid": "",
"direct_source": ""
}
]
```
### Get Movies by Category
```http
GET /player_api?username={username}&password={password}&action=get_vod_streams&category_id={id}
```
### Get Movie Info
```http
GET /player_api?username={username}&password={password}&action=get_vod_info&vod_id={id}
```
---
## 📽 Series
Endpoints for managing TV shows, including categories, seasons, and episodes.
### Get Series Categories
```http
GET /player_api?username={username}&password={password}&action=get_series_categories
```
### Get All Series
```http
GET /player_api?username={username}&password={password}&action=get_series
```
**Example Response**
```json
[
{
"num": 1,
"name": "Braceface (2001)",
"title": "Braceface",
"year": 2001,
"stream_type": "series",
"series_id": 1,
"cover": "http://176.124.192.118:80/images/7pQr8EhEi05VXRmZc5QfCLaoCzC2XshRjzbEF-0-ISX3OBAKZPN21ASjMFFF_OljpT6mCZeHa4zLXMQZ2eaTpGZUSOucptPKyuP5tgpEZm0.jpg",
"plot": "The show, set in Elkford, British Columbia, is based around Sharon Spitz, who is a junior high school student with braces that get in her way of leading a normal teenage life. In the first season, she is enrolled at Mary Pickford Junior High.",
"cast": "Stacey DePass",
"director": "Charles E. Bastien",
"genre": "Drama, Animation, Comedy",
"release_date": "2001-06-02",
"releaseDate": "2001-06-02",
"last_modified": "1757348651",
"rating": "7",
"rating_5based": 3.5,
"backdrop_path": [
"http://176.124.192.118:80/images/7pQr8EhEi05VXRmZc5QfCADBzwKB171qpiTTqrZdeATBaSzxZEgi9EPIvh5kU_50ecbH2L-yDt1PIfqijKTIMg.jpg"
],
"youtube_trailer": null,
"episode_run_time": 25,
"category_id": "4",
"category_ids": [4]
}
]
```
---
### Series by Category
```http
GET /player_api?username={username}&password={password}&action=get_series&category_id={id}
```
### Get Series Info
```http
GET /player_api?username={username}&password={password}&action=get_series_info&series_id={id}
```
**Example Response**
```json
{
"seasons": [
{
"air_date": "2001-06-02",
"episode_count": 26,
"id": 4937,
"name": "Season 1",
"overview": "",
"season_number": 1,
"vote_average": 4.5,
"cover": "http://176.124.192.118:80/images/7pQr8EhEi05VXRmZc5QfCLaoCzC2XshRjzbEF-0-ISX3OBAKZPN21ASjMFFF_OljJBrZ7sNEJHE6hlqofFOJSRKiMRvSj08-T6iTQVWvj2I.jpg",
"cover_big": "http://176.124.192.118:80/images/7pQr8EhEi05VXRmZc5QfCLaoCzC2XshRjzbEF-0-ISX3OBAKZPN21ASjMFFF_OljJBrZ7sNEJHE6hlqofFOJSRKiMRvSj08-T6iTQVWvj2I.jpg"
}
],
"info": {
"name": "Braceface (2001)",
"title": "Braceface",
"year": 2001,
"cover": "http://176.124.192.118:80/images/7pQr8EhEi05VXRmZc5QfCLaoCzC2XshRjzbEF-0-ISX3OBAKZPN21ASjMFFF_OljpT6mCZeHa4zLXMQZ2eaTpGZUSOucptPKyuP5tgpEZm0.jpg",
"plot": "The show, set in Elkford, British Columbia, is based around Sharon Spitz, who is a junior high school student with braces that get in her way of leading a normal teenage life. In the first season, she is enrolled at Mary Pickford Junior High.",
"cast": "Stacey DePass",
"director": "Charles E. Bastien",
"genre": "Drama, Animation, Comedy",
"release_date": "2001-06-02",
"releaseDate": "2001-06-02",
"last_modified": "1757348651",
"rating": "7",
"rating_5based": 3.5,
"backdrop_path": [
"http://176.124.192.118:80/images/7pQr8EhEi05VXRmZc5QfCADBzwKB171qpiTTqrZdeATBaSzxZEgi9EPIvh5kU_50ecbH2L-yDt1PIfqijKTIMg.jpg"
],
"youtube_trailer": null,
"episode_run_time": 25,
"category_id": "4",
"category_ids": [4]
},
"episodes": {
"1": [
{
"id": "2",
"episode_num": "1",
"title": "Braceface - S01E01 - Brace Yourself",
"container_extension": "mp4",
"info": {
"release_date": "2001-06-02",
"plot": "Sharon Spitz, a 13-year-old 8th grader gets braces the day before picture day. During the procedure, a thunderstorm causes a power outage, and something strange happens with Sharon's braces, making her do all sorts of weird things!",
"duration_secs": 649,
"duration": "00:10:49",
"movie_image": "http://176.124.192.118:80/images/7pQr8EhEi05VXRmZc5QfCADBzwKB171qpiTTqrZdeARCK8Ch0a6wlNxuIHhbJ3c1Dg_AqkwSsH-qdpnCvcMsiy6U85vvi1bs1xDOddBeOEQ.jpg",
"bitrate": 2791,
"rating": "5",
"season": "1",
"tmdb_id": "105800",
"cover_big": "http://176.124.192.118:80/images/7pQr8EhEi05VXRmZc5QfCADBzwKB171qpiTTqrZdeARCK8Ch0a6wlNxuIHhbJ3c1Dg_AqkwSsH-qdpnCvcMsiy6U85vvi1bs1xDOddBeOEQ.jpg"
},
"subtitles": [],
"custom_sid": "",
"added": 1757348651,
"season": 1,
"direct_source": ""
}
]
}
}
```
---
## 🎞 Media Access
After authorization, you can access direct links to media files.
* **Live TV (channel):**
```http
http://176.124.192.118/live/{username}/{password}/{stream_id}.ts
```
* **Movie (VOD):**
```http
http://176.124.192.118/movie/{username}/{password}/{vod_id}.mp4
```
* **Episode:**
```http
http://176.124.192.118/series/{username}/{password}/{episode_id}.mp4
```
> ⚠️ **Important:** On the first request, a redirect occurs to `/auth/...` for authentication before content is served.
---
## 🧾 Notes
* **Output Formats:** Supported formats — `m3u8`, `ts`, `rtmp`. Choose based on your device.
* **Security:** All requests require valid authorization; monitor logs for access errors.
* **Integration:** Use tools like Postman for testing.
Implement response caching in your application for better performance.
> 💬 If you have integration issues, please open an issue in the [repository](https://github.com/Vateron-Media/XC_VM/issues).
---
<p align="center">
<a href="../../en/main-page.md"><b>⬅️ Back to Main Page</b></a>
</p>