İçeriğe geç

Adreskit APIv0.1.0

Doküman

Türkiye verisi için tek anahtar, tek kredi havuzu: adres çözümleme ve doğrulama, IBAN, TCMB kurları, algoritmik TCKN/VKN/telefon kontrolü ve kargo takibi. Aynı araçlar MCP olarak da sunulur (POST /mcp). Hatalar her zaman {"hata": "…"} biçimindedir.

Bu sayfa GET /openapi.json şemasından üretildi (OpenAPI 3.1). Kendi istemcini üretmek için aynı dosyayı kullanabilirsin.

İlk istek

  1. Anahtarını al

    Kayıt yakında açılıyor. Anahtar bir kez gösterilecek; biz yalnız özetini saklarız. Anahtarın varsa sonraki adıma geç.

  2. İki değişken tanımla

    export ADRESKIT="https://xacw6yute6famacx6a7tjafkfq0hqmug.lambda-url.eu-central-1.on.aws"
    export ADRESKIT_ANAHTAR="ak_live_…"
  3. Bir adres çözümle

    curl -X POST "$ADRESKIT/v1/address/resolve" \
      -H "authorization: Bearer $ADRESKIT_ANAHTAR" \
      -H "content-type: application/json" \
      -d '{"q":"kadikoy istanbul moda cad 14"}'

Kimlik ve kredi

Her istek authorization: Bearer ak_live_… başlığıyla gelir. Bütün uçlar aynı kredi havuzundan harcar: ücretsiz planda ayda 1.000 kredi. Her ucun fiyatı aşağıda kendi başlığının yanında yazar; toplu isteklerde adres ya da IBAN başına düşer. Kalan krediyi GET /v1/kullanim ya da panel söyler.

Aynı araçlar uzak MCP olarak da açık: POST /mcp. İstemci kurulumu ana sayfada.

Hatalar

Hata her uçta aynı biçimde döner, yanında anlamlı bir HTTP durum kodu:

{ "hata": "geçersiz API anahtarı" }
400
İstek gövdesi eksik ya da hatalı; mesaj hangi alan olduğunu söyler.
401
Anahtar yok, geçersiz ya da iptal edilmiş.
429
Kredi bitti ya da hız sınırı doldu. Varsa Retry-After kaç saniye bekleneceğini söyler.
503
Hizmet geçici olarak kapalı; ödeme uçları sağlayıcı açılana kadar bunu döner.

Toplu CSV

Sipariş ya da müşteri dosyasını tek istekte temizle: POST /v1/address/temizle. Gövde dosyanın kendisidir (multipart değil). Yanıt aynı CSV'dir: senin sütunların olduğu gibi kalır, sonuna ak_ önekli 11 sütun eklenir. Aynı işi panelden dosya seçerek de yapabilirsin.

curl -X POST "$ADRESKIT/v1/address/temizle" \
  -H "authorization: Bearer $ADRESKIT_ANAHTAR" \
  -H "content-type: text/csv" \
  --data-binary @siparisler.csv \
  -D - -o siparisler-temiz.csv

-d değil --data-binary kullan; -d satır sonlarını siler. -D - yanıt başlıklarını ekrana basar: x-adreskit-satir adresi dolu satır sayısı, x-adreskit-kredi düşen kredi, x-adreskit-kodlama dosyanın hangi kodlamayla okunduğu.

Kredi ve sınırlar

Kredi tekil dolu adres başına 1'dir. Dosyada tekrar eden adres bir kez, boş hücre hiç sayılmaz. Dosya en fazla 2,5 MB ve 10.000 veri satırı olabilir; büyüğünü parçalara böl. Dosya ya bütünüyle işlenir ya da kredi düşmez: aşağıdaki hataların hiçbiri kredi yakmaz. Dosya saklanmaz; yalnız kimlik ve adres sütunlarını göndermen yeterli.

Örnek

siparisler.csv

siparis;adres
1001;moda cad 14 kadikoy istanbul
1002;Atatürk Blv. No:5 Kızılay Çankaya Ankara
1003;moda cad 14 kadikoy istanbul
1004;Konak İzmir
1005;

siparisler-temiz.csv

