Genel bakış
Doğrulama (TC kimlik, IBAN, vergi no), Türkiye verileri, finans (TCMB döviz) ve geliştirici araçları (UUID, hash, QR, barkod) tek API'de.
Not: TC kimlik, IBAN ve vergi numarası doğrulaması algoritmiktir (biçim ve kontrol hanesi). NVİ, GİB ya da banka kayıtlarında resmî sorgu değildir; numaranın gerçekten bir kişiye, hesaba veya mükellefe ait olduğunu kanıtlamaz.
Yanıt biçimi
Her uçta aynı JSON zarfı
Tüm uçlar aynı zarfı döner:
success: isteğin başarılı olup olmadığı.data: servisin sonucu.error: başarısızlıkta code ve message alanları.meta: servis adı, işlem süresi (elapsedMs) ve veri kaynağı (source: live, cache ya da offline).
Uç yolları /api/v1/<kategori>/<servis> biçimindedir.
Doğrulama uçları
POST /api/v1/dogrulama
Gövde: {"value":"..."}
/tckimlik: TC Kimlik No algoritmik doğrulaması./vergino: Vergi No (VKN) algoritmik doğrulaması./iban: TR IBAN doğrulaması; geçerliyse banka ve biçimlenmiş IBAN döner./kredikarti: Luhn doğrulaması; geçerliyse kart türü döner./eposta: biçim kontrolü ve alan adı DNS sorgusu.
Geçersiz değerlerde reason alanı nedenini açıklar. Kimlik, vergi no, IBAN ve kart kontrolleri algoritmiktir; bir resmi kayıt sorgusu yapılmaz.
Türkiye verileri
GET /api/v1/turkiye
/iller: 81 ilin listesi; plaka, ad, bölge ve alan kodu ile./plaka?kod=34 ve /il?plaka=34: plakaya göre il./alankodu?kod=312: telefon alan koduna göre il./postakodu?kod=34000: posta kodunun ilk iki hanesi plakaya karşılık gelir./ilceler?plaka=34: ilin ilçeleri.
Zorunlu parametre eksikse 400 ve INVALID_REQUEST döner.
TCMB döviz kurları ve çevirme
GET /api/v1/finans
/doviz: TCMB günlük döviz kurları; ?kod=USD ile tek kur süzülür./cevir?amount=100&from=USD&to=TRY: miktarı TCMB kuru üzerinden çevirir; hesap TRY üzerinden, döviz satış kuruyla yapılır./birim?value=100&from=km&to=mil: uzunluk, ağırlık ve sıcaklık birim çevirisi (çevrimdışı).
Kurlar kısa süre önbelleğe alınır; meta.source yanıtın canlı mı önbellekten mi geldiğini söyler. TCMB ulaşılamazsa ve önbellek yoksa 502 ve UPSTREAM_UNAVAILABLE döner.
Geliştirici araçları
/api/v1/arac
GET /uuid: bir ile 100 arasında UUID üretir.GET /parola: 4–128 karakter uzunluğunda parola üretir; sembol, rakam ve büyük harf seçilebilir.POST /hash: özet (hash) hesaplar.POST /base64: Base64 kodlar ya da çözer (encode / decode).POST /slug: metinden URL dostu bağlantı adı üretir.POST /qr: QR kodu üretir (en çok 2000 karakter).POST /barkod: barkod üretir (en çok 200 karakter).
Geçersiz girdi 400 ve INVALID_REQUEST ile açıklayıcı bir mesaj döndürür.
Hata kodları ve sınırlar
400 / INVALID_REQUEST: eksik ya da geçersiz parametre.404 / NOT_FOUND: /api altında olmayan uçlar da aynı JSON zarfıyla yanıtlanır, HTML sayfası dönmez.429: IP başına kota (60 saniyede 120 istek) aşıldı.502 / UPSTREAM_UNAVAILABLE: TCMB gibi dış kaynak ulaşılamıyor.
Sınır yalnızca API yollarına uygulanır; arayüz, belgeler ve Swagger bu kotadan etkilenmez. API yolları çapraz kaynak isteklerine açıktır.
Deneme ve izleme
- Katalog: ana sayfa ve servis listesi; her servisin kendi sayfasında Dene alanı bulunur.
- Swagger:
/swagger adresinde tüm uçların açık belgesi ve çağrı arayüzü. - Sağlık ucu:
/healthz durum ve sürüm bilgisi döner; izleme araçlarına bağlanabilir. - Arayüz Türkçe ve İngilizcedir.