Hesaplar
- 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 anahtar403 PRODUCT_NOT_ENABLED, yetkisi olmayan anahtar403 API_INSUFFICIENT_SCOPEalı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 parametresi | Tip | Açıklama |
|---|---|---|
connectionId | string (UUID) | Yalnız bu bağlantının hesapları. |
bankId | string (UUID) | Yalnız bu bankadaki hesaplar. |
currency | string | ISO 4217 para birimi, ör. TRY. |
status | string | ACTIVE ya da INACTIVE. |
limit | integer | Sayfa başına kayıt, 1–100. Varsayılan 25. |
cursor | string | Önceki yanıttaki pageInfo.nextCursor. |
source lunixi-sign.sh
REQ_PATH="/api/v1/bank-connect/accounts?status=ACTIVE¤cy=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
| Alan | Tip | Açıklama |
|---|---|---|
accountId | string (UUID) | Hesabın kimliği; bakiye ve hareket uçlarında accountId süzgeci bu değeri alır. |
connectionId | string (UUID) | Hesabın bağlı olduğu bağlantı. |
bank | object | bankId, eftCode ve varsa name. |
ibanMasked | string | Maskeli IBAN. Değer yoksa alan yoktur. |
accountNumberMasked | string | Maskeli hesap numarası. Değer yoksa alan yoktur. |
currency | string | Hesabın para birimi (ISO 4217). |
branchCode | string | Şube kodu. Değer yoksa alan yoktur. |
branchName | string | Şube adı. Değer yoksa alan yoktur. |
productCode | string | Bankanın hesaba verdiği ürün kodu, ör. CARIHSP. Banka bildirmiyorsa alan yoktur. |
status | string | ACTIVE: hesap okunuyor. INACTIVE: bağlantı kesildi ya da banka hesabı artık döndürmüyor. |
discoveredAt | string | Hesabın ilk bulunduğu zaman. |
freshness | object | Verinin tazeliği; aşağıya bakın. |
displayName | string | Bankanın hesaba verdiği ad. Banka bildirmiyorsa alan yoktur. |
accountType | string | Bankanın bildirdiği hesap türü (ör. vadesiz). Metin bankaya göre değişir; banka bildirmiyorsa alan yoktur. |
freshness
| Alan | Tip | Açıklama |
|---|---|---|
lastSuccessfulSyncAt | string | Bankadan en son başarılı okumanın zamanı. Henüz okuma yoksa alan yoktur. |
nextSyncAvailableAt | string | Bir sonraki okumanın en erken zamanı. Değer yoksa alan yoktur. |
minSyncIntervalSeconds | integer | İ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
| HTTP | code | Ne yapmalı |
|---|---|---|
400 | VALIDATION_ERROR | Süzgeç değeri geçersiz, limit 1–100 dışında ya da tanımlanmamış bir parametre gönderdiniz. |
400 | bank_connect.cursor.invalid | İmleci değiştirmeden gönderin ya da ilk sayfadan başlayın. |
404 | bank_connect.account.not_found | Kimliği ve anahtarınızın ortamını kontrol edin. |