siparis;adres;ak_il;ak_ilce;ak_mahalle;ak_yol;ak_bina_no;ak_daire;ak_enlem;ak_boylam;ak_hassasiyet;ak_guven;ak_durum
1001;moda cad 14 kadikoy istanbul;İstanbul;Kadıköy;;Moda Caddesi;14;;40.985993;29.024957;sokak;0.85;tamam
1002;Atatürk Blv. No:5 Kızılay Çankaya Ankara;Ankara;Çankaya;;Atatürk Bulvarı;5;;39.91933;32.854647;sokak;0.85;tamam
1003;moda cad 14 kadikoy istanbul;İstanbul;Kadıköy;;Moda Caddesi;14;;40.985993;29.024957;sokak;0.85;tamam
1004;Konak İzmir;İzmir;Konak;;;;;38.418474;27.139799;ilce;0.4;kismi
1005;;;;;;;;;;;;bos

Bu dosya için yanıt başlıkları x-adreskit-satir: 4, x-adreskit-kredi: 3 olur: 1001 ile 1003 aynı adres, 1005 boş. Çıktı her zaman UTF-8'dir ve başında BOM vardır ki Excel Türkçe karakterleri doğru açsın. Ayırıcı girdiyle aynı kalır.

Eklenen sütunlar
ak_ilİl, resmî yazımıyla
ak_ilceİlçe
ak_mahalleMahalle; adreste yoksa ya da bulunamazsa boş
ak_yolCadde, sokak ya da bulvar, tam adıyla
ak_bina_noKapı numarası
ak_daireDaire
ak_enlemEnlem (WGS84)
ak_boylamBoylam (WGS84)
ak_hassasiyetKoordinatın inceliği: sokak, ilçe (merkez) ya da il (merkez); adresin doğrulanmasından bağımsız
ak_guven0 ile 1 arası güven puanı
ak_durumSatırın özeti; aşağıda

ak_durum değerleri

tamam
İl, ilçe ve yol sicilde bulundu.
kismi
İl ve ilçe bulundu; yol bulunamadı ya da adreste yazmıyor.
yalniz_il
Yalnız il bulundu. Bu satıra elle bak.
cozulemedi
İl bile bulunamadı.
bos
Adres hücresi boş; kredi düşmez.

Seçenekler

Hepsi isteğe bağlı sorgu parametresidir; varsayılanlar çoğu dosyada doğru çalışır.

sutun
Adres sütununun başlık adı ya da 1'den başlayan sırası. Verilmezse adres, address, açık adres, teslimat adresi gibi adlar aranır.
ayirici
auto (varsayılan), ,, ; ya da tab.
kodlama
auto, utf-8 ya da windows-1254. Türkçe Excel'in "CSV" kaydı windows-1254'tür; auto ikisini de tanır.
baslik
0 verilirse ilk satır veri sayılır; o zaman sutun sıra numarası olmalı.

Hatalar

400
CSV bozuk (mesaj satır numarasını söyler) ya da adres sütunu bulunamadı. İkincisinde yanıtta basliklar da gelir; birini sutun ile seç.
413
Dosya 2,5 MB'ı ya da 10.000 satırı aşıyor.
415
Gövde CSV değil; content-type: text/csv gönder.
429
Kredi yetmiyor; mesaj bu dosyanın kaç kredi gerektirdiğini söyler.
503
Dosya süre sınırında işlenemedi. Daha küçük parçalarla dene.

Adres

POST/v1/address/resolve

1 kredi

Adres çözümle ve doğrula

Anahtar gerekli

Serbest metin adresi bileşenlerine ayırır, adları sokak sicilinde arar. adresler[] ile toplu (en fazla 1000, adres başına 1 kredi). Koordinat yalnız sokak sicilde koordinatlıysa döner.

İstek gövdesi
AlanTipAçıklama
qstring
adreslerstring[]en fazla 1000

Örnek istek

curl -X POST "$ADRESKIT/v1/address/resolve" \
  -H "authorization: Bearer $ADRESKIT_ANAHTAR" \
  -H "content-type: application/json" \
  -d '{"q":"kadikoy istanbul moda cad 14"}'

Yanıtlar

  • 200BaşarılıAdresSonucu ya da object
  • 400q ya da adresler eksik, boş ya da metin olmayan elemanHata
  • 401Anahtar yok ya da geçersizHata
  • 4131000'den fazla adresHata
  • 429Kredi limiti aşıldıHata
Toplu yanıt
sonuclarAdresSonucu[]

POST/v1/address/parse

ücretsiz

Yalnız ayrıştır (ücretsiz)

Anahtar gerekli

Sicile bakmaz, koordinat vermez. Anahtar ister ama kredi düşmez.

İstek gövdesi
AlanTipAçıklama
qzorunlustring

Örnek istek

curl -X POST "$ADRESKIT/v1/address/parse" \
  -H "authorization: Bearer $ADRESKIT_ANAHTAR" \
  -H "content-type: application/json" \
  -d '{"q":"ataturk bulv no:12/5 cankaya"}'

