Kayıt Ol

API Dökümantasyonuna Giriş

Günümüzde yazılım geliştirme süreçlerinde API’ler (Application Programming Interface), sistemler arası iletişimin temel yapı taşlarından biri haline gelmiştir. Ancak güçlü ve işlevsel bir API geliştirmenin tek başına yeterli olmadığı da bir gerçektir. Bir API’nin etkili biçimde kullanılabilmesi için onu doğru, anlaşılır ve erişilebilir bir şekilde dökümante etmek gerekir.

API Dökümantasyonu Nedir?

API dökümantasyonu, bir API’nin nasıl çalıştığını, hangi uç noktaların (endpoint) mevcut olduğunu, parametrelerin ne işe yaradığını, hata kodlarının ne anlama geldiğini ve örnek kullanım senaryolarını açıklayan rehber niteliğinde bir kaynaktır.

Kısacası, API dökümantasyonu bir geliştiricinin API ile “sıfırdan” tanıştığında hızlıca yol alabilmesini sağlayan bir kullanım kılavuzudur.

Neden Önemlidir?

         Kullanılabilirliği Artırır: İyi yazılmış bir dökümantasyon, üçüncü taraf geliştiricilerin API’yi öğrenmesini kolaylaştırır.
         Destek İhtiyacını Azaltır: Kullanıcıların her sorunu için teknik destek ekibine başvurmasını önler.
         Güveni ve Profesyonelliği Yükseltir: Düzenli ve kapsamlı dökümantasyon, API’nin güvenilirliğini artırır.
         Hızlı Entegrasyon Sağlar: Net açıklamalar, geliştiricilerin projelerine API’yi kısa sürede entegre etmesine yardımcı olur.

İyi Bir API Dökümantasyonu Nasıl Olmalı?

         Açık ve Basit: Karmaşık terimlerden uzak, anlaşılır bir dil kullanılmalı.
         Örneklerle Desteklenmiş: Kod parçacıkları ve gerçek kullanım senaryoları yer almalı.
        Güncel: API’de yapılan her değişiklik eş zamanlı olarak dökümantasyona yansıtılmalı.
         Aranabilir ve Düzenli: Başlık yapısı, kategori ayrımları ve arama özelliği bulunmalı.
         Hata Senaryoları Dahil: Geliştiriciler sadece başarı durumlarını değil, hata kodlarını da bilmelidir.

Sonuç

API dökümantasyonu, sadece teknik bir gereklilik değil aynı zamanda bir ürünün değerini artıran stratejik bir araçtır. Kaliteli bir dokümantasyon, API’nin kullanım oranını yükseltir, geliştirici deneyimini iyileştirir ve uzun vadede yazılım ekibine zaman kazandırır.

API Dokümantasyonu

Bu belge, uygulamada mevcut olan API uç noktalarını ana hatlarıyla belirtir.

Kimlik Doğrulama

Tüm API istekleri, kimlik doğrulama ve yetkilendirme için aşağıdaki başlıkları gerektirir:

Başlık Açıklama
W-User-Key API kullanıcısı için benzersiz anahtar.
W-Public-Key Web sitesinin genel anahtarı.
W-Private-Key Web sitesinin özel anahtarı.

Yanıt Formatı

API, yanıtları JSON formatında döndürür.

Başarılı Yanıt:

{
  "status": 1,
  "data": { ... }
}

Hata Yanıtı:

{
  "status": 0,
  "message": "Hata açıklaması"
}

Uç Noktalar

1. Ayarları Getir (Get Settings)

Web sitesi ayarlarını getirir.

  • URL: /settings
  • Yöntem: GET
  • Parametreler: Yok
  • Yanıt Verisi: Ayar kısa adları (slug) ve değerlerinin anahtar-değer çiftleri.

2. Menü Öğelerini Getir (Get Menu Items)

Belirli bir menü kısa adı (slug) için menü öğelerini getirir.

  • URL: /menuitems
  • Yöntem: GET
  • Parametreler:
    • slug (zorunlu, dize): Menünün kısa adı.
    • lang_id (zorunlu, tamsayı): Dil kimliği (ID).
    • bc_prefix (isteğe bağlı, dize, varsayılan: "blogs"): Blog kategorisi URL'leri için önek.
    • pc_prefix (isteğe bağlı, dize, varsayılan: "products"): Ürün kategorisi URL'leri için önek.
    • p_prefix (isteğe bağlı, dize, varsayılan: "page"): Sayfa URL'leri için önek.
  • Yanıt Verisi: Menü öğelerinin hiyerarşik listesi.

