Başlangıç

Geliştirici portalımıza hoş geldiniz! Bu dokümantasyon, API'mizi kullanarak projenize nasıl veri entegre edeceğinizi adım adım açıklayacaktır.

API'miz, farklı oyun ve webmaster kategorileri için forum yapılarını JSON formatında sunan basit bir RESTful arayüz sağlar.

Kimlik Doğrulama

API'mize yapılan tüm istekler, kimlik doğrulaması için bir API anahtarı gerektirir. Anahtarınızı, kullanıcı panelinizden oluşturabilirsiniz.

Anahtarınız, her isteğinize key adında bir GET parametresi olarak eklenmelidir.

Unutmayın, API anahtarınız size özeldir. Lütfen kimseyle paylaşmayın ve istemci tarafı (tarayıcı) kodlarınızda doğrudan ifşa etmekten kaçının.

Ana Uç Nokta (Endpoint)

Tüm veri çekme işlemleri tek bir ana uç nokta üzerinden gerçekleştirilir. Bu endpoint'e yapılan `GET` istekleri, anahtarınıza atanan hizmete (`service_name`) göre ilgili veriyi döndürür.

GET/api

İstek Parametreleri

ParametreTürAçıklama
key Zorunlu string Kullanıcı panelinizden aldığınız 64 karakterlik API anahtarınız.

Cevap Yapısı

Başarılı bir istek, HTTP `200` durum kodu ile birlikte aşağıdaki yapıya sahip bir JSON nesnesi döndürür. Dönen içerik, API anahtarınızın hangi hizmet için oluşturulduğuna bağlıdır.

Örnek Başarılı Cevap (Metin2)

Aşağıda, service_name'i 'metin2' olan bir anahtar ile yapılan isteğe verilen örnek bir cevap gösterilmiştir.

Hız Limiti & Önbellek

Platformumuzun stabilitesini sağlamak için API'miz belirli kurallara tabidir.

Rate Limiting

Her bir API anahtarı, dakika başına varsayılan olarak 60 istek ile sınırlıdır. Bu limiti aşan istekler, `429 Too Many Requests` hata koduyla reddedilir.

Caching

Performansı optimize etmek için, başarılı API cevapları sunucu tarafında önbelleğe alınır. Bir kategori için yapılan ilk istek veritabanından çekilir, sonraki istekler ise 10 dakika boyunca önbellekten sunulur. İsteğinizin önbellekten gelip gelmediğini HTTP cevap başlığındaki `X-Cache-Status` (`HIT` veya `MISS`) değerinden anlayabilirsiniz.

Hata Kodları

Bir istek başarısız olduğunda, standart HTTP durum kodları ve hatayı açıklayan bir JSON nesnesi döndürülür.

401 UnauthorizedAPI anahtarı eksik veya geçersiz.
403 ForbiddenAPI anahtarı pasif veya izin verilen domainden istek yapılmadı.
404 Not Foundİstenen hizmet (servis) için veri bulunamadı.
429 Too Many RequestsDakikalık istek limitini aştınız.
500 Internal Server ErrorSunucu tarafında beklenmedik bir hata oluştu.
curl "https://siteniz.com/api?key=SIZIN_API_ANAHTARINIZ"
const apiKey = 'SIZIN_API_ANAHTARINIZ';
const apiUrl = `https://siteniz.com/api?key=${apiKey}`;

fetch(apiUrl)
  .then(response => response.json())
  .then(data => {
    console.log(data);
  })
  .catch(error => {
    console.error('Hata:', error);
  });
$apiKey = 'SIZIN_API_ANAHTARINIZ';
$apiUrl = "https://siteniz.com/api?key=" . $apiKey;

$response = file_get_contents($apiUrl);
$data = json_decode($response, true);

if ($data) {
    print_r($data);
} else {
    echo "Veri alınamadı.";
}
Örnek Başarılı Cevap
{
    "kategoriler": [
        {
            "kategori_adi": "Genel Tartışma",
            "aciklama": null,
            "forumlar": [
                {
                    "forum_adi": "Genel Sohbet",
                    "aciklama": "..."
                }
            ]
        }
    ]
}