Yanıtlar

GET/v1/address/posta-kodu/{kod}

ücretsiz

Posta kodundan ilçe (ücretsiz)

Anahtar gerekli

Kodun gözlendiği ilçeler, POI sayısına göre sıralı; kod birden çok ilçeye yayılıyorsa hepsi döner. Kaynak PTT değil: Overture Maps Places (CDLA-Permissive 2.0) işletme adreslerindeki kodlar. Kapsam eksik (yaklaşık 3.600 kod); bulunamayan kod 404. Mahalle düzeyinde eşleme yok.

Parametreler
AdYerTipAçıklama
kodzorunluyolstring

Örnek istek

curl "$ADRESKIT/v1/address/posta-kodu/<kod>" \
  -H "authorization: Bearer $ADRESKIT_ANAHTAR"

Yanıtlar

  • 200Başarılı
  • 400Kod 5 haneli değilHata
  • 401Anahtar geçersizHata
  • 404Kod kaynakta gözlenmedi (kaynak ve kapsam notuyla)Hata
Yanıt alanları
kodstring
ilcelerobject[]
ilceler[].ilstring
ilceler[].ilcestring
ilceler[].poiSayisiintegerKodu bu ilçede yazan işletme sayısı
kaynakstring
kapsamstring

POST/v1/address/temizle

1 kredi

Toplu adres temizleme (CSV → CSV)

Anahtar gerekli

Gövde ham CSV (multipart değil). Aynı CSV döner: özgün sütunlar olduğu gibi, sona ak_il, ak_ilce, ak_mahalle, ak_yol, ak_bina_no, ak_daire, ak_enlem, ak_boylam, ak_hassasiyet, ak_guven, ak_durum (tamam: il+ilçe+yol sicilde | kismi: il+ilçe | yalniz_il | cozulemedi | bos). Kredi **tekil dolu adres** başına 1; dosya içi tekrar ve boş hücre ücretsiz. Dosya ya bütünüyle işlenir ya da kredi düşmez. En fazla 2,5 MB ve 10.000 veri satırı; büyük dosyayı bölün. Dosya saklanmaz; yalnız kimlik ve adres sütunlarını göndermeniz yeterli.

Parametreler
AdYerTipAçıklama
sutunsorgustringAdres sütununun başlık adı ya da 1'den başlayan sırası. Verilmezse `adres`, `address`, `açık adres`, `teslimat adresi`… aranır.
ayiricisorgu"auto" | "," | ";" | "tab"
basliksorgu"1" | "0"0: ilk satır veri; `sutun` sıra numarası olmalı
kodlamasorgu"auto" | "utf-8" | "windows-1254"TR Excel "CSV" kaydı windows-1254; auto ikisini de tanır. Çıktı her zaman UTF-8 (BOM ile).

Örnek istek

curl -X POST "$ADRESKIT/v1/address/temizle" \
  -H "authorization: Bearer $ADRESKIT_ANAHTAR" \
  -H "content-type: text/csv" \
  --data-binary @siparisler.csv \
  -o siparisler-temiz.csv

Yanıtlar

  • 200Temizlenmiş CSV
  • 400CSV bozuk (satır numarasıyla) ya da adres sütunu bulunamadıHata
  • 401Anahtar yok ya da geçersizHata
  • 4132,5 MB ya da 10.000 satır aşıldıHata
  • 415Gövde CSV değilHata
  • 429Kredi limiti aşıldıHata
  • 503Süre sınırı aşıldı; kredi düşülmediHata

IBAN

POST/v1/iban/dogrula

1 kredi

IBAN doğrula, bankayı çöz

Anahtar gerekli

ISO 13616 mod-97. ibanlar[] ile toplu (en fazla 1000, IBAN başına 1 kredi).

İstek gövdesi
AlanTipAçıklama
ibanstring
ibanlarstring[]en fazla 1000

Örnek istek

curl -X POST "$ADRESKIT/v1/iban/dogrula" \
  -H "authorization: Bearer $ADRESKIT_ANAHTAR" \
  -H "content-type: application/json" \
  -d '{"iban":"TR33 0006 1005 1978 6457 8413 26"}'

Yanıtlar

  • 200BaşarılıIbanSonucu ya da object
  • 400iban ya da ibanlar eksik, boş ya da metin olmayan elemanHata
  • 401Anahtar yok ya da geçersizHata
  • 4131000'den fazla IBANHata
  • 429Kredi limiti aşıldıHata
