Banka Hesapları
Kavramlar

Kavramlar

Banka, bağlantı, hesap, bakiye, hareket

Banka Hesapları veri modeliKatalogdaki bir bankayla her ortamda tek bağlantınız olur; hesaplar bağlantının altında otomatik bulunur, her hesabın en son okunan bakiyesi ve ekstre hareketleri vardır.ORTAMDA 1KEŞFEDİLİRBankabankId · EFT koduBağlantıconnectionIdHesapaccountId · IBANBakiyeen son okunanHarekettransactionIdLEJANTKATALOGSİZİN KURDUĞUNUZOTOMATİK BULUNURBANKADAN OKUNUR
Sizin kurduğunuz tek şey bağlantıdır; hesaplar onun altında otomatik bulunur, her hesap için bakiye ve hareketler bankadan okunur.
TerimAnlamıAPI'deki kimliği
BankaKatalogdaki banka; EFT koduyla tanımlanır.bankId
BağlantıSizin bir bankayla kurduğunuz okuma bağlantısı. Aynı ortamda bir bankaya bir bağlantınız olur.connectionId
HesapBağlantı altında bulunan banka hesabı. Bağlantı aktif olduğunda hesaplarınız kendiliğinden bulunur.accountId
BakiyeHesabın en son okunan bakiyesi.accountId ile
HareketHesap ekstresindeki tek satır: tutar, yön, tarih, açıklama.transactionId
TazelikVerinin en son ne zaman okunduğu ve bir sonraki okumanın ne zaman mümkün olduğu.freshness
Yenileme isteğiBir hesabın bankadan yeniden okunmasını istemek.POST …/sync
YetenekBir bağlantıda kullanılabilen veri türleri ve işlemler; transfer için OUTGOING_TRANSFER, döviz için FX_EXCHANGE.capabilities
TransferBağlı hesabınızdan bir IBAN'a gönderilen para.transferId (id)
Döviz teklifiAynı bankadaki iki hesabınız arasında bankanın verdiği, kısa süre geçerli kur ve tutar.quoteId (id)
Döviz işlemiBir teklifin işleme alınması.orderId (id)
OrtamTest ya da canlı; API anahtarınızın ortamıdır.—

Bağlantı durumları

Bir bağlantı bankadan veri okunmaya başlamadan önce başvuru ve kurulum adımlarından geçer. Durum status alanındadır; durumun gerekçesi statusReasonCode alanında kısa bir kodla verilir (değerler: Bağlantılar).

Bağlantı durumlarının yaşam döngüsüDurum makinesi: banka belge istiyorsa bağlantı PENDING_DOCUMENTS durumunda açılır, belgeler teslim edilince UNDER_REVIEW olur, bir belge reddedilirse geri döner, ardından PENDING_SETUP olur; belge istemeyen bankalarda doğrudan PENDING_SETUP ile başlar. Kurulumdan sonra ACTIVE olur; okumalar başarısız olunca okuma başarılı olana kadar DEGRADED kalır; ACTIVE ve DEGRADED askıya alınıp (SUSPENDED) yeniden açılabilir; her durum DISCONNECTED ile kapanabilir ve bu durum yeniden açılmaz.TESLİM EDİLDİREDDEDİLDİONAYLANDIKURULDUOKUMA HATASIDÜZELDİASKIYA ALINDIYENİDEN AÇILDIASKIYA ALINDIPENDING_DOCUMENTSUNDER_REVIEWPENDING_SETUPACTIVEDEGRADEDSUSPENDEDDISCONNECTEDbelge isteyen bankabelge istemeyen bankaher durumdan geçilebilirLEJANTBAŞVURU ADIMIBANKADAN OKUNUROKUNMAZBAŞLANGIÇSON
Yeni veri yalnız ACTIVE ve DEGRADED durumlarında okunur. DEGRADED bir hata durumu değildir: okumalar yeniden denenir ve bağlantı kendiliğinden ACTIVE olur. DISCONNECTED yeniden açılmaz; bankayı tekrar bağladığınızda yeni bir connectionId oluşur.
DurumBankadan yeni veri okunur muNe yapmalısınız
PENDING_DOCUMENTSHayırBaşvuru belgelerini panelde gösterilen teslim talimatına göre iletin.
UNDER_REVIEWHayırBelgeleriniz inceleniyor; bekleyin. Bir belge reddedilirse bağlantı PENDING_DOCUMENTS durumuna döner.
PENDING_SETUPHayırKurulum Lunixi tarafından tamamlanıyor; bekleyin.
ACTIVEEvetBir şey yapmanız gerekmez; hesaplarınız düzenli olarak okunur.
DEGRADEDOkuma deneniyor ama son okumalar başarısızSon okunan veri döner ve güncel olmayabilir. Okumalar kendiliğinden yeniden denenir; lastSuccessfulSyncAt alanını izleyin.
SUSPENDEDHayırBağlantı askıya alındı. Panelde bağlantı ayrıntısına bakın; gerekiyorsa Lunixi ile iletişime geçin.
DISCONNECTEDHayırBağlantı kapandı ve yeniden açılmaz. Bankayı yeniden okumak için panelden yeniden bağlayın; yeni bağlantı yeni bir connectionId alır.

