Sistem

Veritabanı

Tek bir MSSQL 2022 veritabanı hem Public API hem batch tarafından paylaşılır. Şema kod-öncelikli (EF Core 10) tanımlanır ve tek yerden (FinevoConnect.Yos.Shared.Persistence) yönetilir. Her tablonun altındaki N kolon satırını açarak alanları (ad + tip) görebilirsin.

Neden tek DB? API ile batch, niyet kutusu ve şifreli token'lar üzerinden aynı veritabanı ile haberleşir; ayrı mesaj kuyruğuna gerek kalmadan işlem-tutarlı köprü kurulur.

Kullanıcı & Kimlik

Applicationsİstemci uygulamalar — X-App-Key başlığıyla kimliğini kanıtlayan taraflar.
6 kolon
KolonTipAçıklama
Id PKuniqueidentifierBirincil anahtar (uygulama benzersiz kimliği)
Name nvarchar(100)Uygulama adı (benzersiz)
AppKeyHash nvarchar(64)Uygulama anahtarının özeti (ham anahtar saklanmaz; benzersiz)
Status nvarchar(20)Uygulama durumu (aktif/askıya alınmış)
CreateTime datetime2Kayıt oluşturulma zamanı
UpdateTime datetime2Son güncellenme zamanı
UsersSon kullanıcılar — uygulamanın bildirdiği kullanıcı anahtarı + müşteri numarası ikilisiyle tanınır.
9 kolon
KolonTipAçıklama
Id PKuniqueidentifierBirincil anahtar (kullanıcı benzersiz kimliği)
ApplicationId uniqueidentifierKullanıcının ait olduğu istemci uygulama (FK)
UserKey nvarchar(64)Uygulamanın kullanıcı için verdiği anahtar (userKey)
CustomerNo nvarchar(32)Müşteri numarası (customerNo). ApplicationId + UserKey + CustomerNo üçlüsü benzersizdir
DisplayName nullnvarchar(200)Kullanıcının görünen adı (isteğe bağlı)
PreferredLocale nvarchar(8)Tercih edilen dil/yerel (orn. tr, en)
Status nvarchar(20)Hesap durumu (aktif/askıya alınmış)
CreateTime datetime2Kayıt oluşturulma zamanı
UpdateTime datetime2Son güncellenme zamanı
ParametersAnahtar-değer ayar deposu — uygulama anahtarları (auth.app.*.key) burada yönetilir, açılışta Applications ile eşitlenir.
5 kolon
KolonTipAçıklama
Key PKnvarchar(200)Parametre anahtarı (örn. auth.app.dev-app.key)
Value nvarchar(max)Parametre değeri
Description nullnvarchar(500)Açıklama
CreateTime datetime2Kayıt oluşturulma zamanı
UpdateTime datetime2Son güncellenme zamanı
RefreshTokensOturum yenileme token'ları — çıkışta/iptalde geçersiz kılınır.
6 kolon
KolonTipAçıklama
Id PKuniqueidentifierBirincil anahtar (benzersiz kimlik)
UserId uniqueidentifierToken sahibi kullanıcı kimliği (FK)
TokenHash nvarchar(128)Yenileme tokeninin özeti (ham değer saklanmaz)
ExpireTime datetime2Tokenin geçerlilik bitiş zamanı
RevokeTime nulldatetime2İptal edildiyse iptal zamanı (bos ise aktif)
CreateTime datetime2Token oluşturulma zamanı

Bankalar & Bağlantılar