Toplu yanıt
sonuclarIbanSonucu[]
ozetobject
ozet.toplaminteger
ozet.gecerliinteger

GET/v1/iban/bankalar

ücretsiz

TCMB banka kodu listesi (ücretsiz)

Anahtar gerekli

Örnek istek

curl "$ADRESKIT/v1/iban/bankalar" \
  -H "authorization: Bearer $ADRESKIT_ANAHTAR"

Yanıtlar

  • 200Başarılı
  • 401Anahtar geçersizHata

TCMB kuru

GET/v1/kur

ücretsiz

TCMB döviz kurları (ücretsiz)

Anahtar gerekli

Tatil/hafta sonunda en yakın önceki iş gününe düşer; geriyeDusuldu bunu söyler. TCMB ticari kullanımı yazılı izne bağlıyor; izin gelene kadar 0 kredi, not alanıyla.

Parametreler
AdYerTipAçıklama
tarihsorgustring (date)YYYY-AA-GG

Örnek istek

curl "$ADRESKIT/v1/kur?tarih=2026-09-18" \
  -H "authorization: Bearer $ADRESKIT_ANAHTAR"

Yanıtlar

  • 200Başarılı
  • 400tarih biçimi hatalıHata
  • 401Anahtar yok ya da geçersizHata
  • 404Yayın bulunamadıHata
  • 429Kredi limiti aşıldıHata
Yanıt alanları
kaynakobject
veriKaynagistring`kaynak` ile aynı
notstring
tarihstring
istenenTarihstring
geriyeDusulduboolean
bultenNostring | null
kurlarKur[]

POST/v1/kur/cevir

ücretsiz

Para birimi çevir (TCMB kuru, ücretsiz)

Anahtar gerekli

Yanıttaki kaynak kaynak para birimidir; veri kaynağı veriKaynagi (TCMB).

İstek gövdesi
AlanTipAçıklama
tutarzorunlunumber
kaynakzorunlustring
hedefzorunlustring
kurTipi"alis" | "satis" | "efektifAlis" | "efektifSatis"varsayılan "satis"
tarihstring (date)

Örnek istek

curl -X POST "$ADRESKIT/v1/kur/cevir" \
  -H "authorization: Bearer $ADRESKIT_ANAHTAR" \
  -H "content-type: application/json" \
  -d '{"tutar":100,"kaynak":"USD","hedef":"TRY"}'

Yanıtlar

  • 200Başarılı
  • 400Eksik alan, bilinmeyen para birimi ya da yayımlanmamış kurHata
  • 401Anahtar yok ya da geçersizHata
  • 404Yayın bulunamadıHata
  • 429Kredi limiti aşıldıHata
Yanıt alanları
veriKaynagiobject
notstring
tutarnumber
kaynakstring
hedefstring
sonucnumber
kurTipistring
tarihstring
geriyeDusulduboolean
kullanilanKurobject
kullanilanKur.kaynaknumber
kullanilanKur.hedefnumber

GET/v1/kur/ecb

ücretsiz

ECB euro referans kurları (ücretsiz)

Anahtar gerekli

29 para birimi, ECB iş günlerinde ~16:00 CET yayımlar. baz EUR ise değerler ECB'nin yayımladığı gibi; başka bazda ECB kurlarından hesaplanır ve her kurda hesaplanan: true olur. Bu veri ecb.europa.eu'dan ücretsiz alınabilir.

Parametreler
AdYerTipAçıklama
bazsorgustringÜç harfli kod, örn. TRY

Örnek istek

curl "$ADRESKIT/v1/kur/ecb?baz=…" \
  -H "authorization: Bearer $ADRESKIT_ANAHTAR"

Yanıtlar

  • 200Başarılı
  • 400baz geçersiz ya da ECB listesinde yokHata
  • 401Anahtar yok ya da geçersizHata
  • 429Kredi limiti aşıldıHata
  • 503ECB yayını alınamıyorHata
Yanıt alanları
kaynakstring
notstring
hesaplamaNotustringYalnız EUR dışı bazda
tarihstring
bazstring
kurlarobject[]
kurlar[].kodstring
kurlar[].orannumber1 baz = oran kod
kurlar[].hesaplananboolean

TCKN, VKN, telefon

Yalnız algoritma kontrolü; resmî bir kayda sorulmaz. Gönderilen numara veritabanına yazılmaz, TCKN yanıtta dönmez.

POST/v1/dogrula/tckn

1 kredi

TCKN doğrula

Anahtar gerekli