Bağlantı kesildiğinde hesapları silinmez; durumları INACTIVE olur. Banka bir hesabı artık döndürmüyorsa o hesap da INACTIVE olur.

Daha önce okunmuş hesaplar, bakiyeler ve hareketler bağlantı ACTIVE olmasa da API'den okunabilir. Durum yalnız bankadan yeni veri okunup okunmadığını belirler.

Hareket yönü ve tipi

Her hareketin bir yönü (direction) vardır:

directionAnlamı
CREDITHesaba giren para
DEBITHesaptan çıkan para

amountMinor her zaman sıfır ya da pozitiftir; işaret taşımaz. Paranın girdiğini mi çıktığını mı direction alanından okuyun.

Bankalar hareketleri kendi kodlarıyla sınıflandırır. Lunixi bu kodları bankadan bağımsız ortak bir tipe (canonicalType) eşler; böylece bütün bankalarınızın hareketlerini aynı tiplerle süzebilirsiniz. Eşlenemeyen hareket OTHER olur.

canonicalTypeAnlamı
TRANSFER_INGelen havale/EFT
TRANSFER_OUTGiden havale/EFT
INTERNAL_INHesaplar arası giriş
INTERNAL_OUTHesaplar arası çıkış
POS_SETTLEMENTPOS hesaba geçiş
POS_SETTLEMENT_REFUNDPOS iadesi
FEEMasraf / komisyon
TAXVergi
CASH_INNakit yatırma
CASH_OUTNakit çekme
CARDKart işlemi
LOANKredi
FXDöviz işlemi
INTERESTFaiz
OTHERDiğer

Para transferi

Bağlantınız transfer destekliyorsa (capabilities içinde OUTGOING_TRANSFER) bağlı hesabınızdan bir IBAN'a para gönderebilirsiniz; API'den Para Transferi uçlarıyla, panelden Para gönder ile. Lunixi bakiye kontrolü yapmaz; transferi bankaya iletir ve bankanın cevabına göre durumunu günceller.

Transfer durumları

DurumAnlamıSon durum mu
PENDING_OTPYalnız panelden başlatılan transferde: kullanıcının e-posta doğrulama kodu bekleniyor. API anahtarıyla oluşturulan transfer bu durumdan geçmez.Hayır
SUBMITTEDTransfer onaylandı ve bankaya iletildi ya da iletilmek üzere sırada; bankanın cevabı bekleniyor.Hayır
PROCESSINGBanka transferi işliyor.Hayır
COMPLETEDBanka transferi tamamladı. Alıcı banka parayı sonradan iade ederse RETURNED olabilir.Neredeyse — iade gelebilir
FAILEDTransfer gerçekleşmedi; sebep failureCode alanında.Evet
RETURNEDTamamlanan transfer alıcı bankadan iade edildi.Evet
CANCELEDTransfer iptal edildi: doğrulama kodu süresinde onaylanmadı, kullanıcı ya da banka iptal etti.Evet
Para transferi durumlarının yaşam döngüsüDurum makinesi: panelden başlatılan transfer PENDING_OTP durumunda açılır, kod onaylanınca SUBMITTED, onaylanmazsa CANCELED olur; API ile oluşturulan transfer doğrudan SUBMITTED açılır. SUBMITTED durumundan PROCESSING, COMPLETED veya FAILED olur; PROCESSING durumundan COMPLETED, FAILED, RETURNED veya CANCELED olur. COMPLETED bir transfer sonradan RETURNED olabilir.KOD ONAYIBANKADADOĞRUDANTAMAMLANDIONAYLANMADIREDDEDİLDİREDDEDİLDİGERİ GÖNDERİLDİİPTAL EDİLDİSONRADAN İADEPENDING_OTPSUBMITTEDPROCESSINGCOMPLETEDCANCELEDFAILEDRETURNEDPANELAPILEJANTBAŞLANGIÇSÜRÜYORoutcomeUnknown BURADA BEKLERSONHÂLÂ DEĞİŞEBİLİR
Panelden başlatılan transfer PENDING_OTP, API ile oluşturulan transfer SUBMITTED durumunda başlar. outcomeUnknown: true olan transfer SUBMITTED durumunda bekler — tekrar göndermeyin. COMPLETED, alıcı banka parayı iade etmedikçe son durumdur.
  • PROCESSING her bankada görülmez; transfer SUBMITTED durumundan doğrudan sonuçlanabilir.
  • outcomeUnknown true ise bankanın cevabı henüz doğrulanamamıştır ve transfer SUBMITTED durumunda bekler. Transferi yeniden göndermeyin; Lunixi sonucu bankayla doğrular. → Para Transferi › Sonucu doğrulanamayan transfer
  • Tamamlanan transfer bir sonraki hesap okumasında hesabınızın hareketlerinde de giden hareket olarak görünür; eşleşen hareketin kimliği transferin bankTransactionId alanına yazılır.

Transfer yolu (rail)

Transferin hangi yoldan gideceğine banka karar verir; siz seçmezsiniz.

