... Banking API — Hızlı Referans (v1) Base URL: http://localhost:8001/v1 Zaman biçimi: ISO-8601 UTC (asOf vb.) Hatalar: JSON { "detail": "..." } — çoğu mantık hatası 502, kart bulunamadı 404
GET /user-info Açıklama: Müşterinin temel bilgileri (isim, TCKN, email, beneficiaries). Query: tckn (string, zorunlu) Örnek: curl "http://localhost:18080/v1/user-info?tckn=14133098896"
GET /accounts Açıklama: Müşterinin hesaplarını listeler (normalize). Query: customer_no (string, zorunlu) Not: account_name, balance, currency, iban, branch_code, account_suffix alanları döner. Örnek: curl "http://localhost:18080/v1/accounts?customer_no=17976826"
GET /cards Açıklama: Müşterinin kartlarını listeler (normalize). Query: customer_no (int, zorunlu) Örnek: curl "http://localhost:18080/v1/cards?customer_no=17976826"
GET /cards/summary Açıklama: Belirli bir kart için finansal özet. Query: card_no (string, min 4, zorunlu) 404: Kart bulunamazsa. Örnek: curl "http://localhost:18080/v1/cards/summary?card_no=2025080400000541"
GET /transactions Açıklama: Son para transferleri (gönderen/alıcı). Query: customer_no (int, zorunlu) limit (int, varsayılan 5, 1–100) Örnek: curl "http://localhost:18080/v1/transactions?customer_no=17976826&limit=10"
POST /transfers/internal Açıklama: Banka içi havale (TRY→TRY). Body (JSON): { "customer_no": 17976826, "from_iban": "TR100000000000000000000001", "to_iban": "TR100000000000000000000002", "amount_tl": 250.75, "description": "Kira ödemesi" } Örnek: curl -X POST "http://localhost:18080/v1/transfers/internal" ^ -H "Content-Type: application/json" ^ -d "{"customer_no":17976826,"from_iban":"TR...0001","to_iban":"TR...0002","amount_tl":250.75,"description":"Kira"}"
GET /atms/nearby Açıklama: Koordinata göre en yakın ATM’ler. Query: coord_x (float, zorunlu) → enlem coord_y (float, zorunlu) → boylam radius_km (float, varsayılan 5.0, >0, ≤50) limit (int, varsayılan 10, 1–100) require_insert_money (bool, ops.) require_usd (bool, ops.) require_eur (bool, ops.) Sonuç yoksa: 200 {"status":"EMPTY","message":"Şu anda yakınınızda atm bulunmamaktadır.", ...} Örnek: curl "http://localhost:18080/v1/atms/nearby?coord_x=41.024548&coord_y=29.181082&radius_km=5&limit=5"
GET /beneficiaries Açıklama: Kayıtlı alıcıları listeler. Query: customer_no (int, zorunlu) Dönüş: {"beneficiaries": ["İsim Soyisim", ...]} Örnek: curl "http://localhost:18080/v1/beneficiaries?customer_no=17976826"