11 hane, ilk hane ≠ 0, iki kontrol hanesi. Numara yanıtta dönmez. tcknler[] ile toplu (en fazla 1000, öğe başına 1 kredi).

İstek gövdesi
AlanTipAçıklama
tcknstring
tcknlerstring[]en fazla 1000

Örnek istek

curl -X POST "$ADRESKIT/v1/dogrula/tckn" \
  -H "authorization: Bearer $ADRESKIT_ANAHTAR" \
  -H "content-type: application/json" \
  -d '{"tckn":"10000000146"}'

Yanıtlar

  • 200BaşarılıKimlikSonucu ya da object
  • 400tckn ya da tcknler eksikHata
  • 401Anahtar yok ya da geçersizHata
  • 4131000'den fazla elemanHata
  • 429Kredi limiti aşıldıHata
Toplu yanıt
sonuclarKimlikSonucu[]Girdi sırasıyla
ozetobject
ozet.toplaminteger
ozet.gecerliinteger

POST/v1/dogrula/vkn

1 kredi

VKN doğrula

Anahtar gerekli

GİB kontrol hanesi. 11 hane gelirse şahıs şirketi (VKN = TCKN) sayılır. vknler[] ile toplu (en fazla 1000, öğe başına 1 kredi).

İstek gövdesi
AlanTipAçıklama
vknstring
vknlerstring[]en fazla 1000

Örnek istek

curl -X POST "$ADRESKIT/v1/dogrula/vkn" \
  -H "authorization: Bearer $ADRESKIT_ANAHTAR" \
  -H "content-type: application/json" \
  -d '{"vkn":"1234567890"}'

Yanıtlar

  • 200BaşarılıKimlikSonucu ya da object
  • 400vkn ya da vknler eksikHata
  • 401Anahtar yok ya da geçersizHata
  • 4131000'den fazla elemanHata
  • 429Kredi limiti aşıldıHata
Toplu yanıt
sonuclarKimlikSonucu[]Girdi sırasıyla
ozetobject
ozet.toplaminteger
ozet.gecerliinteger

POST/v1/dogrula/telefon

1 kredi

Telefon doğrula ve biçimle

Anahtar gerekli

BTK numara planı; E.164, tür ve sabit hatta il. Operatör verilmez (numara taşıma). telefonlar[] ile toplu (en fazla 1000, öğe başına 1 kredi).

İstek gövdesi
AlanTipAçıklama
telefonstring
telefonlarstring[]en fazla 1000

Örnek istek

curl -X POST "$ADRESKIT/v1/dogrula/telefon" \
  -H "authorization: Bearer $ADRESKIT_ANAHTAR" \
  -H "content-type: application/json" \
  -d '{"telefon":"0532 123 45 67"}'

Yanıtlar

  • 200BaşarılıTelefonSonucu ya da object
  • 400telefon ya da telefonlar eksikHata
  • 401Anahtar yok ya da geçersizHata
  • 4131000'den fazla elemanHata
  • 429Kredi limiti aşıldıHata
Toplu yanıt
sonuclarTelefonSonucu[]Girdi sırasıyla
ozetobject
ozet.toplaminteger
ozet.gecerliinteger

Kargo

Şimdilik yalnız Yurtiçi Kargo. Gönderen ve alıcı adı yanıtta yer almaz.

GET/v1/kargo/takip

1 kredi

Kargo takip

Anahtar gerekli

Şu an yalnız Yurtiçi. Gönderici/alıcı adı döndürülmez. 5 dakika önbellek.

Parametreler
AdYerTipAçıklama
tasiyicizorunlusorgu"yurtici"
nozorunlusorgustring

Örnek istek

curl "$ADRESKIT/v1/kargo/takip?tasiyici=…&no=…" \
  -H "authorization: Bearer $ADRESKIT_ANAHTAR"

Yanıtlar

  • 200BaşarılıKargoSonucu
  • 400Eksik ya da hatalı parametreHata
  • 401Anahtar yok ya da geçersizHata
  • 422Taşıyıcı desteklenmiyorHata
  • 429Kredi limiti aşıldıHata
  • 502Taşıyıcıya ulaşılamıyorHata

GET/v1/kargo/tasiyicilar

ücretsiz

Taşıyıcılar ve destek durumu

Anahtarsız

Örnek istek

curl "$ADRESKIT/v1/kargo/tasiyicilar"

Yanıtlar

  • 200Başarılı
Yanıt alanları
tasiyicilarobject[]

Hesap ve anahtar

POST/v1/kayit

ücretsiz

Hesap aç, ilk anahtarı al

Anahtarsız