HhsBanka ana verisi — kod, ad, temel adres, olay aboneliği referansı.
12 kolon
KolonTipAçıklama
Id PKuniqueidentifierBirincil anahtar (banka/HHS benzersiz kimliği)
HhsCode nvarchar(50)Bankanın OHVPS katılımcı kodu (hhsKod)
Name nvarchar(255)Banka/HHS görünen adı
LogoUrl nullnvarchar(500)Banka logo adresi (isteğe bağlı)
BaseUrl nvarchar(500)Bankanın OHVPS API kok adresi
Status nvarchar(20)HHS durumu (etkin/devre dışı)
OhvpsClientCertRef nvarchar(255)Outbound mTLS istemci sertifikası referansı
JwksUrl nullnvarchar(500)Bankanın JWS doğrulama anahtar (JWKS) adresi
OhvpsYosKod nvarchar(50)Bu YOS için gönderilen katılımcı kodu (yosKod)
EventSubscriptionReference nullnvarchar(64)Olay bildirim abonelik referansı
CreateTime datetime2Kayıt oluşturulma zamanı
UpdateTime datetime2Son güncellenme zamanı
HhsConnectionsBir kullanıcının bir bankaya rızası — durum, şifreli token'lar, GKD durumu, sabit GroupId, RowVersion.
27 kolon
KolonTipAçıklama
Id PKuniqueidentifierBirincil anahtar (bağlantı/rıza benzersiz kimliği)
UserId uniqueidentifierBağlantıyı açan kullanıcı kimliği (FK)
HhsId uniqueidentifierBağlanılan banka/HHS kimliği (FK)
KeysetSeq bigintKeyset sayfalama için artan sıra değeri
ConsentReference nullnvarchar(64)Bankadaki rıza numarası (rizaNo)
ConsentStatus nvarchar(20)Rıza/bağlantı durumu (bekliyor/yetkili/bağlı/iptal...)
ConsentType nvarchar(30)Rıza tipi (hesap bilgisi / ödeme emri)
IdentityType nvarchar(10)Kimlik tipi (TCKN, pasaport vb.)
IdentityValueEncrypted nvarchar(1024)Kullanıcı kimlik değeri (PII, şifreli)
PersonIdentityValueEncrypted nullnvarchar(1024)Yetkili gerçek kişi kimliği (şifreli) — kurumsal rızada
CustomerReference nullnvarchar(100)Bankadaki müşteri referansı
AuthorizationCodeExpireTime nulldatetime2Yetkilendirme kodunun son geçerlilik zamanı
AccessTokenEncrypted nullnvarcharBankadan alınan erişim tokeni (şifreli)
AccessTokenExpireTime nulldatetime2Erişim tokeninin geçerlilik bitişi
RefreshTokenEncrypted nullnvarcharBankadan alınan yenileme tokeni (şifreli)
RefreshTokenExpireTime nulldatetime2Yenileme tokeninin geçerlilik bitişi
StateCode nullnvarchar(128)GKD akışı için geçici state değeri
AuthMethod nvarchar(20)Kullanıcı yönlendirme yöntemi (GKD metodu)
AuthorizationUrl nullnvarchar(1000)Kullanıcıyı bankaya yönlendiren yetkilendirme adresi
CreateTime datetime2Kayıt oluşturulma zamanı
UpdateTime datetime2Son güncellenme zamanı
ConnectTime nulldatetime2Bağlantının bağlı duruma geçtiği zaman
ConsentExpireTime nulldatetime2Rızanın geçerlilik bitiş zamanı
CancelDetailCode nullnvarchar(8)İptal detay/neden kodu
RowVersion nullrowversionEşzamanlılık sürüm damgası (rowversion)
ConsentStatusSyncTime nulldatetime2Rıza durumunun bankadan son senkron zamanı
GroupId nvarchar(36)İlk rızada üretilen, tüm isteklerde sabit grup kimliği
ConnectionPermissionsBağlantı başına verilen izinler (hesap/bakiye/işlem/kart).
3 kolon
KolonTipAçıklama
Id PKuniqueidentifierBirincil anahtar (benzersiz kimlik)
HhsConnectionId uniqueidentifierİlgili bağlantı/rıza kimliği (FK)
PermissionCode nvarchar(30)Verilen izin kodu (OHVPS yetki tipi)
HhsQueryQuotaBağlantı + sorgu tipi başına oran sınırı sayacı.
8 kolon
KolonTipAçıklama
Id PKuniqueidentifierBirincil anahtar (benzersiz kimlik)
HhsConnectionId uniqueidentifierİlgili bağlantı/rıza kimliği (FK)
QueryKind nvarchar(30)Sorgu türü (hesap/bakiye/işlem vb.)
WindowStart datetime2Kota penceresinin başlangıç zamanı
ResetTime datetime2Sayacın sıfırlanacağı zaman
CallCount intPencere içinde yapılan çağrı sayısı
Limit intPencere başına izinli azami çağrı sayısı
LastCallTime nulldatetime2Son çağrının yapıldığı zaman

