From c677983aa7bdcb55b24f4db13882d8fe5957839c Mon Sep 17 00:00:00 2001 From: salvacybersec Date: Thu, 13 Nov 2025 04:19:56 +0300 Subject: [PATCH] api docs --- API.md | 30 +++++++++++++++++++++--------- 1 file changed, 21 insertions(+), 9 deletions(-) diff --git a/API.md b/API.md index 4072777..f05b98a 100644 --- a/API.md +++ b/API.md @@ -87,7 +87,7 @@ YouTube kanalı için transcript feed'i oluşturur. | `channel` | string | ⚠️* | Channel handle (@username veya username) | | `channel_url` | string | ⚠️* | Full YouTube channel URL | | `format` | string | ❌ | Feed formatı: `Atom` (varsayılan) veya `Rss` | -| `max_items` | integer | ❌ | Maksimum video sayısı (varsayılan: 50, max: 500) | +| `max_items` | integer | ❌ | Maksimum transcript sayısı (varsayılan: 10, max: 100, 20'şer batch'ler halinde işlenir) | \* `channel_id`, `channel` veya `channel_url` parametrelerinden biri zorunludur. @@ -104,7 +104,7 @@ curl -H "X-API-Key: demo_key_12345" \ # Channel URL ile curl -H "X-API-Key: demo_key_12345" \ - "http://localhost:5000/?channel_url=https://www.youtube.com/@tavakfi&format=Atom&max_items=100" + "http://localhost:5000/?channel_url=https://www.youtube.com/@tavakfi&format=Atom&max_items=50" # Query parametresi ile API key curl "http://localhost:5000/?channel_id=UC9h8BDcXwkhZtnqoQJ7PggA&api_key=demo_key_12345&format=Rss" @@ -160,7 +160,7 @@ curl "http://localhost:5000/?channel_id=UC9h8BDcXwkhZtnqoQJ7PggA&api_key=demo_ke "channel": "@username veya username", "channel_url": "https://www.youtube.com/@username veya https://www.youtube.com/channel/UC...", "format": "Atom veya Rss (varsayılan: Atom)", - "max_items": "Maksimum video sayısı (varsayılan: 50)" + "max_items": "Maksimum transcript sayısı (varsayılan: 10, maksimum: 100, 20'şer batch'ler halinde işlenir)" } } ``` @@ -245,12 +245,12 @@ curl -H "X-API-Key: demo_key_12345" "http://localhost:5000/info" "channel": "@username veya username", "channel_url": "Full YouTube channel URL", "format": "Atom veya Rss (varsayılan: Atom)", - "max_items": "Maksimum video sayısı (varsayılan: 50)" + "max_items": "Maksimum transcript sayısı (varsayılan: 10, maksimum: 100, 20'şer batch'ler halinde işlenir)" }, "examples": [ "/?channel_id=UC9h8BDcXwkhZtnqoQJ7PggA&format=Atom", "/?channel=@tavakfi&format=Rss", - "/?channel_url=https://www.youtube.com/@tavakfi&format=Atom&max_items=100" + "/?channel_url=https://www.youtube.com/@tavakfi&format=Atom&max_items=50" ] } ``` @@ -313,8 +313,10 @@ Sadece aşağıdaki formatlar kabul edilir: - Tip: Integer - Minimum: 1 -- Maksimum: 500 -- Varsayılan: 50 +- Maksimum: 100 +- Varsayılan: 10 +- **Batch İşleme**: 20'şer batch'ler halinde işlenir (YouTube IP blocking önleme için) +- **Veritabanı Kaydı**: Her batch işlendikten sonra hemen veritabanına kaydedilir, böylece sonraki sorgularda görülebilir ## CORS @@ -392,7 +394,7 @@ API_KEY="demo_key_12345" CHANNEL_ID="UC9h8BDcXwkhZtnqoQJ7PggA" curl -H "X-API-Key: $API_KEY" \ - "http://localhost:5000/?channel_id=$CHANNEL_ID&format=Atom&max_items=10" + "http://localhost:5000/?channel_id=$CHANNEL_ID&format=Atom&max_items=50" ``` ## Notlar @@ -401,12 +403,22 @@ curl -H "X-API-Key: $API_KEY" \ 2. **Rate Limiting**: Her API key için farklı rate limit tanımlanabilir. Limit aşıldığında 60 saniye beklemeniz gerekir. -3. **Transcript İşleme**: Transcript'ler arka planda asenkron olarak işlenir. Yeni videolar için birkaç dakika gecikme olabilir. +3. **Transcript İşleme**: + - Transcript'ler 20'şer batch'ler halinde işlenir (YouTube IP blocking önleme için) + - Her batch işlendikten sonra veritabanına kaydedilir + - `max_items` parametresi ile her istekte işlenecek transcript sayısını kontrol edebilirsiniz (maksimum 100) + - Batch'ler arası 2 saniye bekleme süresi vardır + - Yeni videolar için birkaç dakika gecikme olabilir 4. **Format Seçimi**: Atom formatı daha modern ve önerilir. RSS formatı eski RSS reader'lar için uygundur. 5. **API Key Güvenliği**: API key'lerinizi güvenli tutun ve asla public repository'lere commit etmeyin. +6. **Batch İşleme Örneği**: + - `max_items=50` isteği: 20+20+10 batch'ler halinde işlenir + - Her batch tamamlandığında veritabanına kaydedilir + - Sonraki sorgularda tüm işlenmiş transcript'ler görülebilir + ## Destek Sorularınız için GitHub Issues kullanabilirsiniz.