Banka Hesapları
API Referansı
Şimdi Yenile

Şimdi Yenile

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.

POST /api/v1/bank-connect/accounts/{accountId}/sync bir hesabın bankadan yeniden okunmasını ister. Uç hesap verisi döndürmez ve veri değiştirmez; yalnız okumayı öne çeker. Okuma tamamlanınca yeni hareketler webhook ile gelir ve hesabın lastSuccessfulSyncAt değeri ilerler.

⚠️

Yenileme isteği okuma aralığını kısaltmaz. Hesap en son okunduktan sonra minSyncIntervalSeconds süresi dolmadıysa okuma hemen yapılmaz, nextSyncAvailableAt zamanına planlanır. Bu uca art arda istek göndermek okumayı hızlandırmaz.

İstek

Gövde yoktur. Yetki bank-connect:view yeterlidir.

source lunixi-sign.sh
REQ_PATH="/api/v1/bank-connect/accounts/00000000-0000-0000-0000-000000000100/sync"
lunixi_sign POST "$REQ_PATH"
 
curl -X POST "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.

Yanıt

Başarılı istek 202 Accepted döner:

{
  "status": "success",
  "code": "SUCCESS",
  "data": {
    "accountId": "00000000-0000-0000-0000-000000000100",
    "syncStatus": "SCHEDULED",
    "scheduledAt": "2026-01-01T07:20:00.000Z",
    "lastSuccessfulSyncAt": "2026-01-01T07:05:00.000Z",
    "minSyncIntervalSeconds": 900
  },
  "statusCode": 202,
  "requestId": "00000000-0000-0000-0000-000000000000"
}
AlanTipAçıklama
accountIdstring (UUID)Hesabın kimliği.
syncStatusstringQUEUED ya da SCHEDULED; aşağıya bakın.
scheduledAtstringOkumanın başlayacağı ya da başladığı an.
lastSuccessfulSyncAtstringBankadan en son başarılı okumanın zamanı. Henüz okuma yoksa alan yoktur.
minSyncIntervalSecondsintegerİki okuma arasındaki en kısa süre (saniye). Örnekteki değer yalnız örnektir.

syncStatus

DeğerAnlamı
QUEUEDOkuma aralığı dolmuş; okuma başlatıldı ya da sıraya alındı. Okumanın bittiği anlamına gelmez.
SCHEDULEDOkuma aralığı henüz dolmadı; okuma scheduledAt zamanında yapılacak.

Davranış

  • Bekleyen okuma birleştirilir. Bir okuma zaten bekliyorsa yenisi açılmaz; ikinci istek aynı planlanmış okumayı döner.
  • Diğer hesaplar da yenilenebilir. Okuma, bu hesapla aynı turda okunan diğer hesaplarınızı da kapsayabilir; onların lastSuccessfulSyncAt değeri de ilerleyebilir.
  • Bağlantı okunabilir durumda olmalı. Hesabın bağlantısı ACTIVE ya da DEGRADED değilse istek 409 bank_connect.connection.not_active döner. Bağlantının durumunu Bağlantılar ucundan kontrol edin.

Sonucu izleme

Yenileme isteğinin sonucunu yoklayarak beklemeyin; şu iki yoldan birini kullanın:

Senkron isteği ve sonucuAkış: okuma aralığı dolduysa senkron isteği QUEUED, dolmadıysa scheduledAt anı için SCHEDULED olur; ardından okuma yapılır, her yeni hareket için bir webhook gelir ve yeni hareket olsun olmasın hesabın tazelik alanı lastSuccessfulSyncAt ilerler.SÜRE DOLDUSÜRE DOLMADISenkron isteğiPOST …/syncQUEUEDokuma başlarSCHEDULEDscheduledAt anındaBankadanokumaWebhookyeni hareket başınaTazeliklastSuccessfulSyncAtLEJANTsyncStatusOKUMASONUCU NASIL GÖRÜRSÜNÜZ
Yoklama yapmayın. QUEUED okumanın başladığını ya da sıraya alındığını gösterir, bittiğini değil. Yeni hareket yoksa olay gelmez; scheduledAt sonrasında hesabı bir kez okuyup lastSuccessfulSyncAt değerine bakın.
  1. Webhook. Okumada yeni hareket bulunursa her biri için bank_account.transaction.received olayı gelir. → Webhook Olayları
  2. Tazelik. Yeni hareket yoksa olay gelmez; okumanın yapıldığını hesabın freshness.lastSuccessfulSyncAt değerinin ilerlemesinden anlarsınız. Hesabı scheduledAt zamanından sonra bir kez okuyun. → Hesaplar

İstek limiti

Bu uç API anahtarı başına dakikada 6 istekle sınırlıdır. Limit aşıldığında istek 429 RATE_LIMITED döner; yanıtın Retry-After başlığı ve details.retryAfterSeconds alanı kaç saniye beklemeniz gerektiğini söyler. Okuma uçları bu limite sayılmaz. → Sınırlar

Hatalar

HTTPcodeNe yapmalı
404bank_connect.account.not_foundKimliği ve anahtarınızın ortamını kontrol edin.
409bank_connect.connection.not_activeBağlantı okunabilir durumda değil; bağlantının durumunu kontrol edin. Yeniden denemek sonucu değiştirmez.
429RATE_LIMITEDRetry-After kadar bekleyip yeniden deneyin. → Hız Limitleri