Hesaplar & İşlemler

AccountsBanka hesapları — IBAN (maskeli+şifreli), tür, bakiye, son senkron.
23 kolon
KolonTipAçıklama
Id PKuniqueidentifierHesap kayıt kimliği (PK)
HhsConnectionId uniqueidentifierBağlı olduğu HHS bağlantısı
AccountReference nvarchar(64)HHS tarafı hesap referansı
IbanMasked nvarchar(34)Maskeli IBAN (gösterim için)
IbanEncrypted nullnvarchar(1024)Tam IBAN (şifreli, PII)
AccountType nvarchar(20)Hesap türü
Currency nvarchar(3)Hesap para birimi
Title nvarchar(255)Hesap adı/başlığı
Status nvarchar(10)Hesap durumu
OpenTime nulldatetime2Hesap açılış zamanı
Segment nullnvarchar(20)Müşteri segmenti
UsedCreditAmount nulldecimal(18,2)Kullanılan kredi tutarı
CreditIncluded nullnvarchar(5)Krediye dahil mi bilgisi
LastSyncTime datetime2Son senkronizasyon zamanı
BalanceAvailable decimal(18,2)Kullanılabilir bakiye
BalanceBlocked nulldecimal(18,2)Bloke bakiye
BalanceCurrency nvarchar(3)Bakiye para birimi
BalanceCurrent decimal(18,2)Güncel bakiye
BalanceUpdateTime datetime2Bakiye güncelleme zamanı
TransactionSyncTime nulldatetime2İşlemlerin son senkron zamanı
Alias nullnvarchar(50)Kullanıcı takma adı
BranchName nullnvarchar(50)Şube adı
ProductName nullnvarchar(140)Ürün adı
TransactionsHesap işlem geçmişi — imleç sayfalaması için indeksli.
19 kolon
KolonTipAçıklama
Id PKuniqueidentifierİşlem kayıt kimliği (PK)
AccountId uniqueidentifierAit olduğu hesap
KeysetSeq bigintİmleç sayfalaması için sıra numarası
TransactionReference nvarchar(64)HHS tarafı işlem referansı
ReferenceNo nullnvarchar(64)İşlem referans numarası
Direction nvarchar(10)İşlem yönü (borç/alacak)
Amount decimal(18,2)İşlem tutarı
Currency nvarchar(3)İşlem para birimi
TransactionDate datetime2İşlem tarihi
BalanceAfter nulldecimal(18,2)İşlem sonrası bakiye
Channel nullnvarchar(50)İşlem kanalı
TransactionType nullnvarchar(50)İşlem türü
TransactionPurpose nullnvarchar(50)İşlem amacı
PaymentSystemReference nullnvarchar(64)Ödeme sistemi referansı
Description nullnvarchar(500)İşlem açıklaması
CounterpartyName nullnvarchar(255)Karşı taraf adı
CounterpartyIbanMasked nullnvarchar(34)Karşı taraf maskeli IBAN
CounterpartyIdentityMasked nullnvarchar(50)Karşı taraf maskeli kimlik (PII)
CreateTime datetime2Kayıt oluşturulma zamanı

Kartlar (ana + alt tablolar)

