Skip to main content
Bu doküman spesifik bir politikanın detaylı kullanımını anlatır. Eğer Apinizer politika yapısını ilk kez kullanıyorsanız veya politikaların genel çalışma prensiplerini öğrenmek istiyorsanız, öncelikle Politika Nedir? sayfasını okumanızı öneririz.

Genel Bakış

API Call politikası, API Gateway üzerinden başka REST API’leri çağırarak mikroservis mimarisinde servis-servis iletişimi kurar. Gelen istekleri backend sistemlere yönlendirir, yanıtları işler ve API Proxy akışına entegre eder. Bu sayede harici servislerden veri çekmek, istekleri zenginleştirmek veya birden fazla kaynaktan gelen yanıtları birleştirmek mümkün olur.

Amacı Nedir?

  • API Gateway üzerinden geçen istekleri başka bir REST API’ye yönlendirerek mikroservis mimarilerinde servis-servis iletişimini sağlamak.
  • Gelen istekleri zenginleştirmek, dönüştürmek ve birden fazla backend servisinden veri toplayarak birleştirilmiş yanıtlar oluşturmak (API Orchestration).
  • Harici sistemlerden (CRM, ERP, ödeme gateway’leri vb.) veri çekmek veya veri göndermek için güvenli ve yönetilebilir bir köprü oluşturmak.
  • Request ve Response mesajları üzerinde header, parameter ve body manipülasyonu yaparak veri dönüşümü gerçekleştirmek.
  • Cache mekanizması ile sık kullanılan API çağrılarının sonuçlarını önbelleğe alarak performansı artırmak ve backend sistemlere olan yükü azaltmak.

Çalışma Prensibi

  1. İstek Gelişi: API Gateway’e gelen her HTTP/HTTPS isteği için, REST API Call politikası aktif ise çağrı işlemi başlatılır.
  2. Politika Kontrolü: Sistem aşağıdaki sırayla kontrol yapar:
    • Condition (koşul) tanımlı mı? Varsa koşul sağlanıyor mu?
    • Politika aktif mi (active=true)?
    • Variable kullanılıyor mu yoksa Apinizer default mı?
  3. Request Hazırlama (Before Call): İstek gönderilmeden önce:
    • Body temizlenir veya yeni içerik eklenir
    • Header ve parametreler manipüle edilir (ekleme/silme)
    • Data Manipulation kuralları uygulanır
    • Cache kontrolü yapılır (varsa önbellekten döner)
  4. API Çağrısı: Tanımlanan URL’ye HTTP method ile istek gönderilir:
    • Synchronous (Senkron): Yanıt beklenir ve işleme devam edilir
    • Asynchronous (Asenkron): Yanıt beklenmeden işlem tamamlanır
  5. Response İşleme (After Call - Sadece Synchronous): Gelen yanıt işlenir:
    • Body üzerinde dönüşüm yapılır (NOT_CHANGE, REPLACE, CLEAR)
    • Header ve parametreler manipüle edilir
    • Data Manipulation kuralları uygulanır
    • Cache’e kaydedilir (aktifse)
  6. Hata İşleme: Bağlantı hatası, timeout veya beklenmeyen yanıtlar için özelleştirilebilir HTTP durum kodu ve hata mesajı döndürülür.

Özellikler ve Yetenekler

Temel Özellikler

  • Çağrı Tipi Seçimi: Synchronous (yanıt bekle) veya Asynchronous (fire-and-forget) mod desteği. Asenkron modda yanıt işleme yapılmaz.
  • HTTP Method Desteği: GET, POST, PUT, DELETE, PATCH, HEAD, OPTIONS, TRACE tüm HTTP methodlarını destekler.
  • Timeout Yönetimi: API çağrılarında maksimum bekleme süresini saniye cinsinden tanımlayarak sonsuz beklemeleri önler ve sistem kaynaklarını korur.
  • Aktif/Pasif Durum Kontrolü: Politikanın aktif veya pasif durumunu kolayca değiştirme (active/passive toggle). Pasif durumda politika uygulanmaz ancak yapılandırması saklanır.
  • Koşul Bazlı Uygulama: Query Builder ile karmaşık koşullar oluşturarak politikanın ne zaman uygulanacağını belirleme (örn: sadece belirli endpoint’lere veya header değerlerine göre).

