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.
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
| Parametre | Tür | Açı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 Unauthorized | API anahtarı eksik veya geçersiz. |
403 Forbidden | API anahtarı pasif veya izin verilen domainden istek yapılmadı. |
404 Not Found | İstenen hizmet (servis) için veri bulunamadı. |
429 Too Many Requests | Dakikalık istek limitini aştınız. |
500 Internal Server Error | Sunucu 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": "..."
}
]
}
]
}