CardsKredi/banka kartları — maskeli PAN, limit, durum, ekstre tipi.
17 kolon
KolonTipAçıklama
Id PKuniqueidentifierKart kayıt kimliği (PK)
HhsConnectionId uniqueidentifierBağlı olduğu HHS bağlantısı
CardReference nvarchar(64)HHS tarafı kart referansı
PanMasked nvarchar(25)Maskeli kart numarası (tam PAN saklanmaz)
CardType nvarchar(10)Kart türü
ProductName nullnvarchar(100)Kart ürün adı
HolderName nullnvarchar(255)Kart sahibi adı (PII)
Status nvarchar(10)Kart durumu
Currency nullnvarchar(3)Kart para birimi
LastSyncTime datetime2Son senkronizasyon zamanı
Alias nullnvarchar(100)Kullanıcı takma adı
CommercialTitle nullnvarchar(255)Ticari unvan
Form nullnvarchar(10)Kart formu (fiziksel/sanal)
PrimaryPanMasked nullnvarchar(25)Ana kart maskeli numarası
Scheme nullnvarchar(15)Kart şeması (Visa/Mastercard vb.)
Segment nullnvarchar(15)Kart segmenti
SubType nullnvarchar(20)Kart alt türü
CardDetailsKart ek bilgileri — borç, kullanılabilir limit, kesim/ödeme tarihleri.
20 kolon
KolonTipAçıklama
Id PKuniqueidentifierKart detay kimliği (PK)
CardId uniqueidentifierAit olduğu kart
CreditLimit nulldecimal(18,2)Kredi kartı limiti
AvailableLimit nulldecimal(18,2)Kullanılabilir limit
CashLimit nulldecimal(18,2)Nakit avans limiti
AvailableCashLimit nulldecimal(18,2)Kullanılabilir nakit limiti
StatementDebt nulldecimal(18,2)Ekstre borcu
MinimumPayment nulldecimal(18,2)Asgari ödeme tutarı
RemainingDebt nulldecimal(18,2)Kalan borç
Currency nullnvarchar(3)Para birimi
DueDate nulldatetime2Son ödeme tarihi
StatementDate nulldatetime2Ekstre kesim tarihi
NextStatementDate nulldatetime2Sonraki ekstre tarihi
LastSyncTime datetime2Son senkronizasyon zamanı
NextDueDate nulldatetime2Sonraki son ödeme tarihi
PeriodTransactionTotal nulldecimal(18,2)Dönem işlem toplamı
RemainingInstallmentTotal nulldecimal(18,2)Kalan taksit toplamı
RemainingMinimumPayment nulldecimal(18,2)Kalan asgari ödeme
RemainingStatementDebt nulldecimal(18,2)Kalan ekstre borcu
StatementCurrency nullnvarchar(3)Ekstre para birimi
CardTransactionsKart işlem geçmişi (sayfalı).
25 kolon
KolonTipAçıklama
Id PKuniqueidentifierKart işlemi kimliği (PK)
CardId uniqueidentifierAit olduğu kart
KeysetSeq bigintİmleç sayfalaması için sıra numarası
TransactionReference nvarchar(64)HHS tarafı işlem referansı
Direction nvarchar(10)İşlem yönü (borç/alacak)
Amount decimal(18,2)İşlem tutarı
Currency nvarchar(3)İşlem para birimi
TransactionDate datetime2İşlem tarihi
PostingDate nulldatetime2Hesaba yansıma tarihi
Description nullnvarchar(500)İşlem açıklaması
MerchantName nullnvarchar(255)Üye iş yeri adı
MerchantCategoryCode nullnvarchar(20)Üye iş yeri kategori kodu (MCC)
Channel nullnvarchar(50)İşlem kanalı
TransactionType nullnvarchar(50)İşlem türü
PointAmount nulldecimal(18,2)Kazanılan puan tutarı
IsInstallment bitTaksitli işlem mi
CreateTime datetime2Kayıt oluşturulma zamanı
InstallmentCount nullintTaksit sayısı
InstallmentPeriod nullintTaksit dönemi
InstallmentTotalAmount nulldecimal(18,2)Taksitli işlem toplam tutarı
OriginalAmount nulldecimal(18,2)Orijinal işlem tutarı
OriginalCurrency nullnvarchar(3)Orijinal para birimi
PeriodValue intDönem değeri
PointStatus nullnvarchar(10)Puan durumu
PointUnit nullnvarchar(50)Puan birimi
CardInstallmentsTaksitli işlem kayıtları (ÖHVPS Tablo 21).
12 kolon
KolonTipAçıklama
Id PKuniqueidentifierTaksit kayıt kimliği (PK)
CardTransactionId nulluniqueidentifierİlişkili kart işlemi
InstallmentNumber nullintTaksit sıra numarası
TotalInstallments nullintToplam taksit sayısı
Amount decimal(18,2)Taksit tutarı
RemainingAmount nulldecimal(18,2)Kalan taksit tutarı
Currency nullnvarchar(3)Para birimi
DueDate nulldatetime2Taksit son ödeme tarihi
IsPaid bitTaksit ödendi mi
CreateTime datetime2Kayıt oluşturulma zamanı
CardId nulluniqueidentifierAit olduğu kart
PeriodValue nullintDönem değeri
CardPointsKart puan/ödül bakiyeleri (ÖHVPS Tablo 23).
8 kolon
KolonTipAçıklama
Id PKuniqueidentifierPuan kayıt kimliği (PK)
CardId uniqueidentifierAit olduğu kart
PointType nvarchar(50)Puan türü
Description nullnvarchar(255)Puan açıklaması
Balance decimal(18,2)Puan bakiyesi
Currency nullnvarchar(10)Puan para birimi
ExpireTime nulldatetime2Puan son kullanma zamanı
LastSyncTime datetime2Son senkronizasyon zamanı
CardStatementTypesEkstre tipi/kesim bilgileri (ÖHVPS Tablo 25).
12 kolon
KolonTipAçıklama
Id PKuniqueidentifierEkstre türü kimliği (PK)
CardId uniqueidentifierAit olduğu kart
StatementTypeCode nvarchar(50)Ekstre türü kodu
Description nullnvarchar(255)Ekstre açıklaması
PeriodStart nulldatetime2Dönem başlangıç tarihi
PeriodEnd nulldatetime2Dönem bitiş tarihi
StatementDebt nulldecimal(18,2)Ekstre borcu
MinimumPayment nulldecimal(18,2)Asgari ödeme tutarı
DueDate nulldatetime2Son ödeme tarihi
Currency nullnvarchar(3)Para birimi
CreateTime datetime2Kayıt oluşturulma zamanı
Status nullnvarchar(10)Ekstre durumu

