Core Exchange API

TCMB döviz kuru mikro servisi · Ana Sayfa

Genel Bilgiler

Tüm yanıtlar aşağıdaki formatta döner:

{
  "success": true | false,
  "data": { ... } | null,
  "error": "Hata mesajı" | null,
  "timestamp": "2026-02-17T08:00:00.000Z"
}
TCMB kurları her iş günü saat 15:30'da açıklanır. Servis bu kurları 15:45'te otomatik çeker. Her gün bir önceki günün açıklaması geçerlidir. Tatil ve hafta sonlarında en son açıklanan kur kullanılır.

Temel URL

https://exchange.coreit.tr

Desteklenen Para Birimleri

Yükleniyor...

TRY (Türk Lirası) çevrim işlemlerinde kaynak veya hedef olarak kullanılabilir. Liste TCMB verilerine göre otomatik güncellenir.

Döviz Kurları

GET /api/rates/today

Bugün için geçerli olan döviz kurlarını döner. İsteğe bağlı tarih parametresi ile geçmiş bir güne ait kurlar sorgulanabilir.

ParametreTürAçıklama
datequery opsiyonelYYYY-MM-DD formatında tarih. Verilmezse bugünün kurları döner.
GET /api/rates/today
GET /api/rates/today?date=2026-02-14
GET /api/rates/announcement/:date

Belirtilen tarihte TCMB tarafından yapılan açıklamaya ait kurları döner.

ParametreTürAçıklama
:datepath zorunluYYYY-MM-DD formatında açıklama tarihi.
GET /api/rates/announcement/2026-02-14
GET /api/rates/range

Belirtilen tarih aralığındaki tüm kurları döner.

ParametreTürAçıklama
fromquery zorunluBaşlangıç tarihi (YYYY-MM-DD)
toquery zorunluBitiş tarihi (YYYY-MM-DD)
GET /api/rates/range?from=2026-02-10&to=2026-02-14
GET /api/rates/currency/:code

Belirtilen para birimine ait güncel kuru döner.

ParametreTürAçıklama
:codepath zorunlu3 harfli para birimi kodu (örn. USD, EUR)
datequery opsiyonelYYYY-MM-DD formatında tarih.
GET /api/rates/currency/USD
GET /api/rates/currency/EUR?date=2026-02-14
GET /api/rates/currency/:code/history

Belirtilen para biriminin tarih aralığındaki kur geçmişini döner.

ParametreTürAçıklama
:codepath zorunlu3 harfli para birimi kodu
fromquery zorunluBaşlangıç tarihi (YYYY-MM-DD)
toquery zorunluBitiş tarihi (YYYY-MM-DD)
GET /api/rates/currency/USD/history?from=2026-01-01&to=2026-02-17
GET /api/rates/currencies

Desteklenen tüm para birimi kodlarının listesini döner.

GET /api/rates/currencies

Döviz Çevirici

GET /api/convert

İki para birimi arasında çevrim yapar. TRY kaynak veya hedef olarak kullanılabilir.

ParametreTürAçıklama
fromquery zorunluKaynak para birimi (örn. USD, TRY)
toquery zorunluHedef para birimi (örn. EUR, TRY)
amountquery zorunluÇevrilecek tutar (pozitif sayı)
datequery opsiyonelYYYY-MM-DD formatında tarih
rateTypequery opsiyonelforex (varsayılan) veya banknote
GET /api/convert?from=USD&to=TRY&amount=100
GET /api/convert?from=EUR&to=USD&amount=500&rateType=banknote
GET /api/convert?from=TRY&to=GBP&amount=10000&date=2026-02-14

Çapraz Kurlar

GET /api/convert/cross-rates

Tüm veya seçili para birimleri arasındaki çapraz kur tablosunu döner.

ParametreTürAçıklama
currenciesquery opsiyonelVirgülle ayrılmış para birimi kodları (örn. USD,EUR,GBP). Boş bırakılırsa tümü döner.
datequery opsiyonelYYYY-MM-DD formatında tarih
GET /api/convert/cross-rates
GET /api/convert/cross-rates?currencies=USD,EUR,GBP
GET /api/convert/cross-rates/:base/:target

İki para birimi arasındaki çapraz kuru döner.

ParametreTürAçıklama
:basepath zorunluBaz para birimi kodu
:targetpath zorunluHedef para birimi kodu
datequery opsiyonelYYYY-MM-DD formatında tarih
GET /api/convert/cross-rates/USD/EUR
GET /api/convert/cross-rates/GBP/JPY?date=2026-02-14

Yönetim

Yönetim endpoint'leri API anahtarı gerektirir. Anahtarı X-Api-Key header'ı veya api_key query parametresi ile gönderin.
POST /api/rates/fetch

TCMB'den bugünün kurlarını manuel olarak çeker ve veritabanına kaydeder.

POST /api/rates/fetch
POST /api/rates/backfill

Belirtilen tarih aralığı için geçmiş kurları TCMB'den çekip veritabanına kaydeder. Maksimum 365 gün.

ParametreTürAçıklama
frombody zorunluBaşlangıç tarihi (YYYY-MM-DD)
tobody zorunluBitiş tarihi (YYYY-MM-DD)
POST /api/rates/backfill
Content-Type: application/json

{
  "from": "2025-11-17",
  "to": "2026-02-16"
}

WebSocket

WS /ws

Gerçek zamanlı kur güncellemeleri için WebSocket bağlantısı. Yeni kurlar açıklandığında bağlı tüm istemcilere bildirim gönderir.

ws://exchange.coreit.tr/ws
wss://exchange.coreit.tr/ws

Mesaj Türleri

CONNECTION_ACK — Bağlantı başarılı, istemci kimliği atandı.

RATES_UPDATED — Yeni kurlar yayınlandı. Açıklama tarihi, geçerlilik tarihi ve güncellenen para birimleri bilgisi içerir.

PING / PONG — Bağlantı canlılık kontrolü (30 saniye aralıkla).

ERROR — Hata mesajı.

{
  "type": "RATES_UPDATED",
  "data": {
    "announcementDate": "2026-02-17",
    "effectiveDate": "2026-02-18",
    "currencies": ["USD", "EUR", "GBP", "..."],
    "rateCount": 21 // Dinamik, TCMB verisine göre değişir
  },
  "timestamp": "2026-02-17T12:45:01.000Z"
}
Maksimum 100 eşzamanlı WebSocket bağlantısı desteklenir.

Sağlık Kontrolü

GET /api/health

Servisin sağlık durumunu döner. Veritabanı bağlantısı, önbellek durumu, çalışma süresi ve WebSocket istemci sayısını içerir.

GET /api/health
{
  "success": true,
  "data": {
    "status": "healthy",
    "uptime": 3600,
    "database": "connected",
    "lastFetch": "2026-02-17",
    "cacheLoaded": true,
    "wsClients": 2,
    "version": "1.0.0"
  }
}
status değeri: healthy (her şey çalışıyor, HTTP 200) veya degraded (veritabanı bağlantısı yok, HTTP 503).