Geliştirici Merkezi

TURAN TV içeriği iki açık kanaldan dışa aktarılır: okuyucular için RSS, uygulamalar için salt okunur JSON API.

  • JSON API: herkese açık
  • RSS: açık besleme
  • İstek sınırı: 60/dakika · 5.000/gün

📡 RSS Beslemeleri

RSS 2.0 biçiminde, media: ve atom:link ad alanlarıyla. Besleme adresini herhangi bir RSS okuyucuya (Feedly, Inoreader, Outlook, NetNewsWire) yapıştırmanız yeterlidir.

Tüm yayınlar (haber + içerik) Varsayılan besleme https://www.demo.recepturan.org/rss
Aç ↗
Yalnızca haberler Son 25 haber https://www.demo.recepturan.org/rss?type=haber
Aç ↗
Tüm içerikler Dizi, film, program https://www.demo.recepturan.org/rss?type=icerik
Aç ↗
Diziler https://www.demo.recepturan.org/rss?type=dizi
Aç ↗
Filmler https://www.demo.recepturan.org/rss?type=film
Aç ↗
Programlar https://www.demo.recepturan.org/rss?type=program
Aç ↗
Özel madde sayısı limit 5–100 https://www.demo.recepturan.org/rss?type=hepsi&limit=10
Aç ↗
İpucu: Tarayıcı adres çubuğunda RSS simgesi görünmesi için sitenin her sayfasında <link rel="alternate" type="application/rss+xml"> etiketi bulunur.

🔌 JSON API

Tüm uçlar GET ister, Access-Control-Allow-Origin: * ile CORS'a açıktır. Yanıtlar her zaman {"ok": true|false, …} zarfıyla döner.

Uç noktaAçıklamaParametreler
GET /api Uç nokta dizini ve kullanım notları — Dene ↗
GET /api/contents İçerik listesi (dizi, film, program) type, genre, year, q, sort, limit, page Dene ↗
GET /api/content/<slug> Tek içerik + bölümler + kadro + puan + benzerler slug veya id
GET /api/news Haber listesi category, q, limit, page Dene ↗
GET /api/news/<slug> Tek haberin tam metni slug
GET /api/schedule Bir günün yayın akışı (tekrar kuralları dahil) date=YYYY-AA-GG Dene ↗
GET /api/live Şu an yayında olan ve sıradaki yayın — Dene ↗
GET /api/search İçerik + haber + oyuncu araması q (en az 2 karakter), limit Dene ↗
GET /api/plans Aktif üyelik planları — Dene ↗
GET /api/actors Oyuncu listesi q, limit, page Dene ↗
GET /api/actors/<slug> Tek oyuncu + filmografisi slug

Genel parametreler

  • limit — sayfa başına kayıt, en fazla 50 (arama için 25)
  • page — 1'den başlar, meta içinde toplam ve sayfa sayısı döner
  • sort — newest (varsayılan), popular, rating, title, year
  • pretty=1 — girintili, okunabilir JSON çıktısı
  • type — yalnızca dizi, film, program

Hata biçimi

Beklenen HTTP durum kodları döner: 400 hatalı/eksik parametre, 404 bulunamadı.

{
  "ok": false,
  "error": {
    "code": "not_found",
    "message": "İçerik bulunamadı."
  }
}

Örnek yanıt — /api/content/<slug>

{
  "ok": true,
  "endpoint": "content",
  "data": {
    "id": 1,
    "type": "dizi",
    "type_label": "Dizi",
    "title": "Kayıp Zamanlar",
    "slug": "kayip-zamanlar",
    "url": "https://www.demo.recepturan.org/icerik/kayip-zamanlar",
    "watch_url": "https://www.demo.recepturan.org/izle/kayip-zamanlar",
    "imdb_score": 8.4,
    "poster": "…/uploads/poster.jpg",
    "rating": { "average": 4.3, "votes": 128 },
    "episodes": [ { "season": 1, "episode_no": 1, "title": "Pilot", "duration_min": 92 } ],
    "cast": [ { "name": "…", "character_name": "…", "photo": null } ],
    "similar": [ … ]
  }
}

Canlı deneyici

Bir uç nokta seçin, isteği bu sayfadan gönderip yanıtı görün.

⚖️ Kullanım Koşulları

Veriler kamuya açıktır; yine de aşağıdaki sınırlara uymanızı bekleriz.

Yapılması gerekenler

  • Kaynak olarak TURAN TV adını ve içeriğin url alanındaki bağlantıyı gösterin.
  • Yanıtları Cache-Control süresi kadar (5 dakika) önbelleğe alın.
  • Listeleme için limit/page kullanın, tüm kayıtları tek seferde çekmeye çalışmayın.
  • Hatalı yanıt aldığınızda error.code alanına göre davranın.

Yapılmaması gerekenler

  • API'yi saniyede birden fazla istekle sürekli yoklamak (yumuşak sınır: 60 istek/dakika).
  • Video akış adreslerini, kullanıcı hesaplarını veya kişisel verileri toplamaya çalışmak — API bunları zaten paylaşmaz.
  • İçerikleri kaynak göstermeden yeniden yayınlamak veya satmak.
  • Yazma/silme denemesi yapmak: tüm uçlar salt okunurdur.
Soru, kota artışı veya iş birliği talepleri için rgxuzotnd8vl@recepturan.org adresine yazabilir veya çek & gönder sayfasını kullanabilirsiniz.