Banka Hesapları
API Referansı
Hesaplar

Hesaplar

Bu uçları kim çağırır?Dış API (s2s)
Taban yol
/api/v1/bank-connect
Kimlik
Her istekte Ed25519 istek imzası — X-Key-Id, X-Date, X-Nonce, X-Signature. Zaman penceresi ±5 dk, nonce tek kullanımlık. Bearer jetonu ya da panel oturumu bu uçlarda kabul edilmez (401 AUTH_HEADERS_MISSING).
Yetki
Anahtarınız Banka Bağlantıları ürününü (BANK_CONNECT) ve bu sayfadaki uçların yetkisini taşımalıdır: bank-connect:view. Ürünü olmayan anahtar 403 PRODUCT_NOT_ENABLED, yetkisi olmayan anahtar 403 API_INSUFFICIENT_SCOPE alır. Bkz. API'ye Giriş › Yetkiler.
Çapraz yüzey
Bu uçlar s2s yüzeyindedir; kendi sunucunuzdan imzalı istekle çağırırsınız. Aynı verinin panelde ekranları var, ama panel uçları API anahtarıyla çağrılamaz; bu uçlar da panel oturumuyla çağrılamaz. Bankayı bağlama ve kesme yalnız panelde yapılır.

Bağlantı aktif olduğunda bankanızdaki hesaplar kendiliğinden bulunur. Bu uçlar hesaplarınızı maskeli kimlik bilgileri ve tazelik bilgisiyle döner; bakiye dönmez. Bakiye için Bakiyeler ucunu kullanın.

Hesapları listeleme

GET /api/v1/bank-connect/accounts

Sorgu parametresiTipAçıklama
connectionIdstring (UUID)Yalnız bu bağlantının hesapları.
bankIdstring (UUID)Yalnız bu bankadaki hesaplar.
currencystringISO 4217 para birimi, ör. TRY.
statusstringACTIVE ya da INACTIVE.
limitintegerSayfa başına kayıt, 1–100. Varsayılan 25.
cursorstringÖnceki yanıttaki pageInfo.nextCursor.
source lunixi-sign.sh
REQ_PATH="/api/v1/bank-connect/accounts?status=ACTIVE&currency=TRY"
lunixi_sign GET "$REQ_PATH"
 
curl "https://api-gateway.lunixi.com$REQ_PATH" \
  -H "X-Key-Id: $LUNIXI_KEY_ID" \
  -H "X-Date: $DATE" \
  -H "X-Nonce: $NONCE" \
  -H "X-Signature: $SIGNATURE"

PHP örneğindeki $bankConnect: API'ye Giriş › PHP SDK.

{
  "status": "success",
  "code": "SUCCESS",
  "data": {
    "items": [
      {
        "accountId": "00000000-0000-0000-0000-000000000100",
        "connectionId": "00000000-0000-0000-0000-000000000010",
        "bank": { "bankId": "00000000-0000-0000-0000-000000000001", "eftCode": "0000", "name": "ÖRNEK BANKA" },
        "ibanMasked": "TR00 **** **** **** **** **00 00",
        "accountNumberMasked": "****0000",
        "currency": "TRY",
        "productCode": "CARIHSP",
        "status": "ACTIVE",
        "discoveredAt": "2026-01-01T07:00:00.000Z",
        "freshness": {
          "lastSuccessfulSyncAt": "2026-01-01T07:05:00.000Z",
          "nextSyncAvailableAt": "2026-01-01T07:20:00.000Z",
          "minSyncIntervalSeconds": 900
        },
        "displayName": "ANA HESAP",
        "accountType": "VADESIZ"
      }
    ]
  },
  "pageInfo": { "hasMore": false, "nextCursor": null, "totalCount": null },
  "statusCode": 200,
  "requestId": "00000000-0000-0000-0000-000000000000"
}

Örnekteki minSyncIntervalSeconds değeri yalnız örnektir. Gerçek değeri her hesabın freshness nesnesinden okuyun; bağlantıya göre değişebilir.

Tek hesap

GET /api/v1/bank-connect/accounts/{accountId} tek bir hesabı döner. data hesap nesnesinin kendisidir; alanlar listeyle aynıdır. Bilinmeyen, başka bir organizasyona ya da diğer ortama ait hesap 404 bank_connect.account.not_found döner.

Hesap nesnesi

AlanTipAçıklama
accountIdstring (UUID)Hesabın kimliği; bakiye ve hareket uçlarında accountId süzgeci bu değeri alır.
connectionIdstring (UUID)Hesabın bağlı olduğu bağlantı.
bankobjectbankId, eftCode ve varsa name.
ibanMaskedstringMaskeli IBAN. Değer yoksa alan yoktur.
accountNumberMaskedstringMaskeli hesap numarası. Değer yoksa alan yoktur.
currencystringHesabın para birimi (ISO 4217).
branchCodestringŞube kodu. Değer yoksa alan yoktur.
branchNamestringŞube adı. Değer yoksa alan yoktur.
productCodestringBankanın hesaba verdiği ürün kodu, ör. CARIHSP. Banka bildirmiyorsa alan yoktur.
statusstringACTIVE: hesap okunuyor. INACTIVE: bağlantı kesildi ya da banka hesabı artık döndürmüyor.
discoveredAtstringHesabın ilk bulunduğu zaman.
freshnessobjectVerinin tazeliği; aşağıya bakın.
displayNamestringBankanın hesaba verdiği ad. Banka bildirmiyorsa alan yoktur.
accountTypestringBankanın bildirdiği hesap türü (ör. vadesiz). Metin bankaya göre değişir; banka bildirmiyorsa alan yoktur.

freshness

AlanTipAçıklama
lastSuccessfulSyncAtstringBankadan en son başarılı okumanın zamanı. Henüz okuma yoksa alan yoktur.
nextSyncAvailableAtstringBir sonraki okumanın en erken zamanı. Değer yoksa alan yoktur.
minSyncIntervalSecondsintegerİki okuma arasındaki en kısa süre (saniye).

Tazeliğin nasıl çalıştığı: Kavramlar › Tazelik. Okumayı öne çekmek için: Şimdi Yenile.

Bir hesaptan transfer ya da döviz işlemi yapılıp yapılamayacağı hesabın bağlantısına bağlıdır; bağlantının capabilities alanına bakın. → Bağlantılar · Para Transferi

Hatalar

HTTPcodeNe yapmalı
400VALIDATION_ERRORSüzgeç değeri geçersiz, limit 1–100 dışında ya da tanımlanmamış bir parametre gönderdiniz.
400bank_connect.cursor.invalidİmleci değiştirmeden gönderin ya da ilk sayfadan başlayın.
404bank_connect.account.not_foundKimliği ve anahtarınızın ortamını kontrol edin.