API referansı

Dışa açık uç noktaların tamamı, gereken izinler, parametreler ve örnek yanıtlar.

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

GET/status/live

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 }
GET/players/:name

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

GET/punishments

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 }
GET/punishments/:id

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

GET/leaderboard/boards

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": "…" } ] } ] }
GET/leaderboard/global

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 }
GET/leaderboard/kit/:kit

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.