Ödemeler

PaymentOrdersTek seferlik ödeme emirleri — durum, ödeme referansı, ödeme sistemi (banka belirler).
39 kolon
KolonTipAçıklama
Id PKuniqueidentifierÖdeme emri kimliği (PK)
UserId uniqueidentifierSahip kullanıcı kimliği
HhsConnectionId uniqueidentifierBanka (HHS) bağlantı kimliği
SenderAccountId nulluniqueidentifierGönderen hesap kimliği
KeysetSeq bigintKeyset sayfalama sıra no
PaymentOrderReference nullnvarchar(64)HHS ödeme emri referansı
ConsentReference nullnvarchar(64)HHS rıza referansı
AccessTokenEncrypted nullnvarcharErişim token (şifreli)
AccessTokenExpireTime nulldatetime2Erişim token bitiş zamanı
RefreshTokenEncrypted nullnvarcharYenileme token (şifreli)
RefreshTokenExpireTime nulldatetime2Yenileme token bitiş zamanı
AuthorizationUrl nullnvarcharYetkilendirme yönlendirme adresi
SenderName nullnvarchar(255)Gönderen adı
SenderIbanMasked nullnvarchar(34)Gönderen IBAN (maskeli)
SenderIbanEncrypted nullnvarchar(1024)Gönderen IBAN (şifreli)
RecipientName nvarchar(255)Alıcı adı
RecipientIbanMasked nvarchar(34)Alıcı IBAN (maskeli)
RecipientIbanEncrypted nullnvarchar(1024)Alıcı IBAN (şifreli)
Amount decimal(18,2)Ödeme tutarı
Currency nvarchar(3)Para birimi
PaymentSystem nullnvarchar(20)Ödeme sistemi (H/F/E)
PaymentSystemReference nullnvarchar(64)Ödeme sistemi referansı
Description nullnvarchar(500)Ödeme açıklaması
PurposeCode nullnvarchar(20)Ödeme amaç kodu
ReferenceInfo nullnvarchar(255)Referans bilgisi
ExpectedPaymentTime nulldatetime2Beklenen ödeme zamanı
Status nvarchar(20)Ödeme emri durumu
StatusCode nullnvarchar(10)HHS durum kodu
RejectionCode nullnvarchar(20)Ret kodu
PaymentOrderPlaceTime nulldatetime2Emrin verildiği zaman
StatusChangeTime nulldatetime2Durum değişim zamanı
IdempotencyKey nullnvarchar(100)İdempotency anahtarı
StateCode nullnvarchar(128)GKD state (callback eşleştirme)
CreateTime datetime2Oluşturma zamanı
UpdateTime datetime2Güncelleme zamanı
CompleteTime nulldatetime2Tamamlanma zamanı
RowVersion nullrowversionEşzamanlılık sürüm damgası
AuthorizationCompletionTime nulldatetime2Yetkilendirme tamamlanma son zamanı
ConsentCreatedTime nulldatetime2Rıza oluşturma zamanı
RecurringPaymentsDüzenli ödeme talimatları — sıklık, tutar, ödeme sayısı.
35 kolon
KolonTipAçıklama
Id PKuniqueidentifierDüzenli ödeme kimliği (PK)
UserId uniqueidentifierSahip kullanıcı kimliği
HhsConnectionId uniqueidentifierBanka (HHS) bağlantı kimliği
SenderAccountId nulluniqueidentifierGönderen hesap kimliği
KeysetSeq bigintKeyset sayfalama sıra no
InstructionReference nullnvarchar(64)HHS talimat referansı
ConsentReference nullnvarchar(64)HHS rıza referansı
AccessTokenEncrypted nullnvarcharErişim token (şifreli)
AccessTokenExpireTime nulldatetime2Erişim token bitiş zamanı
RefreshTokenEncrypted nullnvarcharYenileme token (şifreli)
RefreshTokenExpireTime nulldatetime2Yenileme token bitiş zamanı
AuthorizationUrl nullnvarcharYetkilendirme yönlendirme adresi
StateCode nullnvarchar(128)GKD state (callback eşleştirme)
RecipientName nvarchar(255)Alıcı adı
RecipientIbanMasked nvarchar(34)Alıcı IBAN (maskeli)
RecipientIbanEncrypted nvarchar(1024)Alıcı IBAN (şifreli)
Amount nulldecimal(18,2)Ödeme tutarı
Currency nullnvarchar(3)Para birimi
PaymentSystem nullnvarchar(20)Ödeme sistemi (H/F/E)
ReferenceInfo nullnvarchar(255)Referans bilgisi
Frequency nvarchar(20)Ödeme sıklığı (aylık/haftalık...)
PaymentCount nullintToplam ödeme adedi
InstructionRemark nullnvarchar(180)Talimat notu
StartDate datetime2Başlangıç tarihi
EndDate nulldatetime2Bitiş tarihi
NextExecutionDate nulldatetime2Sonraki icra tarihi
ExecutionCount nullintGerçekleşen icra sayısı
Status nvarchar(24)Düzenli ödeme durumu
CreateTime datetime2Oluşturma zamanı
UpdateTime datetime2Güncelleme zamanı
AuthorizationCompletionTime nulldatetime2Yetkilendirme tamamlanma son zamanı
ConsentCreatedTime nulldatetime2Rıza oluşturma zamanı
Description nullnvarchar(500)Ödeme açıklaması
PurposeCode nullnvarchar(20)Ödeme amaç kodu
SenderName nullnvarchar(255)Gönderen adı
RecurringPaymentExecutionsDüzenli ödemenin her bir gerçekleşme kaydı.
11 kolon
KolonTipAçıklama
Id PKuniqueidentifierDüzenli ödeme icra kimliği (PK)
RecurringPaymentId uniqueidentifierBağlı düzenli ödeme kimliği
SequenceNo nullintİcra sıra numarası
PaymentOrderReference nullnvarchar(64)İlgili ödeme emri referansı
ScheduledDate nulldatetime2Planlanan işlem tarihi
ActualAmount nulldecimal(18,2)Gerçekleşen tutar
ActualTime nulldatetime2Gerçekleşme zamanı
StatusCode nullnvarchar(20)İcra durum kodu
ExecuteTime datetime2İcra kaydı zamanı
Status nvarchar(20)Ödeme emri durumu
Amount decimal(18,2)Planlanan tutar
ForwardDatedPaymentsİleri tarihli ödemeler — planlanan işlem tarihi, durum.
30 kolon
KolonTipAçıklama
Id PKuniqueidentifierİleri tarihli ödeme kimliği (PK)
UserId uniqueidentifierSahip kullanıcı kimliği
HhsConnectionId uniqueidentifierBanka (HHS) bağlantı kimliği
SenderAccountId nulluniqueidentifierGönderen hesap kimliği
KeysetSeq bigintKeyset sayfalama sıra no
InstructionReference nullnvarchar(64)HHS talimat referansı
ConsentReference nullnvarchar(64)HHS rıza referansı
AccessTokenEncrypted nullnvarcharErişim token (şifreli)
AccessTokenExpireTime nulldatetime2Erişim token bitiş zamanı
RefreshTokenEncrypted nullnvarcharYenileme token (şifreli)
RefreshTokenExpireTime nulldatetime2Yenileme token bitiş zamanı
AuthorizationUrl nullnvarcharYetkilendirme yönlendirme adresi
StateCode nullnvarchar(128)GKD state (callback eşleştirme)
RecipientName nvarchar(255)Alıcı adı
RecipientIbanMasked nvarchar(34)Alıcı IBAN (maskeli)
RecipientIbanEncrypted nvarchar(1024)Alıcı IBAN (şifreli)
Amount decimal(18,2)Ödeme tutarı
Currency nvarchar(3)Para birimi
PaymentSystem nullnvarchar(20)Ödeme sistemi (H/F/E)
ExecutionDate datetime2Planlanan işlem tarihi
Status nvarchar(24)İleri tarihli ödeme durumu
CreateTime datetime2Oluşturma zamanı
UpdateTime datetime2Güncelleme zamanı
RowVersion nullrowversionEşzamanlılık sürüm damgası
AuthorizationCompletionTime nulldatetime2Yetkilendirme tamamlanma son zamanı
ConsentCreatedTime nulldatetime2Rıza oluşturma zamanı
Description nullnvarchar(500)Ödeme açıklaması
PurposeCode nullnvarchar(20)Ödeme amaç kodu
ReferenceInfo nullnvarchar(255)Referans bilgisi
SenderName nullnvarchar(255)Gönderen adı

