API Dokümanı
Taban adres: https://api.ekstreo.com · Son güncelleme: 07.11.2026
API her pakette açıktır; ek ücreti yoktur. Tüm uçlar JSON döner ve HTTPS gerektirir.
Kimlik doğrulama
Her firmanın bir API anahtarı vardır (firma eklenirken bir kez gösterilir). Anahtarı
X-Api-Key başlığında gönderin. Anahtar yalnız kendi firmanızın verisini görür.
curl https://api.ekstreo.com/v1/accounts \
-H "X-Api-Key: ekst_..."
Anahtarı tarayıcıya veya mobil uygulamaya koymayın: sunucu tarafında, arka plan işinde kullanın.
Uçlar
| Metot | Uç | Ne yapar |
|---|---|---|
GET |
/v1/banks |
Desteklenen bankalar ve her birinin istediği kimlik alanları. |
GET |
/v1/connections |
Firmanın banka bağlantıları, durumları ve son çekim zamanları. |
POST |
/v1/connections |
Yeni bağlantı ekler ve ilk çekimi hemen yapar. |
PATCH |
/v1/connections/{id} |
Ad, istemci kimliği (externalRef) ve otomatik çekim ayarları. |
PUT |
/v1/connections/{id}/credentials |
Banka bilgilerini günceller ve hemen dener. |
POST |
/v1/connections/{id}/sync |
Şimdi çek (bankayı yormamak için kısa bekleme uygulanır). |
POST |
/v1/connections/{id}/resume |
Durmuş bağlantıyı yeniden başlatır. |
DELETE |
/v1/connections/{id} |
Bağlantıyı siler. |
GET |
/v1/accounts |
Hesaplar, bakiyeler ve döviz cinsleri. |
GET |
/v1/transactions/feed |
Yeni ve değişen hareketler (since, accountId, externalRef, limit). |
GET |
/v1/audit |
Denetim kaydı: bağlantı eklendi, bilgiler güncellendi, banka reddetti. |
Hareketleri artımlı okuma
Asıl uç /v1/transactions/feed: yalnızca yeni ve değişen hareketleri verir.
Her yanıtta bir sonraki çağrıda kullanacağınız nextSince döner; onu saklayıp bir
sonraki isteğe koyarsınız. Böylece aynı hareketi iki kez işlemezsiniz.
curl "https://api.ekstreo.com/v1/transactions/feed?since=2026-11-07T08:00:00Z&limit=200" \
-H "X-Api-Key: ekst_..."
Neden "değişen" de var?
Banka bir hareketi sonradan iptal edebilir. Bu durumda kayıt silinmez; isCancelled
alanı true olur ve hareket feed'e yeniden düşer. ERP tarafında güncelleme yapabilmeniz
için kayıtların tekil anahtarı (externalId) değişmez.
Hareket alanları
| Alan | Açıklama |
|---|---|
externalId | Bankanın değişmeyen tekil anahtarı; tekrar çekimde çift kayıt olmaz. |
bookingDate / bookingTime | İşlem tarihi ve (banka veriyorsa) saati. |
valueDate | Valör tarihi. |
amount | İşaretli tutar: giriş +, çıkış −. |
currency | ISO para birimi (TRY, USD, EUR…). |
balanceAfter | İşlem sonrası yürüyen bakiye. |
description | Banka açıklaması. |
referenceNo / transactionCode | Dekont/referans numarası ve işlem kodu. |
counterpartyName / counterpartyIban / counterpartyTaxId | Karşı taraf bilgileri (cari eşleştirme için). |
isCancelled | Banka hareketi iptal ettiyse true; kayıt feed'e yeniden düşer. |
importedAt / updatedAt | Kaydın ilk geldiği ve son değiştiği an; feed bu alana göre ilerler. |
rawData | Bankanın döndürdüğü ham kayıt (JSON). |
Tasarım kararları
- Tutar işaretlidir: giriş
+, çıkış-. Banka hangi biçimde verirse versin ortak modele çevrilir; ayrı "borç/alacak" alanı yoktur. - Tekil anahtar garantilidir:
externalIdhesap içinde tekildir, tekrar çekimlerde çift kayıt oluşmaz. - Ham veri saklanır: bankanın döndürdüğü kayıt
rawDataiçinde durur; sonradan yeni alan çıkarmak için bankayı tekrar sorgulamak gerekmez. - Okuma gecikmesi: feed, yazımı tamamlanmamış kayıtları vermemek için çok kısa bir gecikmeyle okur; bu sayede "since" ile ilerlerken hareket atlamazsınız.
Hatalar
Hatalar RFC 7807 (application/problem+json) biçiminde döner.
401 geçersiz anahtar, 404 başka firmaya ait kayıt,
409 kimlik bilgileri geçersiz (bağlantı durdurulmuş),
429 çok sık manuel senkronizasyon.
Ayrıntılı şema ve deneme için OpenAPI tanımı: https://api.ekstreo.com/openapi/v1.json