Listede olmayan bir yol geçitten geçmez; bu bir eksiklik değil, kuralın kendisi. Her uç nokta bir izin istiyor ve anahtarın o izni yoksa istek reddediliyor.
Kimlik doğrulama
Anahtarını Authorization: Bearer <anahtar> başlığında gönder. Anahtar bir uygulamaya ait ve yalnızca o uygulamaya verilen izinleri taşıyor. Bir kullanıcı adına işlem yapmak farklı bir akış: API anahtarı tek başına "hangi kullanıcı adına" sorusunu yanıtlamıyor.
İzin kapsamları
Oyuncu bilgisi players.read
Bir oyuncunun herkese açık profilini, rütbesini ve ceza özetini okur.
Ceza kayıtları punishments.read
Herkese açık ceza listesini ve tek bir ceza kaydını okur.
Sıralamalar leaderboard.read
Sıralama tablolarını, kit sıralamalarını ve son maçları okur.
Sunucu durumu status.read
Ağın çevrim içi durumunu ve oyuncu sayısını okur.
Uç noktalar
Ağın çevrim içi durumu ve oyuncu sayısı.
Kendi sitende ya da botunda ağın ayakta olup olmadığını göstermek.
- Gereken izin
status.readSunucu durumu- Dakikalık sınır
- 120 istek
İstek
curl -H "Authorization: Bearer <anahtar>" \
https://api.turkishpvp.club/v1/status/live
Yanıt
{ "online": true, "players": 42, "maxPlayers": 500 }Oyuncunun herkese açık profili ve ceza özeti.
Topluluk sitende bir oyuncunun durumunu göstermek.
- Gereken izin
players.readOyuncu bilgisi- Dakikalık sınır
- 60 istek
Parametreler
name(yolda, zorunlu, 2-16 karakter)Oyuncu adı.
İstek
curl -H "Authorization: Bearer <anahtar>" \
https://api.turkishpvp.club/v1/players/:name
Yanıt
{ "username": "Ramazan4314", "uuid": "…", "punishments": [] }Bu uç noktaya özgü hatalar: not_found
Herkese açık ceza listesi.
Ağın son cezalarını kendi panelinde listelemek.
- Gereken izin
punishments.readCeza kayıtları- Dakikalık sınır
- 60 istek
Parametreler
page(sorguda, isteğe bağlı, 1 ve üzeri)Sayfa numarası.limit(sorguda, isteğe bağlı, 1-100)Sayfa başına kayıt.
İstek
curl -H "Authorization: Bearer <anahtar>" \
https://api.turkishpvp.club/v1/punishments
Yanıt
{ "data": [ { "id": "…", "type": "BAN", "reason": "…" } ], "total": 128 }Tek bir ceza kaydı.
Bir ceza bağlantısını kendi arayüzünde açmak.
- Gereken izin
punishments.readCeza kayıtları- Dakikalık sınır
- 60 istek
Parametreler
id(yolda, zorunlu)Ceza kaydının kimliği.
İstek
curl -H "Authorization: Bearer <anahtar>" \
https://api.turkishpvp.club/v1/punishments/:id
Yanıt
{ "id": "…", "type": "MUTE", "reason": "…", "active": false }Bu uç noktaya özgü hatalar: not_found
Sıralama tablolarının özeti.
Hangi tabloların bulunduğunu ve baştaki oyuncuları göstermek.
- Gereken izin
leaderboard.readSıralamalar- Dakikalık sınır
- 60 istek
Parametreler
limit(sorguda, isteğe bağlı, 1-100)Tablo başına satır.
İstek
curl -H "Authorization: Bearer <anahtar>" \
https://api.turkishpvp.club/v1/leaderboard/boards
Yanıt
{ "boards": [ { "kit": "nodebuff", "rows": [ { "rank": 1, "name": "…" } ] } ] }Genel sıralama.
Ağ genelinde ilk sıradaki oyuncuları listelemek.
- Gereken izin
leaderboard.readSıralamalar- Dakikalık sınır
- 60 istek
Parametreler
page(sorguda, isteğe bağlı, 1 ve üzeri)Sayfa numarası.limit(sorguda, isteğe bağlı, 1-100)Sayfa başına satır.
İstek
curl -H "Authorization: Bearer <anahtar>" \
https://api.turkishpvp.club/v1/leaderboard/global
Yanıt
{ "rows": [ { "rank": 1, "name": "…", "elo": 1842 } ], "total": 4210 }Bir kitin sıralaması.
Tek bir oyun modunun sıralamasını göstermek.
- Gereken izin
leaderboard.readSıralamalar- Dakikalık sınır
- 60 istek
Parametreler
kit(yolda, zorunlu, harf, rakam ve tire)Kit adı.page(sorguda, isteğe bağlı, 1 ve üzeri)Sayfa numarası.limit(sorguda, isteğe bağlı, 1-100)Sayfa başına satır.
İstek
curl -H "Authorization: Bearer <anahtar>" \
https://api.turkishpvp.club/v1/leaderboard/kit/:kit
Yanıt
{ "rows": [ { "rank": 1, "name": "…", "elo": 1902 } ], "total": 318 }Bu uç noktaya özgü hatalar: not_found
Ortak hata kodları
missing_keyAuthorization başlığı yok ya da Bearer biçiminde değil.invalid_keyAnahtar tanınmadı, iptal edilmiş ya da süresi dolmuş.unknown_endpointBu yol dışarı açık değil.scope_deniedAnahtarın bu uç nokta için gereken izni yok.rate_limitedDakikalık istek sınırı aşıldı.upstream_unavailableKaynak servise ulaşılamadı.limiter_unavailableİstek sayacına ulaşılamadı, istek güvenli tarafta reddedildi.
Her yanıt bir x-request-id başlığı taşıyor. Bir sorunu bildirirken onu ver: istek geçmişinde aynı kimlikle bulunuyor.