Skip to main content

Apiservisim Python SDK

Apiservisim'in Türkçe API'lerine Python ile erişmek için bağımlılıksız istemci. Python 3.10+ ve yalnızca standart kütüphane gerekir.

Kurulum

python -m pip install apiservisim

Paket adı apiservisim'dir. PyPI sürümleri ayrı numaralandırılır. Kaynak koddan geliştirme kurulumu için python -m pip install . komutunu python-sdk klasöründe çalıştırın.

API kataloğu

Aşağıda web sitesindeki 36 API kartının tamamı ve birincil endpoint şablonları yer alır. Ek alt yollar ve alias'lar sonraki bölümde listelenmiştir.

API Birincil endpoint
Proxy Kontrol API /api/proxy/{adet}
Faiz Oranları API /api/faiz
Görsel Boyutlandırma API /api/resim
Altın API /api/altin
QR Kod API /api/qr
Bayrak API /api/bayraklar
IBAN Doğrulama API /api/iban
Borsa API /api/borsa
Döviz API /api/doviz
Eczane API /api/eczane
Noterlik ve Nöbetçi Noter API /api/noterlikler
Namaz Vakitleri API /api/namaz
Deprem API · Kandilli /api/deprem/kandilli
Deprem API · AFAD /api/deprem/afad
Kargo API /api/kargo/{carrier}/{takip_no}
Araç Şarj İstasyonları API /api/sarj/{path...}
TikTok Video API /api/tiktok/{url...}
Akaryakıt API /api/petrol-ofisi/{path...}
Adres API /api/mahalleler
Planlı Çalışma API /api/planli-calisma
Resmî Tatiller API /api/resmitatiller
Endeks API /api/endeks
Film API /api/film
Hava Durumu API /api/hava/{sehir}
IP Bilgi API /api/ip
Domain Bilgi API /api/domain/{domain}
DKIM Doğrulayıcı API /api/dkim
E-posta Doğrulama API /api/eposta
T.C. Kimlik No Kontrol API /api/tckimlik
Kripto API /api/kripto
KDV API /api/kdv
Plaka Tanıma API /api/plaka
SEO API /api/seo
Güneş Konumu API /api/gunes
Haberler API /api/haberler
Saat API /api/saat

Tüm kamuya açık route şablonları

API_ENDPOINTS, aşağıdaki 88 route şablonunu içerir. Liste, uygulamadaki bütün public API route dosyalarını ve adres servisinin public alias/opsiyonel yollarını kapsar. İç yönetim uçları olan /api/admin/... bu pakete ve kataloğa dahil değildir.

/api/adres
/api/adres/{path...}
/api/akaryakit
/api/altin
/api/aras/{takip_no}
/api/bayraklar
/api/bayraklar/{isim}
/api/borsa
/api/contact
/api/deprem/afad
/api/deprem/kandilli
/api/dkim
/api/domain-history
/api/domain-tld
/api/domain/{domain}
/api/doviz
/api/eczane
/api/emtia
/api/endeks
/api/eposta
/api/faiz
/api/faiz/{path...}
/api/faiz/basvuru/{id}
/api/faiz/img/{path...}
/api/film
/api/gunes
/api/haberler
/api/haberler/kategori
/api/haberler/{kategori}
/api/harem
/api/hava/{sehir}
/api/havalimanlari
/api/havalimanlari/{kod}
/api/havalimanlari/{kod}/tablo
/api/havalimanlari/{kod}/ucuslar
/api/hesapla
/api/history/{domain}
/api/iban
/api/iban/logo/{eft}
/api/ilceler
/api/iller
/api/ip
/api/ip/{path...}
/api/kargo/{carrier}/{takip_no}
/api/kdv
/api/kdv/durum
/api/kdv/{ulke}
/api/kdv/{ulke}/hesapla
/api/kripto
/api/namaz
/api/namaz/{path...}
/api/mahalleler
/api/mahalleler.json
/api/nobetci
/api/nobetci/{il}
/api/noter/iller
/api/noter/yenile
/api/noterlikler
/api/noterlikler/{il}
/api/pariteler
/api/petrol-ofisi
/api/petrol-ofisi/{path...}
/api/plaka
/api/planli-calisma
/api/postakodu
/api/posta-kodu/{path...}
/api/proxy
/api/proxy/{adet}
/api/qr
/api/resim
/api/resmitatiller
/api/resmitatiller/{path...}
/api/saat
/api/saat/{sehir...}
/api/sarj/{path...}
/api/seo
/api/sokaklar
/api/status/history
/api/surat/{takip_no}
/api/tckimlik
/api/tiktok
/api/tiktok/{url...}
/api/tld
/api/ucuslar
/api/ucuslar/{kod}
/api/ucuslar/{kod}/detay
/api/whois
/api/whois/{domain}