IP başına saatte 5 kayıt. Anahtar yanıtta bir kez döner, bir daha gösterilmez.

İstek gövdesi
AlanTipAçıklama
emailzorunlustring (email)
adstring
kaynakstringNereden geldiniz (ör. "hn"); isteğe bağlı

Örnek istek

curl -X POST "$ADRESKIT/v1/kayit" \
  -H "content-type: application/json" \
  -d '{}'

Yanıtlar

  • 201Hesap açıldı
  • 400Geçersiz e-posta ya da kaynakHata
  • 409E-posta zaten kayıtlıHata
  • 429Kayıt hız sınırıHata
Yanıt alanları
hesapIdstring
emailstring
planstring
anahtarstring
uyaristring
dogrulama"gonderildi" | "dogrulanmis" | "hiz_siniri" | "gonderilemedi"Doğrulama e-postasının durumu (e-posta doğrulaması açıksa)
baslangicobject
baslangic.ornekstring

POST/v1/anahtar

ücretsiz

Yeni anahtar üret

Anahtar gerekli

En fazla 10 aktif anahtar. Eski anahtar iptal edilmez.

İstek gövdesi
AlanTipAçıklama
adstring

Örnek istek

curl -X POST "$ADRESKIT/v1/anahtar" \
  -H "authorization: Bearer $ADRESKIT_ANAHTAR" \
  -H "content-type: application/json" \
  -d '{}'

Yanıtlar

  • 201Üretildi
  • 401Anahtar yok ya da geçersizHata
  • 409Anahtar sınırıHata
  • 429Kredi limiti aşıldıHata
Yanıt alanları
anahtarstring
onekstring
uyaristring

GET/v1/anahtar

ücretsiz

Anahtarları listele (yalnız önekler)

Anahtar gerekli

Örnek istek

curl "$ADRESKIT/v1/anahtar" \
  -H "authorization: Bearer $ADRESKIT_ANAHTAR"

Yanıtlar

  • 200Başarılı
  • 401Anahtar yok ya da geçersizHata
  • 429Kredi limiti aşıldıHata
Yanıt alanları
anahtarlarobject[]
anahtarlar[].idstring
anahtarlar[].onekstring
anahtarlar[].adstring | null
anahtarlar[].aktifboolean
anahtarlar[].son_kullanimstring | null
anahtarlar[].olusturmastring

DELETE/v1/anahtar/{id}

ücretsiz

Anahtarı iptal et

Anahtar gerekli

Parametreler
AdYerTipAçıklama
idzorunluyolstring (uuid)

Örnek istek

curl -X DELETE "$ADRESKIT/v1/anahtar/<id>" \
  -H "authorization: Bearer $ADRESKIT_ANAHTAR"

Yanıtlar

  • 200Başarılı
  • 400Geçersiz idHata
  • 401Anahtar yok ya da geçersizHata
  • 404Anahtar bulunamadıHata
  • 409Son aktif anahtar iptal edilemezHata
  • 429Kredi limiti aşıldıHata
Yanıt alanları
iptalboolean
idstring

GET/v1/kullanim

ücretsiz

Kalan kredi

Anahtar gerekli

Örnek istek

curl "$ADRESKIT/v1/kullanim" \
  -H "authorization: Bearer $ADRESKIT_ANAHTAR"

Yanıtlar

  • 200Başarılı
  • 401Anahtar geçersizHata
  • 404Hesap bulunamadıHata
Yanıt alanları
aylikobject
aylik.limitinteger
aylik.harcananinteger
aylik.kalaninteger
ekKrediinteger
toplamKalaninteger

Ödeme

Kredi paketleri yakında. Ödeme sağlayıcıları açılana kadar ödeme başlatma ucu 503 döner.

GET/v1/paketler

ücretsiz

Kredi paketleri ve fiyatlar

Anahtarsız

Örnek istek

curl "$ADRESKIT/v1/paketler"

Yanıtlar

  • 200Başarılı
Yanıt alanları
paketlerobject[]
paketler[].kodstring
paketler[].adstring
paketler[].krediinteger
paketler[].fiyatobject
notstring

POST/v1/odeme

ücretsiz

Ödeme başlat

Anahtar gerekli

TRY → PayTR, USD → Polar. Sağlayıcı yapılandırılmamışsa 503.

İstek gövdesi
AlanTipAçıklama
paketzorunlustring
paraBirimi"TRY" | "USD"

Örnek istek