Altyapı & Güvenilirlik

SyncIntentsNiyet kutusu (outbox) — API'nin batch'e devrettiği banka işleri. Durum + FIFO sıra.
14 kolon
KolonTipAçıklama
Id PKuniqueidentifierSenkron niyeti birincil anahtarı
HhsConnectionId uniqueidentifierİlgili HHS bağlantı kimliği
IntentKind nvarchar(64)Niyet tipi (consent_create/authorization_complete/consent_cancel...)
Status nvarchar(20)İşlenme durumu (pending/dispatched/consumed/failed)
Payload nvarcharIs yükü (PSU bağlamı + trace, JSON)
GroupId nullnvarchar(64)İşlem gruplama kimliği
TraceId nullnvarchar(64)İzleme (correlation) kimliği
AttemptCount intDeneme sayısı
LastError nullnvarchar(1000)Son hata mesajı
NextAttemptTime nulldatetime2Sonraki deneme zamanı
CreateTime datetime2Oluşturulma zamanı
DispatchTime nulldatetime2Batch'e gönderilme zamanı
ConsumeTime nulldatetime2Tüketilme (işlenme) zamanı
RowVersion nullrowversionİyimser kilit sürüm damgası
OutboxOlay yayını kayıtları — en az bir kez teslim.
11 kolon
KolonTipAçıklama
Id PKuniqueidentifierOutbox olayı birincil anahtarı
EventType nvarchar(100)Olay tipi
AggregateType nvarchar(100)Kaynak (aggregate) tipi
AggregateId nvarchar(64)Kaynak (aggregate) kimliği
Payload nvarcharOlay is yükü (JSON)
Status nvarchar(20)Gönderim durumu (pending/inflight/delivered/dead)
Attempts intDeneme sayısı
NextAttemptTime datetime2Sonraki deneme zamanı
LastError nullnvarchar(1000)Son hata mesajı
CreateTime datetime2Oluşturulma zamanı
SendTime nulldatetime2Gönderilme zamanı
OutboxConsumed'İşlendi' işareti — çift işlem engeli (idempotency).
3 kolon
KolonTipAçıklama
EventId PKuniqueidentifierTüketilen olay kimliği
Consumer PKnvarchar(100)Tüketici adı (idempotency için)
ConsumeTime datetime2Tüketilme zamanı
IdempotencyIdempotency-Key → yanıt eşlemesi — aynı yazma isteğinin tekrarını güvenli kılar.
7 kolon
KolonTipAçıklama
IdempotencyKey PKnvarchar(100)Tekrar-koruma anahtarı
UserId PKuniqueidentifierSahibi kullanıcı kimliği
RequestHash nvarchar(128)İstek gövdesi özeti (hash)
ResponseStatus intYanıt HTTP durum kodu (0=işlemde)
ResponsePayload nvarcharÖnbelleklenen yanıt gövdesi (JSON)
ExpireTime datetime2Geçerlilik bitiş zamanı
CreateTime datetime2Oluşturulma zamanı
AuditLogKritik değişikliklerin denetim izi.
9 kolon
KolonTipAçıklama
Id PKuniqueidentifierDenetim kaydı birincil anahtarı
EntityType nvarchar(100)Değişen varlık tipi
EntityId nvarchar(100)Değişen varlık kimliği
Operation nvarchar(10)İşlem tipi (insert/update/delete)
UserId nullnvarchar(36)İşlemi yapan kullanıcı kimliği
CorrelationId nullnvarchar(64)İzleme (correlation) kimliği
Before nullnvarcharÖnceki durum (JSON)
After nullnvarcharSonraki durum (JSON)
Timestamp datetime2İşlem zamanı

Şema kuralları (kısaca)

Tam PascalCase

Tablo ve kolon adları PascalCase (örn. HhsConnections.GroupId).

Para & tarih tipleri

Para decimal(18,2), zaman datetime2. Enum'lar nvarchar (snake_case değer).

Şifreli alanlar

*Encrypted kolonlar (token, IBAN, TCKN/VKN) DataProtection ile şifreli durur. CVV / tam kart numarası saklanmaz.

Eşzamanlılık

RowVersion ile iyimser kilitleme — çakışan iki güncellemede kaybeden temiz iptal olur.