railAnlamı
INTERNALAynı bankadaki kendi hesaplarınız arası (virman).
INTRABANKAynı bankadaki başka bir hesaba (havale).
FASTFAST ile başka bankaya.
EFTEFT ile başka bankaya. EFT kapanış saatinden sonra gönderilen transfer reddedilebilir (bank_connect.transfer.eft_cutoff_passed).
UNKNOWNBanka yolu henüz bildirmedi.

Banka yolu bildirene kadar alan null olabilir.

Döviz işlemi

Bağlantınız döviz işlemi destekliyorsa (capabilities içinde FX_EXCHANGE) aynı bankadaki iki hesabınız arasında döviz alıp satabilirsiniz; API'den Döviz İşlemi uçlarıyla, panelden Döviz çevir ile.

Döviz işlemi akışıAkış: isteğe bağlı olarak kurları okursunuz, kısa süre geçerli bir teklif alırsınız ve süresi dolmadan teklifi işleme dönüştürürsünüz; işlem SUBMITTED açılır, bankanın yanıtına göre COMPLETED veya FAILED olur. Webhook gönderilmediği için sonucu işlem ucundan okursunuz.SÜRE DOLMADANKurlarGET /fx/ratesTeklifPOST /fx/quotesİşlemPOST /fx/ordersCOMPLETEDFAILEDisteğe bağlı~1–2 dk geçerli · expiresAtSUBMITTED açılırGET /fx/orders/{orderId}webhook yok — işlemi okuyunLEJANTİSTEĞE BAĞLIKISA ÖMÜRLÜBANKAYA GÖNDERİLİRSON
Teklif hiçbir tutarı bloke etmez ve kısa süre geçerlidir; işlemi expiresAt dolmadan açın. Sonucu işlem ucundan okuyun — döviz işlemleri için webhook gönderilmez.
KavramAçıklama
Kaynak hesapSattığınız para biriminin hesabı; tutar buradan çıkar.
Hedef hesapAldığınız para biriminin hesabı; tutar buraya girer. Kaynak hesapla aynı bağlantıda, farklı para biriminde olmalıdır.
TeklifBankanın uygulayacağı kur ve iki taraftaki tutar. Hiçbir şeyi bloke etmez; geçerlilik süresini banka belirler (çoğunlukla bir iki dakika). Bir teklifle yalnız bir işlem açılır.
İşlemTeklifin işleme alınması. SUBMITTED durumunda açılır, bankanın cevabına göre COMPLETED ya da FAILED olur.

Döviz işlemleri için webhook gönderilmez; sonucu işlem ucundan sorgulayın.

Tazelik

Hesaplarınız bankadan belirli aralıklarla okunur; veri anlık değildir. Her hesap, verinin ne kadar taze olduğunu freshness nesnesiyle bildirir:

AlanAnlamı
lastSuccessfulSyncAtBankadan en son başarılı okumanın zamanı
nextSyncAvailableAtBir sonraki okumanın en erken zamanı
minSyncIntervalSecondsİki okuma arasındaki en kısa süre (saniye). Değer bağlantıya göre değişebilir; sabit bir değer varsaymayın, bu alandan okuyun.

Okuma aralığı kısaltılamaz. Şimdi yenile isteği de bu aralığa uyar: aralık dolmadıysa okuma nextSyncAvailableAt zamanına planlanır.

Bağlantı DEGRADED durumundayken okumalar başarısız olduğu için veri eski kalabilir; lastSuccessfulSyncAt ilerlemez.

Ortam

Ortamı API anahtarınız belirler. Test anahtarı (mk_test_…) yalnız test ortamındaki bağlantıları ve verileri, canlı anahtar (mk_live_…) yalnız canlı ortamdakileri görür. İstekte ortam göndermezsiniz; gönderirseniz istek 400 VALIDATION_ERROR ile reddedilir. Test ortamı için: Test Ortamı.

Maskeleme

Kişisel ve hassas banka verileri API'de ve webhook'ta yalnız maskeli döner:

VeriAlanBiçim
Hesabınızın IBAN'ıibanMaskedTR00 **** **** **** **** **00 00 — ülke kodu, kontrol hanesi ve son 4 hane görünür
Hesap numarasıaccountNumberMasked****0000 — son 4 hane görünür
Karşı tarafın adıcounterpartyNameMaskedÖ**** A**** — her kelimenin ilk harfi görünür
Karşı tarafın IBAN'ıcounterpartyIbanMaskedIBAN ile aynı biçim
Transfer alıcısının IBAN'ı ve adıreceiverIbanMasked, receiverNameMaskedIBAN ve ad ile aynı biçim

Hiç dönmeyen veriler: tam IBAN, tam hesap numarası, hesap sahibinin adı, karşı tarafın ve transfer alıcısının tam adı ve VKN/TCKN.

⚠️

Hareket açıklaması (description) bankanın yazdığı gibi, maskelenmeden döner; ödeme açıklamasındaki referans kodlarıyla eşleştirme yapabilmeniz içindir. Bankanın açıklamaya yazdığı bilgiler (ör. gönderenin adı) bu alanda olduğu gibi görünebilir.