Python'da API_CATALOG servis adlarını ana route'lara eşler; API_ENDPOINTS ise ek ve dinamik route'ları da verir. Yeni bir route eklense bile get, post ve request ile doğrudan çağrılabilir.

from apiservisim import API_CATALOG, API_ENDPOINTS, ApiServisim

api = ApiServisim()

print(len(API_CATALOG))   # 36 servis kartı
print(len(API_ENDPOINTS)) # 88 public route şablonu

kurlar = api.call_api("Döviz API")
hava = api.call_api("Hava Durumu API", path_params={"sehir": "istanbul"})
kargo = api.call_api(
    "Kargo API",
    path_params={"carrier": "aras", "takip_no": "TAKIP-NO"},
)

Dinamik route'larda {sehir} gibi tek segmentli parametreler; {path...} gibi catch-all parametrelerde slash içeren metin veya segment listesi kullanılabilir. Path değerleri URL için otomatik kodlanır. call_api kayıtlı servis adını ya da doğrudan bir route şablonunu kabul eder.

HTTP metotları ve yanıtlar

JSON yanıtları Python nesnesi, JSON olmayan yanıtlar bytes olarak döner. request ile GET, POST, PUT, PATCH veya DELETE kullanılabilir.

qr_png = api.call_api("/api/qr", params={"data": "Merhaba", "size": 600})

saat = api.call_api(
    "/api/saat/{sehir...}",
    path_params={"sehir": "Europe/Paris"},
)

sonuc = api.post("tckimlik", json={"tc": "...", "ad": "..."})
sonuc = api.request("DELETE", "/api/ornek", params={"id": 123})

T.C. Kimlik No Kontrol API'si

import os
from apiservisim import ApiServisim

sonuc = ApiServisim().call_api(
    "T.C. Kimlik No Kontrol API",
    method="POST",
    json={
        "tc": os.environ["TC_KIMLIK_NO"],
        "ad": os.environ["KISI_ADI"],
        "soyad": os.environ["KISI_SOYADI"],
        "dogum_yili": 1990,
    },
)

Bu endpoint yalnızca yerel biçim ve kontrol basamağı algoritmasını çalıştırır. Harici kimlik kayıtlarına bağlanmaz ve gerçek bir kişinin kimliğini doğrulamaz. Gerçek kişisel verileri GET URL'sine koymayın veya günlüklerde saklamayın; POST JSON kullanın.

Özel sunucu adresi, zaman aşımı ve hatalar

from apiservisim import ApiServisim, ApiServisimHTTPError

api = ApiServisim(base_url="https://apiservisim.vercel.app", timeout=20)

try:
    sonuc = api.get("saat", params={"sehir": "İstanbul"})
except ApiServisimHTTPError as hata:
    print(hata.status_code, hata.body)

ApiServisimConnectionError, bağlantı ve zaman aşımı sorunlarında; ApiServisimHTTPError API'nin 4xx/5xx yanıtlarında yükseltilir. Hata gövdesi ApiServisimHTTPError.body içindedir.

Testler

python -m unittest discover -s tests -v

Metadata

Release files for apiservisim 0.2.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for apiservisim 0.2.1
File Size Uploaded Provenance
apiservisim-0.2.1.tar.gz 11.9 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for apiservisim 0.2.1
File Interpreter ABI Platform
apiservisim-0.2.1-py3-none-any.whl Python 3 none any Details

Total release size: 20.9 kB

Release files / apiservisim-0.2.1.tar.gz

Download URL apiservisim-0.2.1.tar.gz
Size 11.9 kB
Tags Source
SHA-256 checksum
How to use checksums
c41c02f9fd74e9b2de701954df962101ab741bd5de06aa3588cf3dda686dcdcf
BLAKE2b-256 checksum
How to use checksums
3ff85609972c6e17a29109e4d166dc6760d8b81434e2cbed78fa5535db5976c3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.3

Release files / apiservisim-0.2.1-py3-none-any.whl

Download URL apiservisim-0.2.1-py3-none-any.whl
Size 8.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
af91c2d5363383caaef11fc9cc3c4278157b7c687f6bb4f73de2252d6bd02f36
BLAKE2b-256 checksum
How to use checksums
1f957a36f6549b6ec3445bda011c186e6781b7af2c48cf84e7f7412c85a74fe8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.3

Security for apiservisim 0.2.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page