curl -X POST "$ADRESKIT/v1/odeme" \
  -H "authorization: Bearer $ADRESKIT_ANAHTAR" \
  -H "content-type: application/json" \
  -d '{"paket":"baslangic","paraBirimi":"TRY"}'

Yanıtlar

  • 201Ödeme sayfası hazır
  • 400Geçersiz paket ya da para birimiHata
  • 401Anahtar yok ya da geçersizHata
  • 404Hesap bulunamadıHata
  • 429Kredi limiti aşıldıHata
  • 502Sağlayıcı hatasıHata
  • 503Bu para birimiyle ödeme kapalıHata
Yanıt alanları
odemeIdstring
paketstring
krediinteger
odemeUrlstring

GET/v1/odeme

ücretsiz

Ödeme geçmişi

Anahtar gerekli

Örnek istek

curl "$ADRESKIT/v1/odeme" \
  -H "authorization: Bearer $ADRESKIT_ANAHTAR"

Yanıtlar

  • 200Başarılı
  • 401Anahtar yok ya da geçersizHata
  • 429Kredi limiti aşıldıHata
Yanıt alanları
odemelerobject[]

MCP

POST/mcp

Uzak MCP (Streamable HTTP, stateless)

Anahtar yalnız araç çağrısında

Model Context Protocol JSON-RPC ucu. Anahtar yalnız tools/call için gerekli; initialize, tools/list ve ping anahtarsız ve ücretsiz. Anahtarsız tek tools/call 401 anlamında isError döner; içinde tools/call olan anahtarsız toplu istek 401. Kredi, çağrılan aracın REST ucu kadar düşer. Yanıt JSON, SSE yok. Accept: application/json, text/event-stream gerekli.

Gövde: JSON-RPC 2.0 mesajı.

Örnek istek

curl -X POST "$ADRESKIT/mcp" \
  -H "accept: application/json, text/event-stream" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

Yanıtlar

  • 200Başarılı
  • 400Geçersiz JSON (JSON-RPC -32700)
  • 401Anahtarsız toplu istekte tools/call

Demo

POST/v1/demo/adres

ücretsiz

Anahtarsız adres çözümleme (tanıtım)

Anahtarsız

Tanıtım sayfasındaki canlı kutu için. Anahtar istemez, kredi düşmez. Yalnız tek adres, en fazla 200 karakter. IP başına 10 dakikada 20 istek; aşılınca 429 ve Retry-After.

İstek gövdesi
AlanTipAçıklama
qzorunlustringen fazla 200 karakter

Örnek istek

curl -X POST "$ADRESKIT/v1/demo/adres" \
  -H "content-type: application/json" \
  -d '{"q":"kadikoy moda cad 14"}'

Yanıtlar

Sistem

GET/health

Canlılık

Anahtarsız

Örnek istek

curl "$ADRESKIT/health"

Yanıtlar

  • 200Başarılı
Yanıt alanları
okboolean

GET/openapi.json

Bu şema

Anahtarsız

Örnek istek

curl "$ADRESKIT/openapi.json"

Yanıtlar

  • 200Başarılı

eposta

GET/v1/eposta/dogrula

E-posta adresini doğrula (e-postadaki bağlantı)

Anahtarsız

Parametreler
AdYerTipAçıklama
kodzorunlusorgustring

Örnek istek

curl "$ADRESKIT/v1/eposta/dogrula?kod=…"

Yanıtlar

  • 200Başarılı
  • 400Kod geçersiz ya da süresi dolmuşHata
Yanıt alanları
dogrulandiboolean

POST/v1/eposta/dogrulama-gonder

ücretsiz

Doğrulama e-postasını yeniden gönder

Anahtar gerekli

Saatte en fazla 3. Bağlantı 24 saat geçerli; yeni bağlantı eskisini geçersiz kılar.

Örnek istek

curl -X POST "$ADRESKIT/v1/eposta/dogrulama-gonder" \
  -H "authorization: Bearer $ADRESKIT_ANAHTAR"

Yanıtlar

  • 200Başarılı
  • 401Anahtar yok ya da geçersizHata
  • 429Kredi limiti aşıldıHata
  • 503E-posta gönderilemiyorHata
Yanıt alanları
dogrulama"gonderildi" | "dogrulanmis"

POST/v1/kurtar

Anahtar kurtarma kodu iste

Anahtarsız

Hesap olsun olmasın aynı yanıt döner. Kod e-postayla gelir, 30 dakika geçerli. IP başına saatte 5, hesap başına saatte 3 istek.

İstek gövdesi
AlanTipAçıklama
emailzorunlustring (email)

Örnek istek