İleri Düzey Özellikler

  • Request/Response Manipülasyonu: Before Call ve After Call aşamalarında body, header ve parametreler üzerinde kapsamlı manipülasyon. XML, JSON, RAW, URL-Encoded formatlarını destekler.
  • Data Manipulation: Kaynak ve hedef değişkenler arasında ADD (ekle), REPLACE (değiştir), DELETE (sil) operasyonları ile veri dönüştürme. Variable sistemini kullanarak dinamik veri işleme.
  • Güvenli HTTPS ve mTLS: İstek Settings sekmesinde zaman aşımı ve güvenli bağlantı (TrustStore, KeyStore, isteğe bağlı PEM sertifikası, protokoller, hostname doğrulayıcı) ile arka uçta TLS/mTLS kullanabilirsiniz; sertifika ve KeyStore yönetimi Secret Manager ile uyumludur.
  • Cache Mekanizması: Distributed (dağıtık) veya Local (yerel) cache desteği. Variable bazlı cache key tanımlama, capacity ve TTL ayarları, null response’ları cache’leme seçeneği.
  • Test Helper: API çağrısı için URL’yi otomatik oluşturma. Mevcut API Proxy’lerden veya Proxy Group’lardan endpoint seçimi, environment bazlı test yapma.
  • Export/Import Özelliği: Politika yapılandırmasını ZIP dosyası olarak export etme. Farklı ortamlara (Development, Test, Production) import etme. Versiyon kontrolü ve yedekleme imkanı.
  • Policy Group ve Proxy Group Desteği: Birden fazla politikayı Policy Group içinde yönetme. Proxy Group’lara toplu politika atama. Merkezi güncelleme ve deploy işlemleri.
  • Deploy ve Versiyonlama: Politika değişikliklerini canlı ortama deploy etme. Hangi API Proxy’lerde kullanıldığını görme (Policy Usage). Proxy Group ve Policy Group kullanım raporları.

Kullanım Senaryoları

Politika Parametrelerini Yapılandırma

Bu adımda, kullanıcı yeni bir politika oluşturabilir ya da mevcut politika parametrelerini yapılandırarak erişim kurallarını belirleyebilir. Tanımlanan parametreler, politikanın çalışma şeklini (örneğin hangi IP’lerin izinli olacağı, coğrafi kısıtlamalar, koşullu aktivasyonlar vb.) doğrudan etkiler. Bu sayede politika hem kuruma özel gereksinimlere göre özelleştirilebilir hem de merkezi olarak yönetilebilir.

Yeni API Call Politikası Oluşturma

API Call Politikası Yapılandırma

Yapılandırma Adımları

Koşullar ve Hata Mesajı Özelleştirme panellerinin açıklaması için Politika Nedir? sayfasındaki Koşullar ve Hata Mesajı Özelleştirme (Error Message Customization) bölümlerini inceleyebilirsiniz. Hata mesajı yapılandırmasının tüm katmanları, öncelik sırası ve senaryo örnekleri için Hata Mesajı Yapılandırma Rehberi sayfasına bakın.

Politikayı Silme

Bu politikanın silme adımları ve kullanımdayken uygulanacak işlemler için Politika Nedir? sayfasındaki Politikayı Silme bölümüne bakabilirsiniz.

Politikayı Dışa/İçe Aktarma

Bu politikanın dışa aktarma (Export) adımları ve kullanılabilecek seçenekler için Politika Nedir? sayfasındaki Politikayı Dışa/İçe Aktarma bölümüne bakabilirsiniz.

Politikayı API’ye Bağlama

Bu politikanın API’lere nasıl bağlanacağına ilişkin süreç için Politika Yönetimi sayfasındaki Politikayı API’ye Bağlama bölümüne bakabilirsiniz.

İleri Düzey Özellikler

Bu bölümde kullanıcı, API Call politikasının gelişmiş yönetim kabiliyetlerini kullanarak daha esnek, dinamik ve kurumsal seviyede kontrol elde eder.

Dinamik TTL (Dynamic TTL)

Dinamik TTL, cache’in yaşam süresini (TTL) sabit bir değer yerine API yanıtından gelen bir değere göre otomatik hesaplar. Örneğin, backend servisiniz yanıtta bir expireAt alanı dönüyorsa, cache bu tarihe kadar geçerli olur. API Call Politikası Yapılandırma

Yapılandırma Alanları

Desteklenen Değer Formatları:

Ek Ayarlar

Örnek Senaryo

Backend servisiniz aşağıdaki gibi bir yanıt dönüyor:
Bu durumda yapılandırma:
  1. Dinamik TTL Etkinleştir: Açık
  2. TTL Kaynak Değişkeni: Response body → JSONPath: $.expireAt
  3. Değer Formatı: ISO 8601 DateTime
  4. Offset: 30 (30 saniye güvenlik payı)
  5. Yedek TTL: 300 (parse hatası olursa 5 dakika)
Cache, expireAt alanındaki tarihe kadar (eksi 30 saniye offset) geçerli olacaktır.

İpuçları ve En İyi Uygulamalar

Yapılması Gerekenler ve En İyi Uygulamalar

Güvenlik En İyi Uygulamaları

Kaçınılması Gerekenler

Performans İpuçları

Sık Sorulan Sorular (SSS)