3. Blog Yazısı Getir (Get Blog Post)

Belirli bir blog yazısını getirir.

  • URL: /blog
  • Yöntem: GET
  • Parametreler:
    • slug (zorunlu, dize): Blog yazısının kısa adı.
    • lang_id (zorunlu, tamsayı): Dil kimliği (ID).
  • Yanıt Verisi: Blog yazısı detayları.

4. Sayfa Getir (Get Page)

Belirli bir statik sayfayı getirir.

  • URL: /page
  • Yöntem: GET
  • Parametreler:
    • slug (zorunlu, dize): Sayfanın kısa adı.
    • lang_id (zorunlu, tamsayı): Dil kimliği (ID).
  • Yanıt Verisi: Sayfa detayları.

5. Ürün Getir (Get Product)

Belirli bir ürünü getirir.

  • URL: /product
  • Yöntem: GET
  • Parametreler:
    • slug (zorunlu, dize): Ürünün kısa adı.
    • lang_id (zorunlu, tamsayı): Dil kimliği (ID).
  • Yanıt Verisi: Ürün detayları.

6. Blog Kategorisi Getir (Get Blog Category)

Belirli bir kategorideki blog yazılarını veya kategori belirtilmemişse tüm blogları getirir.

  • URL: /blogcategory
  • Yöntem: GET
  • Parametreler:
    • category_slug (isteğe bağlı, dize): Blog kategorisinin kısa adı.
    • lang_id (zorunlu, tamsayı): Dil kimliği (ID).
    • limit (isteğe bağlı, tamsayı, maks: 30): Sayfa başına öğe sayısı.
    • page (isteğe bağlı, tamsayı, min: 1): Sayfa numarası.
  • Yanıt Verisi:
    • __CATEGORY: Kategori detayları.
    • __BLOGS: Blog yazıları listesi (sayfalandırılmış).
    • __TOTAL_BLOGS: Toplam blog sayısı.

7. Ürün Kategorisi Getir (Get Product Category)

Belirli bir kategorideki ürünleri veya kategori belirtilmemişse tüm ürünleri getirir.

  • URL: /productcategory
  • Yöntem: GET
  • Parametreler:
    • category_slug (isteğe bağlı, dize): Ürün kategorisinin kısa adı.
    • lang_id (zorunlu, tamsayı): Dil kimliği (ID).
    • limit (isteğe bağlı, tamsayı, maks: 30): Sayfa başına öğe sayısı.
    • page (isteğe bağlı, tamsayı, min: 1): Sayfa numarası.
  • Yanıt Verisi:
    • __CATEGORY: Kategori detayları.
    • __PRODUCTS: Ürün listesi (sayfalandırılmış).

8. Blog Kategorilerini Getir (Get Blog Categories)

Blog kategorilerinin bir listesini getirir.

  • URL: /blogcategories
  • Yöntem: GET
  • Parametreler:
    • slug (isteğe bağlı, dize): Alt kategorileri filtrelemek için ebeveyn kategori kısa adı.
  • Yanıt Verisi: Blog kategorileri listesi.

9. Ürün Kategorilerini Getir (Get Product Categories)

Ürün kategorilerinin bir listesini getirir.

  • URL: /productcategories
  • Yöntem: GET
  • Parametreler:
    • slug (isteğe bağlı, dize): Alt kategorileri filtrelemek için ebeveyn kategori kısa adı.
  • Yanıt Verisi: Ürün kategorileri listesi.

10. Dilleri Getir (Get Languages)

Web sitesi için aktif dillerin listesini getirir.

  • URL: /languages
  • Yöntem: GET
  • Parametreler: Yok
  • Yanıt Verisi: Diller listesi.

11. Veri Seti Verisi Getir (Get Dataset Data)

Belirli bir veri setinden veri getirir.

  • URL: /dataset
  • Yöntem: GET
  • Parametreler:
    • slug (zorunlu, dize): Veri setinin kısa adı.
    • limit (zorunlu, tamsayı): Sayfa başına öğe sayısı.
    • page (zorunlu, tamsayı): Sayfa numarası.
  • Yanıt Verisi: Alan değerleriyle birlikte veri seti girişleri listesi.

12. Medya Getir (Get Media)

Bir medya dosyasının tam URL'sini getirir.

  • URL: /media
  • Yöntem: GET
  • Parametreler:
    • id (zorunlu, tamsayı): Medya dosyasının kimliği (ID).
    • url (zorunlu, dize): Medya yolunun başına eklenecek temel URL.
  • Yanıt Verisi: Medya dosyasının tam URL dizesi.