- BIN aralığı
- Tutar
- Taksit sayısı
- Kart birliği (Visa/MC/Troy)
- Kart tipi (kredi/banka)
- 3DS durumu
- Banka sağlık durumu (latency, hata oranı)
- Komisyon oranları
- Trafik dağıtım hedefi
Neden akıllı yönlendirme?
| Sorun | Çözüm |
|---|---|
| ”Bonus kartlarını Garanti’ye yönlendirmek daha düşük komisyonlu” | BIN bazlı kural |
| ”Akbank tarafında 5xx oranı yükseldi, geçici olarak başka bankaya yönlendir” | Circuit breaker |
| ”Yüksek tutar işlemleri büyük bankaya gitsin” | Tutar bazlı kural |
| ”9-12 taksitte sadece anlaşmamızın olduğu banka çalışsın” | Taksit bazlı filtre |
| ”Trafiği iki banka arasında %70-%30 dağıt” | Ağırlık bazlı dağıtım |
Yapı
Engine kuralları sırayla değerlendirir. Bir kural eşleşirse o konnektör seçilir; eşleşmeyen kural bir sonraki kurala düşer. Hiçbir kural eşleşmezse varsayılan kural devreye girer.Yönlendirme adımları
- Kuralları sırayla değerlendir — istek koşullara karşı kontrol edilir.
- Skor hesapla — eşleşen her kural için bir bileşik skor üretilir (banka sağlığı, komisyon, ağırlık).
- En yüksek skorlu konnektörü seç.
- Smart Retry hazır olsun — birinci konnektör başarısız olursa fallback için sıralanmış alternatifler.
Kural yapısı
Bir kural şu bileşenlerden oluşur:| Alan | Açıklama |
|---|---|
name | Açıklayıcı isim |
priority | Değerlendirme sırası (düşük sayı = önce) |
conditions[] | Koşullar (AND/OR) |
connectors[] | Eşleşince hedeflenecek konnektörler (ağırlıklı) |
enabled | Aktif mi? |
Banka sağlığı
Engine, gerçek zamanlı banka sağlığını izler:- Son 5 dakikadaki başarı oranı
- Ortalama yanıt süresi
- 5xx hata yoğunluğu
Smart Retry
Yönlendirilen banka geçici hata verirse istek otomatik olarak alternatif konnektöre yönlendirilir — kullanıcı yeniden ödeme yapmaz. Detay: Smart Retry.Kuralları yönetme
Kurallar konsoldan veya API üzerinden yönetilir. İki kural seti vardır:/routing-rules— gelişmiş bileşik skor motoru (BIN + tutar + taksit + sağlık + ağırlık)/simple-routing-rules— basit “şu koşulda şu konnektör” kuralları (yeni başlayanlar için)
simple-routing-rules aynı CRUD pattern’i + bulk-delete, activate, deactivate aksiyonları ile kullanılır.
Simülasyon
Bir işlemin hangi kurala düşeceğini önceden görmek için iki yol:- Konsoldaki Routing Simulator ekranı (görsel arayüz)
- Public
/resolveendpoint’i — bir koşul setine göre eşleşen kuralları döndürür: