AltyaziDB API v1.0

AltyaziDB API, Türkiye'nin en temiz altyazı veritabanına erişmeniz için tasarlanmış yüksek performanslı bir REST servisidir.

Kimlik Doğrulama: Tüm istekler X-API-Key: ANAHTARINIZ başlığı (Header) ile ve HTTPS üzerinden yapılmalıdır.
Sayfalama (Pagination): Tüm listeleme (Search ve Latest) uç noktaları ?page=1 ve ?limit=20 parametrelerini destekler.

Kullanıcı ve Kota Sorgulama

Geliştiricilerin kalan API hız sınırlarını (Rate Limit) canlı olarak kontrol etmesini sağlar.

GET https://altyazidb.com/api/v1/me

Son Eklenenler

Sisteme eklenen en güncel altyazıları tarihe göre tersten listeler. Dönen veri modeli Arama uç noktası ile aynıdır.

GET https://altyazidb.com/api/v1/latest
ParametreDurumAçıklama
pageOpsiyonelSayfa numarası. Varsayılan: 1
limitOpsiyonelSayfada kaç sonuç döneceği. Varsayılan: 20 (Maks: 100)

Direkt İndirme

API üzerinden dönen download_url yapısını kullanarak dosyayı indirmenizi sağlar.

GET https://altyazidb.com/api/v1/download
ParametreDurumAçıklama
sub_idZorunluİndirilecek altyazının veritabanı ID'si.
Not: Bu uç nokta JSON döndürmez; başarılı olması durumunda doğrudan dosyayı (stream) indirmenizi tetikler.

Altyazı Yükleme (Upload)

Sisteme doğrudan altyazı dosyası (zip, rar, srt) yüklemenizi sağlar.

Akıllı Otonom Bot Özelliği: Eğer yükleme isteğinizdeki imdb_id AltyaziDB sisteminde mevcut değilse, işlem iptal edilmez! API'miz arka planda TMDB'ye bağlanarak içeriği saniyeler içinde otomatik olarak taslak halinde oluşturur.
Sezon Paketi Yükleme (Önemli): Tekil bir bölüm yerine tüm sezonu içeren bir .zip arşivi yüklüyorsanız, isteğinizdeki episode parametresine PAKET yazmanız yeterlidir. Sistem bunu otomatik olarak paket etiketine dönüştürür.
Kopya Önleyici (Anti-Duplicate): API'miz yüklenen dosyaların MD5 hash'ini analiz eder. Birebir aynı dosya tekrar yüklenmek istenirse sistem 409 Conflict hatası vererek işlemi reddeder.

1. İstek Parametreleri (POST)

POST https://altyazidb.com/api/v1/upload
ParametreDurumAçıklama
fileZorunluYüklenecek altyazı dosyası (.zip, .rar, .srt). Max: 5MB
imdb_idZorunluHangi yapıma eklenecekse onun IMDb ID'si.
langZorunluDil kodu (Örn: tr).
seasonOpsiyonelDiziler için sezon numarası (Örn: 1).
episodeOpsiyonelDiziler için bölüm numarası. Sezon paketi yüklüyorsanız PAKET yazın.
fpsOpsiyonelAltyazının kare hızı (Örn: 23.976).
releaseOpsiyonelUyumlu olduğu sürüm bilgisi (Örn: WEB-DL).
translatorOpsiyonelÇevirmen adı.
translator_noteOpsiyonelÇevirmene ait özel not veya çeviri bilgisi (Örn: "Senkron kayması düzeltildi").
hearing_impairedOpsiyonelİşitme engelli (CC) altyazısı ise 1 gönderin.
forcedOpsiyonelForced altyazı ise 1 gönderin.

Örnek İstek (cURL)

curl -X POST "https://altyazidb.com/api/v1/upload" \
-H "X-API-Key: ANAHTARINIZ" \
-F "file=@/bilgisayar/yolu/altyazi.zip" \
-F "imdb_id=tt37529347" \
-F "lang=tr" \
-F "season=1" \
-F "episode=PAKET" \
-F "fps=23.976" \
-F "translator=NETRip" \
-F "release=WEB-DL"

Başarılı Yanıt (JSON)

{
  "success": true,
  "message": "Altyazı başarıyla yüklendi.",
  "sub_id": 6615,
  "post_id": 128
}

Etkileşimler (Favori & Rapor)

Altyazılar ile etkileşime girmek için kullanılan uç noktalardır.

Favoriye Ekle / Çıkar

POST https://altyazidb.com/api/v1/favorite

Gönderilmesi gereken parametre: sub_id (Zorunlu). Altyazı favorilerdeyse çıkarır, yoksa ekler.

Hatalı Altyazı Raporlama

POST https://altyazidb.com/api/v1/report

Gönderilmesi gereken parametreler: sub_id ve reason (Örn: "Çeviri tamamen google translate").

Hata Kodları

KodAnlamıAçıklama
400Bad RequestEksik veya hatalı parametre gönderdiniz.
401UnauthorizedAPI anahtarınız eksik veya geçersiz.
403ForbiddenYetkisiz işlem veya HTTP (güvensiz) bağlantı.
404Not FoundAradığınız ID'ye ait içerik mevcut değil.
409ConflictBu dosya zaten veritabanında mevcut (MD5 Çakışması).
413Payload Too LargeDosya boyutu 5 MB sınırını aştı.
429Too Many RequestsHız sınırına takıldınız (Rate Limit).