curl -X POST "$ADRESKIT/v1/kurtar" \
  -H "content-type: application/json" \
  -d '{}'

Yanıtlar

  • 202İstek alındı
  • 400Geçersiz e-postaHata
  • 429Hız sınırıHata
  • 503E-posta gönderilemiyorHata
Yanıt alanları
mesajstring

POST/v1/kurtar/onay

Kurtarma koduyla yeni anahtar al

Anahtarsız

eskileriIptal: true önceki bütün anahtarları kapatır. Kod tek kullanımlık; anahtar yanıtta bir kez döner.

İstek gövdesi
AlanTipAçıklama
kodzorunlustring
eskileriIptalbooleanvarsayılan false

Örnek istek

curl -X POST "$ADRESKIT/v1/kurtar/onay" \
  -H "content-type: application/json" \
  -d '{}'

Yanıtlar

  • 201Anahtar üretildi
  • 400Kod geçersiz ya da süresi dolmuşHata
  • 409Anahtar sınırı (kod harcanmadı)Hata
Yanıt alanları
anahtarstring
onekstring
iptalEdileninteger
uyaristring

Şemalar

Hata

hataher zamanstring

Ayrisma

mahallestring
koystring
yolAdistring
yolTipistring
binaNostring
dairestring
katstring
blokstring
binastring
sitestring
postaKodustring
serbeststring[]Çapaya bağlanamayan kelimeler
duzeltmelerstring[]

AdresSonucu

ilstring
ilcestring
mahallestring
yolstring
binaNostring
dairestring
katstring
latnumber
lonnumber
hassasiyether zaman"sokak" | "mahalle" | "ilce" | "il" | "yok"Koordinatın ayrıntı düzeyi (bileşenin bulunup bulunmadığı değil). `mahalle` şimdilik üretilmiyor
dogrulananher zamanobjectHangi bileşenin resmî sicilde bulunduğu; koordinattan bağımsız
dogrulanan.ilboolean
dogrulanan.ilceboolean
dogrulanan.mahalleboolean
dogrulanan.yolboolean
guvenher zamannumber0–1
duzeltmelerher zamanstring[]Yapılan düzeltmelerin okunur dökümü
ayrismaher zamanAyrisma

IbanSonucu

gecerliher zamanboolean
ibanstring
bicimlistring
ulkestring
bankaKodustring
hesapNostring
bankaobject
hata"bos" | "gecersiz_karakter" | "bilinmeyen_ulke" | "uzunluk" | "kontrol_basamagi" | "tr_ayrilmis_hane"
aciklamastring

Kur

kodstring
adstring
adEnstring
birimintegerTCMB kote birimi (JPY 100); kurlar 1 birime indirgenmiş
alisnumber | null
satisnumber | null
efektifAlisnumber | null
efektifSatisnumber | null

KimlikSonucu

gecerliher zamanboolean
tur"vkn" | "tckn"Yalnız VKN ucunda
vknstringYalnız geçerli 10 haneli VKN
hata"bos" | "gecersiz_karakter" | "uzunluk" | "ilk_hane_sifir" | "kontrol_10" | "kontrol_11" | "kontrol_basamagi"
aciklamastring
nother zamanstring

TelefonSonucu

gecerliher zamanboolean
e164string | null+905321234567; 444 numaralarında null
ulusalstring0532 123 45 67
tur"gsm" | "m2m" | "sabit" | "ucretsiz_800" | "katma_degerli_900" | "ulusal_850" | "kurumsal_444"
ilstringYalnız sabit hatlarda
hata"bos" | "gecersiz_karakter" | "yabanci_ulke" | "uzunluk" | "tanimsiz_onek"
aciklamastring

KargoKonum

ilstring | null
ilcestring | null
ulkestring | null

KargoSonucu

tasiyiciher zamanstring
takipNoher zamanstring
bulunduher zamanboolean
mesajstringYalnız bulundu=false
durum"hazirlaniyor" | "yolda" | "dagitimda" | "teslim_edildi" | "iade" | "bilinmiyor"
durumMetnistring | null
teslimEdildiboolean
gonderiTarihistring | null
tahminiTeslimstring | null
cikisKargoKonum
varisKargoKonum
teslimBirimiobject | null
teslimBirimi.adstring | null
teslimBirimi.telefonstring | null
hareketlerobject[]
hareketler[].tarihstring | null
hareketler[].yerstring | null
hareketler[].aciklamastring | null

Şema derleme anında https://xacw6yute6famacx6a7tjafkfq0hqmug.lambda-url.eu-central-1.on.aws/openapi.json ucundan alındı.