Content API
Endpoints pour le contenu multimedia de la plateforme MyTelevision.
Base URL : /api/v2
Types de contenu
| Type | Endpoint | Description |
|---|---|---|
| Movies | /movies | Films |
| Series | /series | Series TV |
| Live TV | /livetv | Chaines en direct |
| Radio | /radio | Stations radio |
| Podcasts | /podcasts | Collections de podcasts |
| News | /news | Articles d'actualites |
| Live Events | /live-events | Evenements en direct |
| Replays | /replays | Replay TV |
Movies
Endpoints
| Methode | Endpoint | Description | Auth |
|---|---|---|---|
| GET | /movies | Lister les films | Non |
| GET | /movies/:id | Details d'un film | Non |
| GET | /movies/:id/stream | Obtenir URL de streaming | Oui |
| GET | /movies/featured | Films a la une | Non |
| GET | /movies/latest | Derniers films | Non |
| GET | /movies/popular | Films populaires | Non |
| GET | /movies/top-ten | Top 10 des films | Non |
| GET | /movies/coming-soon | Films a venir | Non |
| GET | /movies/search | Rechercher des films | Non |
GET /movies
Liste des films avec pagination et filtres.
GET /api/v2/movies?page=1&limit=10&genre=action
Authorization: Bearer <token>
Query Parameters
| Parametre | Type | Description |
|---|---|---|
page | number | Page (defaut: 1) |
limit | number | Items par page (defaut: 10, max: 100) |
genre | string | Filtrer par genre |
accessType | string | FREE, PREMIUM, SUBSCRIPTION |
status | string | PUBLISHED, COMING_SOON |
featured | boolean | Films mis en avant |
topTen | boolean | Top 10 |
search | string | Recherche texte |
sort | string | Tri (releaseDate, popularity, title) |
order | string | ASC ou DESC |
Reponse 200 OK
{
"data": [
{
"id": "uuid",
"title": "Inception",
"overview": "Un voleur qui s'infiltre...",
"releaseDate": "2010-07-16",
"posterUrl": "https://...",
"backdropUrl": "https://...",
"trailerUrl": "https://...",
"duration": 148,
"rating": "PG-13",
"voteAverage": 8.4,
"accessType": "PREMIUM",
"genres": ["Action", "Sci-Fi", "Thriller"],
"likeCount": 15420,
"viewCount": 125000
}
],
"meta": {
"page": 1,
"limit": 10,
"total": 250,
"totalPages": 25
}
}
Series
Endpoints
| Methode | Endpoint | Description | Auth |
|---|---|---|---|
| GET | /series | Lister les series | Non |
| GET | /series/:id | Details d'une serie | Non |
| GET | /series/:id/seasons | Saisons d'une serie | Non |
| GET | /series/:id/seasons/:seasonId | Details d'une saison | Non |
| GET | /series/:id/seasons/:seasonId/episodes | Episodes d'une saison | Non |
| GET | /episodes/:id/stream | Obtenir URL de streaming | Oui |
| GET | /series/featured | Series a la une | Non |
| GET | /series/latest | Dernieres series | Non |
| GET | /series/popular | Series populaires | Non |
GET /series/:id/seasons/:seasonId/episodes
Episodes d'une saison.
GET /api/v2/series/:seriesId/seasons/:seasonId/episodes
Authorization: Bearer <token>
Live TV
Endpoints
| Methode | Endpoint | Description | Auth |
|---|---|---|---|
| GET | /livetv | Lister les chaines | Non |
| GET | /livetv/categories | Categories de chaines | Non |
| GET | /livetv/:id | Details d'une chaine | Non |
| GET | /livetv/:id/stream | Obtenir URL de streaming | Oui |
| GET | /livetv/:id/epg | Guide des programmes | Non |
Radio
Endpoints
| Methode | Endpoint | Description | Auth |
|---|---|---|---|
| GET | /radio | Lister les stations | Non |
| GET | /radio/categories | Categories de radio | Non |
| GET | /radio/:id | Details d'une station | Non |
| GET | /radio/:id/stream | Obtenir URL de streaming | Oui |
Podcasts
Endpoints
| Methode | Endpoint | Description | Auth |
|---|---|---|---|
| GET | /podcasts | Lister les podcasts | Non |
| GET | /podcasts/categories | Categories de podcasts | Non |
| GET | /podcasts/:id | Details d'un podcast | Non |
| GET | /podcasts/:id/episodes | Episodes d'un podcast | Non |
| GET | /podcasts/episodes/:id | Details d'un episode | Non |
| GET | /podcasts/episodes/:id/stream | Obtenir URL de streaming | Oui |
News
Endpoints
| Methode | Endpoint | Description | Auth |
|---|---|---|---|
| GET | /news | Lister les articles | Non |
| GET | /news/categories | Categories d'actualites | Non |
| GET | /news/:id | Details d'un article | Non |
| GET | /news/featured | Articles a la une | Non |
| GET | /news/latest | Derniers articles | Non |
Live Events
Endpoints
| Methode | Endpoint | Description | Auth |
|---|---|---|---|
| GET | /live-events | Lister les evenements | Non |
| GET | /live-events/categories | Categories d'evenements | Non |
| GET | /live-events/:id | Details d'un evenement | Non |
| GET | /live-events/:id/stream | Obtenir URL de streaming | Oui |
| GET | /live-events/upcoming | Evenements a venir | Non |
| GET | /live-events/live | Evenements en cours | Non |
Replays
Endpoints
| Methode | Endpoint | Description | Auth |
|---|---|---|---|
| GET | /replays | Lister les replays | Non |
| GET | /replays/categories | Categories de replays | Non |
| GET | /replays/:id | Details d'un replay | Non |
| GET | /replays/:id/stream | Obtenir URL de streaming | Oui |
Catalogue et parametres
| Methode | Endpoint | Description | Auth |
|---|---|---|---|
| GET | /catalog/genres | Liste des genres | Non |
| GET | /catalog/categories | Liste des categories | Non |
| GET | /countries | Liste des pays | Non |
| GET | /languages | Liste des langues | Non |
| GET | /settings | Configuration publique | Non |
| GET | /sliders | Sliders page d'accueil | Non |
| GET | /banners | Bannieres publicitaires | Non |
Localisation
Le contenu est localise automatiquement selon le header Accept-Language :
# Francais (defaut)
curl -H "Accept-Language: fr-FR" https://api.mytelevision.app/api/v2/movies
# Anglais
curl -H "Accept-Language: en-US" https://api.mytelevision.app/api/v2/movies
Les champs localises :
title/titleEnoverview/overviewEndescription/descriptionEn