Bankalarla/Kurumlarla aranızdaki güvenli hat.
FinevoConnect YÖS, kullanıcıların birden çok bankadaki/kurumdaki hesap, bakiye, kart ve ödemelerini tek bir izinli bağlantıyla yönetmesini sağlayan YÖS/TPP arka ucudur. Kullanıcı bir kez rıza verir; sistem onun adına bankayla/kurumla konuşur, veriyi toplar, sade bir API olarak sunar.
Kısaca ne işe yarar?
Diyelim ki üç ayrı bankada/kurumda hesabınız var. Normalde her biri için ayrı uygulamaya girer, ayrı ayrı bakiyeye bakarsınız. FinevoConnect YÖS'te bir kez kaydolursunuz, her bankaya/kuruma bir defa izin verirsiniz — o andan sonra üç bankanın/kurumun hesabını, kartını, işlem geçmişini tek yerden görürsünüz; istediğinizde yine tek yerden ödeme başlatırsınız. Bankalarla/Kurumlarla konuşan tüm teknik iş perde arkasındadır.
Kim, ne için kullanır?
FinevoConnect YÖS bir altyapıdır: doğrudan kullanıcısı son kişi değil, üzerine uygulama kuran geliştiricilerdir. Zincir şöyle:
Son kullanıcı
Banka/Kurum müşterisi. Bir uygulama üzerinden "hesaplarımı bağla" der, bankanın/kurumun onay ekranından geçer, sonra hesaplarını görür.
Uygulama / geliştirici
FinevoConnect YÖS'ün web servislerini çağıran taraf. Kendi ekranını çizer; verileri ve ödeme işlemlerini bu sistemden ister.
FinevoConnect YÖS (biz)
Ortadaki YÖS altyapısı. Kimliği yönetir, izinleri tutar, bankalarla/kurumlarla konuşur, veriyi toplayıp sade biçimde sunar.
Sistem kimlerden oluşur?
apps/api — Public API
Kullanıcıların/uygulamaların konuştuğu web servisi. Çok kullanıcılı: uygulama anahtarı (X-App-Key) + kullanıcı kimliği → JWT. Bankaya/Kuruma hiç bağlanmaz — veriyi paylaşılan veritabanından okur, işi batch'e ya senkron iç RPC ile (rıza açma, iptal, callback, canlı okuma) ya da dayanıklı niyet kutusuna (SyncIntent outbox — ödeme/periyodik) yazarak devreder. Bu kural mimari testlerle zorlanır.
apps/batch — Arka plan işçisi
Bankalarla/Kurumlarla konuşan tek taraf (Hangfire). Niyet kutusunu tüketir, bankaya/kuruma mTLS+JWS ile bağlanır, hesap/kart/ödeme verisini paylaşılan MSSQL'e yazar. Dışarıya açık REST sunmaz; yalnız API'nin çağırdığı iç uçları (canlı okuma, rıza ve callback RPC'leri) ve banka/kurum olay webhook'unu barındırır.
?fresh=true: kullanıcı o anki veriyi istediğinde API, batch'in iç ucunu senkron çağırır; taze banka/kurum verisi aynı istek içinde döner.Temel akış: bir hesap nasıl bağlanır?
?fresh=true derse batch senkron çağrılıp o anki banka/kurum verisi aynı istekte döner (bkz. Canlı Okuma). Ödeme talimatı ise niyet kutusu üzerinden yazma yolunu izler.Öne çıkan güvenceler
Kullanıcı izolasyonu
Herkes yalnız kendi verisine erişir; başkasının kaynağı 404 döner, varlığı bile sızmaz (BOLA).
Tekrar koruması
Aynı istek yanlışlıkla iki kez gelirse (örneğin "Öde" düğmesine iki kez basılırsa) iş yalnızca bir kez yapılır: yazma isteklerindeki Idempotency-Key başlığı ikinci çağrıyı yakalar, ilk çağrının kaydedilmiş yanıtını aynen döndürür. Ödemede ek güvence olarak işlem önce rezerve edilir, iş bitince tamamlanır — böylece yarıda kalan bir ödeme ikinci denemede yinelenmez.
Kayıp mesaj yok
API ile işçi outbox üzerinden haberleşir; iş en az bir kez işlenir, çift işlem engellenir.
Şifreli saklama
Banka/Kurum belirteçleri ve kişisel bilgiler veritabanında düz metin değil, şifreli tutulur.
Standarda birebir
Bankaya/Kuruma giden her alan adı ve kod, resmi ÖHVPS spesifikasyonuyla harfi harfine aynıdır.
Canlı & taze veri
Kullanıcı ekranın başındayken ?fresh=true ile o anki banka/kurum verisi aynı istekte anlık çekilir (senkron RPC); değilse hızlı yerel önbellek döner.
Çok dilli hatalar
RFC 7807 + makine-okunur kod + Türkçe/İngilizce açıklama + traceId.
Bu dokümanda ne var?
Hızlı Başlangıç
Kurulumdan ilk ödemeye adım adım; kopyala-çalıştır örneklerle.
Mimari
Parçalar nasıl birleşiyor, kim kiminle nasıl konuşuyor.
API Uçları
38 ucun tamamı: ne yapar, giriş gerekir mi.
Hata Kodları
48 kodun anlamı, HTTP karşılığı, Türkçe açıklaması.
Veritabanı
Tablolar ne tutuyor, nasıl ilişkili.
İstek Yaşam Döngüsü
Bir istek nerede başlar, hangi durakları geçer.
Canlı Okuma & PSU
?fresh=true nasıl anlık banka/kurum verisi çeker; kota-muaf senkron RPC yolu.
Referans (dosya-dosya)
Her dosya, her metot: ne yapar, kimi çağırır.