Metadata-Version: 2.4
Name: apiservisim
Version: 0.2.2
Summary: Apiservisim'in 36 Türkçe API servisi için bağımlılıksız Python SDK'sı
Project-URL: Homepage, https://apiservisim.vercel.app/
Project-URL: Repository, https://github.com/fortextexe/apiservisim
Keywords: apiservisim,api,turkey,türkçe,sdk
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Internet :: WWW/HTTP
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.10
Description-Content-Type: text/markdown

# Apiservisim Python SDK

Apiservisim'in 36 API kartındaki Türkçe servislere ve 88 public endpoint şablonuna Python ile erişmek için bağımlılıksız istemci. Python 3.10+ ve yalnızca standart kütüphane gerekir. İç yönetim endpoint'leri (`/api/admin/...`) bu paketin kapsamı dışındadır.

## Kurulum

```bash
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 ve kapsamlı endpoint referansı

Bu bölüm, web sitesindeki tüm **36 servis kartını** kategori, amaç, temel endpoint, örnek istek, parametreler, yanıt biçimi ve mevcut hata/not bilgileriyle açıklar. İç yönetim endpoint’leri `/api/admin/...` dahil değildir.

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

## Her API için ayrıntılar

### Proxy Kontrol API

- **Kategori:** Araçlar
- **Amaç:** Ücretsiz HTTP, HTTPS ve SOCKS proxy listesinden çalışan sunucuları gecikmeye göre test eder
- **Ana endpoint:** `/api/proxy/{adet}`
- **Site detay yolu:** `/api/proxy{adet}`

**Hızlı cURL çağrısı:**

```bash
curl -g "https://apiservisim.vercel.app/api/proxy10?tur=http&ulke=TR"
```

**Parametreler:**

- `adet` (`number`, zorunlu): İstenen proxy adedi (1–50; URL sonunda veya adet= parametresinde)
- `tur` (`string`, opsiyonel): http, https, socks4 veya socks5; varsayılan: http
- `ulke` (`string`, opsiyonel): İki harfli ISO ülke kodu; ör. TR, US, DE. Boş bırakılırsa tüm ülkeler
- `sure` (`number`, opsiyonel): Proxy başına zaman aşımı (1–5 saniye; varsayılan: 3)

**Ek kullanım örnekleri:**

_Türkiye HTTP proxy'leri_

```bash
curl "https://apiservisim.vercel.app/api/proxy10?tur=http&ulke=TR"
```

_SOCKS5 proxy'leri_

```bash
curl "https://apiservisim.vercel.app/api/proxy/20?tur=socks5"
```

_Query parametresiyle_

```bash
curl "https://apiservisim.vercel.app/api/proxy?adet=10&tur=https&sure=5"
```

**Yanıt biçimi:**

JSON · endpoint’e göre değişen servis yanıtı

**Hata durumları:**

400 Geçersiz veya eksik parametre · 502 Kaynak servis yanıt vermedi

---

### Faiz Oranları API

- **Kategori:** Finans
- **Amaç:** İhtiyaç, taşıt ve konut kredisi teklifleri ile aylık taksit hesaplama
- **Ana endpoint:** `/api/faiz`
- **Site detay yolu:** `/api/faiz`

**Hızlı cURL çağrısı:**

```bash
curl -g "https://apiservisim.vercel.app/api/faiz?tur=ihtiyac&tutar=50000&vade=24"
```

**Parametreler:**

- `tur` (`string`, opsiyonel): ihtiyac, tasit veya konut; varsayılan: ihtiyac
- `tutar` (`number`, opsiyonel): Kredi tutarı
- `vade` (`number`, opsiyonel): Vade (ay)
- `banka` (`string`, opsiyonel): Banka adına göre filtre
- `sirala` (`string`, opsiyonel): faiz, taksit veya toplam
- `hesapla` (`1`, opsiyonel): Teklif yerine hesaplama modu
- `faiz` (`number`, opsiyonel): Hesaplama modunda aylık faiz oranı

**Ek kullanım örnekleri:**

_Kredi teklifleri_

```bash
curl "https://apiservisim.vercel.app/api/faiz?tur=ihtiyac&tutar=50000&vade=24"
```

_Taksit hesaplama_

```bash
curl "https://apiservisim.vercel.app/api/faiz?tur=konut&tutar=500000&vade=120&hesapla=1&faiz=2.89"
```

_Kısa yol ve toplam sıralama_

```bash
curl "https://apiservisim.vercel.app/api/faiz/tasit/200k/36/ikinciel/toplam"
```

**Yanıt biçimi:**

JSON · endpoint’e göre değişen servis yanıtı

**Hata durumları:**

400 Geçersiz veya eksik parametre · 502 Kaynak servis yanıt vermedi

---

### Görsel Boyutlandırma API

- **Kategori:** Araçlar
- **Amaç:** Uzak görselleri boyutlandırır, dönüştürür ve optimize eder
- **Ana endpoint:** `/api/resim`
- **Site detay yolu:** `/api/resim`

**Hızlı cURL çağrısı:**

```bash
curl -g "https://apiservisim.vercel.app/api/resim?url=https%3A%2F%2Fexample.com%2Fimage.jpg&en=800&boy=600&tip=webp&dogrudan=1"
```

**Parametreler:**

- `url` (`URL`, zorunlu): Görselin herkese açık HTTP/HTTPS adresi
- `en` (`number`, opsiyonel): Çıktı genişliği (px)
- `boy` (`number`, opsiyonel): Çıktı yüksekliği (px)
- `tip` (`string`, opsiyonel): png, jpg, webp, avif veya tiff
- `mod` (`string`, opsiyonel): uzat, sigdir, kirp veya ic
- `dogrudan` (`1`, opsiyonel): JSON yerine görsel dosyasını döndürür

**Ek kullanım örnekleri:**

_WebP boyutlandırma_

```bash
curl "https://apiservisim.vercel.app/api/resim?url=https%3A%2F%2Fexample.com%2Fimage.jpg&en=800&boy=600&tip=webp&dogrudan=1" -o output.webp
```

_Sadece metadata_

```bash
curl "https://apiservisim.vercel.app/api/resim?url=https%3A%2F%2Fexample.com%2Fimage.jpg&en=1200&tip=jpg"
```

**Yanıt biçimi:**

JSON · endpoint’e göre değişen servis yanıtı

**Hata durumları:**

400 Geçersiz veya eksik parametre · 502 Kaynak servis yanıt vermedi

---

### Altın API

- **Kategori:** Finans
- **Amaç:** Altın fiyatları
- **Ana endpoint:** `/api/altin`
- **Site detay yolu:** `/api/altin`

**Hızlı cURL çağrısı:**

```bash
curl -g "https://apiservisim.vercel.app/api/altin"
```

**Parametreler:** Site kataloğunda özel sorgu parametresi listelenmiyor.

**Yanıt biçimi:**

JSON · endpoint’e göre değişen servis yanıtı

**Hata durumları:**

400 Geçersiz veya eksik parametre · 502 Kaynak servis yanıt vermedi

---

### QR Kod API

- **Kategori:** Araçlar
- **Amaç:** Metin, URL, Wi‑Fi, kişi kartı, JSON ve sipariş bilgisi için PNG veya SVG QR kodu oluşturur
- **Ana endpoint:** `/api/qr`
- **Site detay yolu:** `/api/qr`

**Hızlı cURL çağrısı:**

```bash
curl -g "https://apiservisim.vercel.app/api/qr?data=Merhaba&size=600"
```

**Parametreler:**

- `data` (`string`, opsiyonel): Metin türünde QR içeriği
- `type` (`string`, opsiyonel): text, url, wifi, vcard, efatura veya json
- `format` (`string`, opsiyonel): png veya svg; varsayılan: png
- `size` (`number`, opsiyonel): 100–8000 piksel; varsayılan: 3840
- `border` (`number`, opsiyonel): 0–20 modül kenarlık; varsayılan: 4

**Ek kullanım örnekleri:**

_Wi‑Fi ağı_

```bash
curl "https://apiservisim.vercel.app/api/qr?type=wifi&ssid=EvWifi&password=12345678&security=WPA&size=600" -o wifi.png
```

_E-fatura / sipariş özeti_

```bash
curl "https://apiservisim.vercel.app/api/qr?type=efatura&satici=Ahmet%20Yilmaz&firma=ABC%20Ltd&alici=Ayse%20Kaya&urun=Kulaklik&adet=2&fiyat=1200&parabirimi=TRY&size=600" -o fatura.png
```

**Yanıt biçimi:**

JSON · endpoint’e göre değişen servis yanıtı

**Hata durumları:**

400 Geçersiz veya eksik parametre · 502 Kaynak servis yanıt vermedi

---

### Bayrak API

- **Kategori:** İçerik & araçlar
- **Amaç:** 144 ülkenin bayrak listesini, metadata bilgisini ve farklı görsel formatlarını döndürür
- **Ana endpoint:** `/api/bayraklar`
- **Site detay yolu:** `/api/bayraklar`

**Hızlı cURL çağrısı:**

```bash
curl -g "https://apiservisim.vercel.app/api/bayraklar/turkiye"
```

**Parametreler:**

- `isim` (`string`, zorunlu): Ülke adı veya ISO kodu (örn. turkiye veya tr)

**Ek kullanım örnekleri:**

_Tüm bayraklar_

```bash
curl "https://apiservisim.vercel.app/api/bayraklar"
```

_Türkiye metadata_

```bash
curl "https://apiservisim.vercel.app/api/bayraklar/turkiye"
```

_Türkiye WebP_

```bash
curl "https://apiservisim.vercel.app/b/tr.webp" -o turkiye.webp
```

**Yanıt biçimi:**

JSON · endpoint’e göre değişen servis yanıtı

**Hata durumları:**

400 Geçersiz veya eksik parametre · 502 Kaynak servis yanıt vermedi

---

### IBAN Doğrulama API

- **Kategori:** İçerik & araçlar
- **Amaç:** IBAN formatı, ülke uzunluğu ve mod-97 checksum doğrulaması; TR için banka ve EFT kodu
- **Ana endpoint:** `/api/iban`
- **Site detay yolu:** `/api/iban`

**Hızlı cURL çağrısı:**

```bash
curl -g "https://apiservisim.vercel.app/api/iban?iban=TR280001000100000350930001"
```

**Parametreler:**

- `iban` (`string`, zorunlu): Boşluklu veya boşluksuz IBAN değeri

**Ek kullanım örnekleri:**

_Türkiye IBAN_

```bash
curl "https://apiservisim.vercel.app/api/iban?iban=TR280001000100000350930001"
```

_Boşluklu IBAN_

```bash
curl "https://apiservisim.vercel.app/api/iban?iban=TR28%200001%200001%200000%200350%209300%2001"
```

**Yanıt biçimi:**

JSON · endpoint’e göre değişen servis yanıtı

**Hata durumları:**

400 Geçersiz veya eksik parametre · 502 Kaynak servis yanıt vermedi

---

### Borsa API

- **Kategori:** Finans
- **Amaç:** Borsa verileri
- **Ana endpoint:** `/api/borsa`
- **Site detay yolu:** `/api/borsa`

**Hızlı cURL çağrısı:**

```bash
curl -g "https://apiservisim.vercel.app/api/borsa"
```

**Parametreler:** Site kataloğunda özel sorgu parametresi listelenmiyor.

**Yanıt biçimi:**

JSON · en üstte ticari kullanım uyarısı; made_by alanı özellikle eklenmez

**Hata durumları:**

400 Geçersiz veya eksik parametre · 502 Kaynak servis yanıt vermedi

---

### Döviz API

- **Kategori:** Finans
- **Amaç:** Döviz kurları
- **Ana endpoint:** `/api/doviz`
- **Site detay yolu:** `/api/doviz`

**Hızlı cURL çağrısı:**

```bash
curl -g "https://apiservisim.vercel.app/api/doviz"
```

**Parametreler:** Site kataloğunda özel sorgu parametresi listelenmiyor.

**Yanıt biçimi:**

JSON · endpoint’e göre değişen servis yanıtı

**Hata durumları:**

400 Geçersiz veya eksik parametre · 502 Kaynak servis yanıt vermedi

---

### Eczane API

- **Kategori:** Günlük yaşam
- **Amaç:** Nöbetçi eczaneler
- **Ana endpoint:** `/api/eczane`
- **Site detay yolu:** `/api/eczane`

**Hızlı cURL çağrısı:**

```bash
curl -g "https://apiservisim.vercel.app/api/eczane?il=istanbul&ilce=kadikoy&limit=20"
```

**Parametreler:**

- `il` (`string`, opsiyonel): İl adı (varsayılan: İstanbul)
- `ilce` (`string`, opsiyonel): İlçe adı
- `q` (`string`, opsiyonel): Eczane adı veya adresinde aranacak metin
- `limit` (`number`, opsiyonel): Döndürülecek en fazla kayıt sayısı

**Yanıt biçimi:**

JSON · endpoint’e göre değişen servis yanıtı

**Hata durumları:**

400 Geçersiz veya eksik parametre · 502 Kaynak servis yanıt vermedi

---

### Noterlik ve Nöbetçi Noter API

- **Kategori:** Günlük yaşam
- **Amaç:** Türkiye genelindeki noterlikleri ve nöbetçi noterleri arar; adres, telefon ve enlem-boylam koordinatlarını döndürür
- **Ana endpoint:** `/api/noterlikler`
- **Site detay yolu:** `/api/noterlikler`

**Hızlı cURL çağrısı:**

```bash
curl -g "https://apiservisim.vercel.app/api/noterlikler?il=istanbul&ilce=adalar&limit=10"
```

**Parametreler:**

- `il` (`string`, opsiyonel): İl adı veya slug'ı; örn. istanbul. Noterlik listesinde boşsa tüm iller sorgulanır.
- `ilce` (`string`, opsiyonel): İlçe adına göre tam eşleşmeli filtre; noterlik listesinde kullanılır.
- `q` (`string`, opsiyonel): Noterlik adı, adresi veya telefonu içinde aranacak metin.
- `limit` (`number`, opsiyonel): Noterlik listesinde döndürülecek en fazla kayıt (1–5000).
- `bugun` (`1`, opsiyonel): /api/nobetci için yalnızca bugün nöbetli illeri döndürür.
- `format` (`string`, opsiyonel): json (varsayılan) veya text; noterlik ve nöbetçi listelerinde kullanılabilir.

**Ek kullanım örnekleri:**

_Noter illeri_

```bash
curl "https://apiservisim.vercel.app/api/noter/iller"
```

_İldeki noterlikler ve koordinatlar_

```bash
curl "https://apiservisim.vercel.app/api/noterlikler?il=istanbul&limit=10"
```

_İlçe ve ada göre arama_

```bash
curl "https://apiservisim.vercel.app/api/noterlikler?il=istanbul&ilce=adalar&q=noter&format=json"
```

_İlin nöbetçi noterleri_

```bash
curl "https://apiservisim.vercel.app/api/nobetci?il=karaman"
```

_Bugün nöbetli noterler_

```bash
curl "https://apiservisim.vercel.app/api/nobetci?bugun=1"
```

_Metin çıktısı_

```bash
curl "https://apiservisim.vercel.app/api/noterlikler/istanbul?format=text"
```

**Yanıt biçimi:**

JSON · ok, il, ilce, adet, veri (ad, il, ilce, adres, telefon ve koordinatlar.enlem/boylam); nöbetçi yanıtlarında nobet_tarihi, baslangic_saati, bitis_saati, saat ve bugun_nobetli

**Hata durumları:**

400 geçersiz limit/format · 404 noterlik listesinde il bulunamadı · 502 noterlik verisi alınamadı

**Kullanım notları:**

Noter il listesi /api/noter/iller adresindedir; mevcut /api/iller adres API’si olarak korunur. Nöbetçi rotaları /api/nobetci ve /api/nobetci/{il}; yenileme rotası /api/noter/yenile. Nöbet tarihi YYYY-MM-DD, başlangıç ve bitiş saatleri ayrı alanlardadır. Koordinat bulunmadığında koordinatlar null olur. Noterlik listesi 24 saat, nöbet verisi 30 dakika bellekte tutulur; hata olduğunda eski kayıt kullanılmaz.

---

### Namaz Vakitleri API

- **Kategori:** Günlük yaşam
- **Amaç:** Diyanet kaynağından tüm ülke, şehir ve ilçelerin yıllık namaz vakitleri
- **Ana endpoint:** `/api/namaz`
- **Site detay yolu:** `/api/namaz`

**Hızlı cURL çağrısı:**

```bash
curl -g "https://apiservisim.vercel.app/api/namaz?ulke=TR&sehir=istanbul&ilce=istanbul&yil=2026&gun=3"
```

**Parametreler:**

- `ulke` (`string`, opsiyonel): Ülke adı veya Diyanet ülke ID'si; varsayılan: Türkiye
- `sehir` (`string`, zorunlu): Şehir adı veya Diyanet şehir ID'si
- `ilce` (`string`, opsiyonel): İlçe adı veya Diyanet ilçe ID'si; belirtilmezse şehir merkezi
- `yil` (`number`, opsiyonel): Veri yılı; veritabanında bulunan yıl
- `gun` (`number`, opsiyonel): Döndürülecek gün sayısı (1-366); yillik=1 ile tüm yıl

**Yanıt biçimi:**

JSON · basarili, ulke, sehir, ilce, yil, toplam_gun, data (tarih, imsak, gunes, ogle, ikindi, aksam, yatsi) ve son_guncelleme

**Hata durumları:**

400 geçersiz yıl/tarih/gün veya eksik şehir · 404 ülke/şehir/ilçe/yıl bulunamadı · 503 namaz veritabanı okunamadı

**Kullanım notları:**

Ülke listesi: /api/namaz/ulkeler. Şehirler: /api/namaz/sehirler?ulke=TR. İlçeler: /api/namaz/ilceler?ulke=TR&sehir=İstanbul. Tüm yıl: /api/namaz?ulke=TR&sehir=İstanbul&yil=2026&yillik=1. Veri database/namaz altında otomatik güncellenir.

---

### Deprem API · Kandilli

- **Kategori:** Günlük yaşam
- **Amaç:** Kandilli Rasathanesi’nden güncel deprem kayıtları
- **Ana endpoint:** `/api/deprem/kandilli`
- **Site detay yolu:** `/api/deprem/kandilli`

**Hızlı cURL çağrısı:**

```bash
curl -g "https://apiservisim.vercel.app/api/deprem/kandilli?limit=5"
```

**Parametreler:**

- `limit` (`number`, opsiyonel): Döndürülecek kayıt sayısı (1–100, varsayılan 100)

**Yanıt biçimi:**

JSON · success, kaynak, count, timestamp ve canlı depremler dizisi

**Hata durumları:**

400 geçersiz limit · 502 Kandilli/AFAD kaynağına ulaşılamadı

**Kullanım notları:**

Örnek yanıt, isteği yenilediğinizde canlı Kandilli veya AFAD akışından alınır; kısa önbellek süresi 30 saniyedir.

---

### Deprem API · AFAD

- **Kategori:** Günlük yaşam
- **Amaç:** AFAD’dan güncel deprem kayıtları
- **Ana endpoint:** `/api/deprem/afad`
- **Site detay yolu:** `/api/deprem/afad`

**Hızlı cURL çağrısı:**

```bash
curl -g "https://apiservisim.vercel.app/api/deprem/afad?limit=5"
```

**Parametreler:**

- `limit` (`number`, opsiyonel): Döndürülecek kayıt sayısı (1–100, varsayılan 100)

**Yanıt biçimi:**

JSON · success, kaynak, count, timestamp ve canlı depremler dizisi

**Hata durumları:**

400 geçersiz limit · 502 Kandilli/AFAD kaynağına ulaşılamadı

**Kullanım notları:**

Örnek yanıt, isteği yenilediğinizde canlı Kandilli veya AFAD akışından alınır; kısa önbellek süresi 30 saniyedir.

---

### Kargo API

- **Kategori:** Günlük yaşam
- **Amaç:** Yurtiçi, Aras, Sürat ve Trendyol Express gönderi takibi; DHL şu an servis dışı
- **Ana endpoint:** `/api/kargo/{carrier}/{takip_no}`
- **Site detay yolu:** `/api/kargo/{firma}/{takip_no}`

**Hızlı cURL çağrısı:**

```bash
curl -g "https://apiservisim.vercel.app/api/kargo/yurtici/111781251667"
```

**Parametreler:**

- `firma` (`string`, zorunlu): Firma kodu: yurtici, aras, surat veya trendyol
- `takip_no` (`string`, zorunlu): Gerçek gönderi takip numarası; sahte demo verisi üretilmez

**Ek kullanım örnekleri:**

_Yurtiçi Kargo_

```bash
curl "https://apiservisim.vercel.app/api/kargo/yurtici/111781251667"
```

_Aras Kargo_

```bash
curl "https://apiservisim.vercel.app/api/kargo/aras/6081176851023"
```

_Sürat Kargo_

```bash
curl "https://apiservisim.vercel.app/api/kargo/surat/66127144118010"
```

_Trendyol Express_

```bash
curl "https://apiservisim.vercel.app/api/kargo/trendyol/7270037540374281"
```

**Yanıt biçimi:**

JSON · basarili, firma, kod, Türkçe gonderi alanları, hareketler ve en sonda made_by: førtext

**Hata durumları:**

400 geçersiz firma/takip numarası · 404 gönderi bulunamadı · 502 kargo kaynağına ulaşılamadı

**Kullanım notları:**

Yanıtlar gerçek taşıyıcı sorgusudur; geçersiz numarada sentetik/mock veri dönmez. DHL şu an servis dışıdır. Trendyol Express entegrasyonu korunmuştur.

---

### Araç Şarj İstasyonları API

- **Kategori:** Günlük yaşam
- **Amaç:** Türkiye genelindeki elektrikli araç şarj istasyonlarını, soketleri, güçleri, fiyatları ve canlı durumlarıyla sunar
- **Ana endpoint:** `/api/sarj/{path...}`
- **Site detay yolu:** `/api/sarj/{kod}`

**Hızlı cURL çağrısı:**

```bash
curl -g "https://apiservisim.vercel.app/api/sarj/istasyonlar?adet=3"
```

**Parametreler:**

- `kod` (`string`, opsiyonel): istasyonlar, markalar, fiyatlar veya detay için istasyon kodu
- `adet` (`number`, opsiyonel): Liste yanıtında döndürülecek kayıt sayısı
- `marka` (`string`, opsiyonel): Marka koduyla filtreleme
- `tip` (`string`, opsiyonel): ac, dc veya chademo soket filtresi
- `canli` (`1`, opsiyonel): Canlı API desteği olan markaları getirir
- `enlem / boylam / yaricap` (`number`, opsiyonel): Konuma göre yarıçap (km) içinde en yakın istasyonlar

**Ek kullanım örnekleri:**

_İlk istasyonlar_

```bash
curl "https://apiservisim.vercel.app/api/sarj/istasyonlar?adet=3"
```

_Markalar ve fiyatlar_

```bash
curl "https://apiservisim.vercel.app/api/sarj/markalar"
```

_Detay ve canlı soket durumu_

```bash
curl "https://apiservisim.vercel.app/api/sarj/Arcona%7C49"
```

_Konuma en yakınlar_

```bash
curl "https://apiservisim.vercel.app/api/sarj/istasyonlar?enlem=41.0082&boylam=28.9784&yaricap=10&adet=5"
```

**Yanıt biçimi:**

JSON · endpoint’e göre değişen servis yanıtı

**Hata durumları:**

400 Geçersiz veya eksik parametre · 502 Kaynak servis yanıt vermedi

---

### TikTok Video API

- **Kategori:** Medya
- **Amaç:** TikTok video bilgileri, istatistikleri, etiketleri ve MP4 indirme bağlantısı
- **Ana endpoint:** `/api/tiktok/{url...}`
- **Site detay yolu:** `/api/tiktok/{url}`

**Hızlı cURL çağrısı:**

```bash
curl -g "https://apiservisim.vercel.app/api/tiktok?url=https%3A%2F%2Fwww.tiktok.com%2F%40kullanici%2Fvideo%2FVIDEO_ID"
```

**Parametreler:**

- `url` (`URL`, zorunlu): Herkese açık TikTok video URL'si; kısa vt.tiktok.com/vm.tiktok.com bağlantıları da desteklenir
- `indir` (`0/1`, opsiyonel): 1 ise videoyu MP4 akışı olarak indirir

**Ek kullanım örnekleri:**

_Video bilgileri_

```bash
curl --get --data-urlencode 'url=https://www.tiktok.com/@kullanici/video/VIDEO_ID' 'https://apiservisim.vercel.app/api/tiktok'
```

_MP4 indir_

```bash
curl --get --data-urlencode 'url=https://www.tiktok.com/@kullanici/video/VIDEO_ID' --data-urlencode 'indir=1' 'https://apiservisim.vercel.app/api/tiktok' -o video.mp4
```

**Yanıt biçimi:**

JSON · endpoint’e göre değişen servis yanıtı

**Hata durumları:**

400 Geçersiz veya eksik parametre · 502 Kaynak servis yanıt vermedi

---

### Akaryakıt API

- **Kategori:** Günlük yaşam
- **Amaç:** İl ve ilçe bazında güncel akaryakıt fiyatları
- **Ana endpoint:** `/api/petrol-ofisi/{path...}`
- **Site detay yolu:** `/api/petrol-ofisi/{il}[/{ilce}]`

**Hızlı cURL çağrısı:**

```bash
curl -g "https://apiservisim.vercel.app/api/petrol-ofisi/istanbul"
```

**Parametreler:**

- `il` (`string`, opsiyonel): İl adı veya URL yolu; varsayılan: istanbul
- `ilce` (`string`, opsiyonel): İlçe adı (örn. kadikoy); ilçe yolu verilmezse ilin tüm fiyatları döner

**Yanıt biçimi:**

JSON · success, kaynak, il, fiyatlar/ilceler ve made_by: førtext

**Hata durumları:**

400 geçersiz yol · 404 il veya ilçe bulunamadı · 502 Petrol Ofisi kaynağına ulaşılamadı

**Kullanım notları:**

İstanbul örneği: /api/petrol-ofisi/istanbul; ilçe örneği: /api/petrol-ofisi/istanbul/kadikoy. Fiyatlar KDV dâhil, TL/LT veya TL/KG birimindedir.

---

### Adres API

- **Kategori:** Günlük yaşam
- **Amaç:** İlçe listesi, mahalle, sokak ve posta kodu verileri
- **Ana endpoint:** `/api/mahalleler`
- **Site detay yolu:** `/api/adres`

**Hızlı cURL çağrısı:**

```bash
curl -g "https://apiservisim.vercel.app/api/ilceler"
```

**Parametreler:**

- `il` (`number`, opsiyonel): İl kodu (örnek: 34); /api/ilceler için boş bırakılırsa tüm ilçeler döner
- `ilce` (`number`, opsiyonel): Mahalle, sokak ve posta kodu sorgularında ilçe kodu (örnek: 1421)

**Yanıt biçimi:**

JSON dizisi · il_kodu, il_adi, ilçe kodu (kod) ve ad; page/limit ile sayfalama

**Hata durumları:**

400 geçersiz adres parametresi · 404 kayıt bulunamadı · 502 kaynak servisten veri alınamadı

**Kullanım notları:**

Tüm mahalleler: /api/mahalleler; seçili il: /api/mahalleler?il=34; seçili ilçe: /api/mahalleler?il=34&ilce=1421. Tüm ilçeler: /api/ilceler; seçili il: /api/ilceler?il=34. Ayrıca /api/iller, /api/sokaklar ve /api/postakodu rotaları kullanılabilir.

---

### Planlı Çalışma API

- **Kategori:** Günlük yaşam
- **Amaç:** Türk Telekom planlı çalışma duyuruları
- **Ana endpoint:** `/api/planli-calisma`
- **Site detay yolu:** `/api/planli-calisma`

**Hızlı cURL çağrısı:**

```bash
curl -g "https://apiservisim.vercel.app/api/planli-calisma?il=istanbul&ilce=kadikoy"
```

**Parametreler:**

- `il` (`string`, opsiyonel): İl adı (varsayılan: ISTANBUL)
- `ilce` (`string`, opsiyonel): İlçe adı
- `sayfa` (`number`, opsiyonel): Sayfa numarası
- `limit` (`number`, opsiyonel): Sayfa başına kayıt (1-100)

**Yanıt biçimi:**

JSON · endpoint’e göre değişen servis yanıtı

**Hata durumları:**

400 Geçersiz veya eksik parametre · 502 Kaynak servis yanıt vermedi

---

### Resmî Tatiller API

- **Kategori:** Günlük yaşam
- **Amaç:** 204 ülke için resmî tatil takvimi
- **Ana endpoint:** `/api/resmitatiller`
- **Site detay yolu:** `/api/resmitatiller`

**Hızlı cURL çağrısı:**

```bash
curl -g "https://apiservisim.vercel.app/api/resmitatiller?ulke=TR"
```

**Parametreler:**

- `ulke` (`string`, opsiyonel): ISO 3166-1 alpha-2 kodu; varsayılan: TR. Ülkeler: /api/resmitatiller/ulkeler
- `yil` (`number`, opsiyonel): Takvim yılı (1900–2100; varsayılan: Türkiye'de içinde bulunulan yıl)

**Yanıt biçimi:**

JSON · basarili, ulke, ulke_kodu, yil, sayi, tatiller (tarih, ad, ad_ingilizce, turler, tahmini) ve made_by

**Hata durumları:**

400 geçersiz ülke/yıl/limit · 404 uç nokta veya yıl bulunamadı · 502 tatil verisi alınamadı

**Kullanım notları:**

Tüm desteklenen ülkeler: /api/resmitatiller/ulkeler. Yıla göre: /api/resmitatiller?ulke=TR&yil=2026. Yaklaşan: /api/resmitatiller/yaklasan?ulke=US. Bugün: /api/resmitatiller/bugun?ulke=GB. ad alanı yerel tatil adını, ad_ingilizce İngilizce karşılığını verir.

---

### Endeks API

- **Kategori:** Finans
- **Amaç:** Endeks verileri
- **Ana endpoint:** `/api/endeks`
- **Site detay yolu:** `/api/endeks`

**Hızlı cURL çağrısı:**

```bash
curl -g "https://apiservisim.vercel.app/api/endeks"
```

**Parametreler:** Site kataloğunda özel sorgu parametresi listelenmiyor.

**Yanıt biçimi:**

JSON · endpoint’e göre değişen servis yanıtı

**Hata durumları:**

400 Geçersiz veya eksik parametre · 502 Kaynak servis yanıt vermedi

---

### Film API

- **Kategori:** İçerik & araçlar
- **Amaç:** Film bilgileri
- **Ana endpoint:** `/api/film`
- **Site detay yolu:** `/api/film`

**Hızlı cURL çağrısı:**

```bash
curl -g "https://apiservisim.vercel.app/api/film?q=inception"
```

**Parametreler:**

- `q` (`string`, zorunlu): Film adı

**Yanıt biçimi:**

JSON · endpoint’e göre değişen servis yanıtı

**Hata durumları:**

400 Geçersiz veya eksik parametre · 502 Kaynak servis yanıt vermedi

---

### Hava Durumu API

- **Kategori:** Günlük yaşam
- **Amaç:** Hava durumu bilgileri
- **Ana endpoint:** `/api/hava/{sehir}`
- **Site detay yolu:** `/api/hava`

**Hızlı cURL çağrısı:**

```bash
curl -g "https://apiservisim.vercel.app/api/hava/istanbul?days=3"
```

**Parametreler:**

- `sehir` (`string`, zorunlu): Şehir adı (URL path)
- `days` (`number`, opsiyonel): Tahmin gün sayısı (1-3, varsayılan: 1)
- `ilce` (`string`, opsiyonel): İlçe adı

**Yanıt biçimi:**

JSON · endpoint’e göre değişen servis yanıtı

**Hata durumları:**

400 Geçersiz veya eksik parametre · 502 Kaynak servis yanıt vermedi

---

### IP Bilgi API

- **Kategori:** İçerik & araçlar
- **Amaç:** IP adresinden konum, ağ, kurum ve güvenlik bilgileri
- **Ana endpoint:** `/api/ip`
- **Site detay yolu:** `/api/ip`

**Hızlı cURL çağrısı:**

```bash
curl -g "https://apiservisim.vercel.app/api/ip?ip=8.8.8.8"
```

**Parametreler:**

- `ip` (`string`, zorunlu): IP adresi

**Yanıt biçimi:**

JSON · endpoint’e göre değişen servis yanıtı

**Hata durumları:**

400 Geçersiz veya eksik parametre · 502 Kaynak servis yanıt vermedi

---

### Domain Bilgi API

- **Kategori:** İçerik & araçlar
- **Amaç:** google.com ve google.com.tr gibi domainlerin temiz WHOIS bilgileri
- **Ana endpoint:** `/api/domain/{domain}`
- **Site detay yolu:** `/api/domain/{domain}`

**Hızlı cURL çağrısı:**

```bash
curl -g "https://apiservisim.vercel.app/api/domain/google.com"
```

**Parametreler:**

- `domain` (`string`, zorunlu): Alan adı (örn. google.com veya google.com.tr)

**Ek kullanım örnekleri:**

_Google_

```bash
curl "https://apiservisim.vercel.app/api/domain/google.com"
```

_Google Türkiye_

```bash
curl "https://apiservisim.vercel.app/api/domain/google.com.tr"
```

_DNS kayıtları_

```bash
curl "https://apiservisim.vercel.app/api/domain/google.com?tip=dns"
```

_WHOIS + DNS_

```bash
curl "https://apiservisim.vercel.app/api/domain/google.com.tr?tip=all"
```

**Yanıt biçimi:**

JSON · endpoint’e göre değişen servis yanıtı

**Hata durumları:**

400 Geçersiz veya eksik parametre · 502 Kaynak servis yanıt vermedi

---

### DKIM Doğrulayıcı API

- **Kategori:** Güvenlik & araçlar
- **Amaç:** Google, Microsoft 365, SendGrid, Mailgun, Amazon SES ve özel posta servisleri için tekil veya çoklu DKIM selector taraması
- **Ana endpoint:** `/api/dkim`
- **Site detay yolu:** `/api/dkim`

**Hızlı cURL çağrısı:**

```bash
curl -g "https://apiservisim.vercel.app/api/dkim?domain=fortext.com.tr&mod=servisler"
```

**Parametreler:**

- `domain` (`string`, zorunlu): DKIM kaydı aranacak alan adı; örnek: fortext.com.tr
- `selector` (`string`, opsiyonel): Tek selector; örnek: selector1 veya s1. Verilmezse çoklu servis taraması yapılır.
- `selectors` (`string`, opsiyonel): Virgülle özel selector listesi; örnek: s1,s2,mail,selector1
- `servis` (`string`, opsiyonel): google, microsoft, sendgrid, mailgun, amazon, brevo, zoho veya hepsi
- `mod` (`string`, opsiyonel): servisler kullanıldığında yaygın posta servis selector’larını tarar

**Ek kullanım örnekleri:**

_Tüm yaygın servisler_

```bash
curl "https://apiservisim.vercel.app/api/dkim?domain=fortext.com.tr&mod=servisler"
```

_Özel selector listesi_

```bash
curl "https://apiservisim.vercel.app/api/dkim?domain=fortext.com.tr&selectors=s1,s2,mail,selector1"
```

_Yalnızca Microsoft 365_

```bash
curl "https://apiservisim.vercel.app/api/dkim?domain=fortext.com.tr&servis=microsoft"
```

_Tek selector_

```bash
curl "https://apiservisim.vercel.app/api/dkim?domain=sendgrid.net&selector=s1"
```

**Yanıt biçimi:**

JSON · endpoint’e göre değişen servis yanıtı

**Hata durumları:**

400 Geçersiz veya eksik parametre · 502 Kaynak servis yanıt vermedi

---

### E-posta Doğrulama API

- **Kategori:** Güvenlik & araçlar
- **Amaç:** E-posta biçimini, alan adının MX posta sunucusunu ve geçici e-posta riskini kontrol eder
- **Ana endpoint:** `/api/eposta`
- **Site detay yolu:** `/api/eposta`

**Hızlı cURL çağrısı:**

```bash
curl -g "https://apiservisim.vercel.app/api/eposta?eposta=test@gmail.com"
```

**Parametreler:**

- `eposta` (`string`, zorunlu): Kontrol edilecek e-posta adresi; email parametresi de kullanılabilir

**Ek kullanım örnekleri:**

_E-posta kontrolü_

```bash
curl "https://apiservisim.vercel.app/api/eposta?eposta=test@gmail.com"
```

_Geçersiz biçim_

```bash
curl "https://apiservisim.vercel.app/api/eposta?eposta=yanlis-adres"
```

**Yanıt biçimi:**

JSON · endpoint’e göre değişen servis yanıtı

**Hata durumları:**

400 Geçersiz veya eksik parametre · 502 Kaynak servis yanıt vermedi

---

### T.C. Kimlik No Kontrol API

- **Kategori:** Güvenlik & araçlar
- **Amaç:** T.C. kimlik numarası kontrol basamaklarını, ad/soyad ve doğum bilgisi biçimini yerel olarak denetler
- **Ana endpoint:** `/api/tckimlik`
- **Site detay yolu:** `/api/tckimlik`

**Hızlı cURL çağrısı:**

```bash
curl -g "https://apiservisim.vercel.app/api/tckimlik?tc=00000000000&ad=Test&soyad=Demo&dogum_yili=1990"
```

**Parametreler:**

- `tc` (`11 rakam`, zorunlu): T.C. kimlik numarası; gerçek kişisel veri için GET yerine POST kullanın
- `ad` (`string`, zorunlu): Ad (yerel harf/biçim kontrolü)
- `soyad` (`string`, zorunlu): Soyad (yerel harf/biçim kontrolü)
- `dogum_yili` (`YYYY`, opsiyonel): Doğum yılı; dogum_tarihi ile birlikte kullanılmaz
- `dogum_tarihi` (`date`, opsiyonel): YYYY-AA-GG, GG.AA.YYYY veya GG/AA/YYYY; dogum_yili yerine

**Ek kullanım örnekleri:**

_JSON POST (yalnızca sahte test girdisi)_

```bash
curl -X POST "https://apiservisim.vercel.app/api/tckimlik" -H "Content-Type: application/json" -d '{"tc":"00000000000","ad":"Test","soyad":"Demo","dogum_yili":1990}'
```

**Yanıt biçimi:**

JSON · basarili, dogrulandi, nedenler, uyarilar

**Hata durumları:**

400 geçersiz JSON/XML · 413 istek gövdesi çok büyük · 415 desteklenmeyen içerik türü

**Kullanım notları:**

Kontrol gönderilen veriler üzerinde yerel olarak yapılır ve harici servise bağlanmaz. Gerçek kişisel verileri GET URL'sinde göndermeyin; POST JSON tercih edin. Uygulama veritabanına kaydedilmez. SOAP uyumluluk yolu /Service/KPSPublic.asmx.

---

### Kripto API

- **Kategori:** Finans
- **Amaç:** Kripto para fiyatları
- **Ana endpoint:** `/api/kripto`
- **Site detay yolu:** `/api/kripto`

**Hızlı cURL çağrısı:**

```bash
curl -g "https://apiservisim.vercel.app/api/kripto"
```

**Parametreler:** Site kataloğunda özel sorgu parametresi listelenmiyor.

**Yanıt biçimi:**

JSON · endpoint’e göre değişen servis yanıtı

**Hata durumları:**

400 Geçersiz veya eksik parametre · 502 Kaynak servis yanıt vermedi

---

### KDV API

- **Kategori:** Finans
- **Amaç:** Ülkelere göre KDV oranları ve hesaplama
- **Ana endpoint:** `/api/kdv`
- **Site detay yolu:** `/api/kdv`

**Hızlı cURL çağrısı:**

```bash
curl -g "https://apiservisim.vercel.app/api/kdv/tr/hesapla?tutar=1000"
```

**Parametreler:**

- `ulke` (`string`, zorunlu): Ülke kodu veya adı (örn. tr, türkiye)
- `tutar` (`number`, opsiyonel): Hesaplama tutarı
- `oran` (`number`, opsiyonel): Manuel KDV oranı
- `tip` (`string`, opsiyonel): standart veya indirimli
- `dahil` (`boolean`, opsiyonel): Tutar KDV dahilse 1 veya true

**Yanıt biçimi:**

JSON · basarili, toplam ve ülke bazında KDV oranları

**Hata durumları:**

400 Geçersiz veya eksik parametre · 502 Kaynak servis yanıt vermedi

---

### Plaka Tanıma API

- **Kategori:** İçerik & araçlar
- **Amaç:** Araç fotoğrafından Türkiye plakalarını tanır
- **Ana endpoint:** `/api/plaka`
- **Site detay yolu:** `/api/plaka`

**Hızlı cURL çağrısı:**

```bash
curl -g "https://apiservisim.vercel.app/api/plaka?photo=https%3A%2F%2Fimages.pexels.com%2Fphotos%2F29325140%2Fpexels-photo-29325140.jpeg%3Fauto%3Dcompress%26cs%3Dtinysrgb%26w%3D1280"
```

**Parametreler:**

- `photo` (`URL`, zorunlu): Araç fotoğrafına herkese açık HTTPS görsel URL'si

**Yanıt biçimi:**

JSON · success ve tanınan plaka listesi (result[].plaka)

**Hata durumları:**

400 photo eksik/geçersiz · 413 görsel 10 MB üstü · 415 görsel değil · 429 Gemini kotası · 503 anahtar ayarlı değil

**Kullanım notları:**

Demo, izleme parametreleri çıkarılmış herkese açık Pexels görselini kullanır. En fazla 10 MB. API anahtarı sunucuda tutulur.

---

### SEO API

- **Kategori:** İçerik & araçlar
- **Amaç:** SEO analiz ve raporlama
- **Ana endpoint:** `/api/seo`
- **Site detay yolu:** `/api/seo`

**Hızlı cURL çağrısı:**

```bash
curl -g "https://apiservisim.vercel.app/api/seo?url=google.com"
```

**Parametreler:**

- `url` (`string`, zorunlu): Analiz edilecek web sitesi

**Yanıt biçimi:**

JSON · endpoint’e göre değişen servis yanıtı

**Hata durumları:**

400 Geçersiz veya eksik parametre · 502 Kaynak servis yanıt vermedi

---

### Güneş Konumu API

- **Kategori:** Günlük yaşam
- **Amaç:** Güneş doğuşu, batışı, alacakaranlık, altın saat, ay ve güneş konumu verileri
- **Ana endpoint:** `/api/gunes`
- **Site detay yolu:** `/api/gunes`

**Hızlı cURL çağrısı:**

```bash
curl -g "https://apiservisim.vercel.app/api/gunes?lat=41.0082&lng=28.9784&date=2026-10-01"
```

**Parametreler:**

- `lat / enlem` (`number`, opsiyonel): Enlem (-90 ile 90); boylamla birlikte verilirse manuel konum kullanılır
- `lng / boylam` (`number`, opsiyonel): Boylam (-180 ile 180); enlemle birlikte verilirse manuel konum kullanılır
- `date` (`YYYY-AA-GG`, opsiyonel): Tarih; verilmezse bugünün tarihi kullanılır

**Ek kullanım örnekleri:**

_İstanbul / manuel koordinat_

```bash
curl "https://apiservisim.vercel.app/api/gunes?lat=41.0082&lng=28.9784&date=2026-10-01"
```

_IP ile otomatik konum_

```bash
curl "https://apiservisim.vercel.app/api/gunes"
```

**Yanıt biçimi:**

JSON · basarili, konum, veri (Türkçe güneş/ay alanları) ve en sonda made_by: førtext

**Hata durumları:**

400 geçersiz enlem/boylam veya tarih · 502 konum ya da güneş kaynağına ulaşılamadı

**Kullanım notları:**

Enlem ve boylam vermezseniz servis isteğin geldiği IP için yaklaşık konumu otomatik bulur. IP konumu VPN/proxy nedeniyle yaklaşık olabilir.

---

### Haberler API

- **Kategori:** İçerik & araçlar
- **Amaç:** Güncel genel haberleri ve kategoriye göre haber listelerini döndürür
- **Ana endpoint:** `/api/haberler`
- **Site detay yolu:** `/api/haberler`

**Hızlı cURL çağrısı:**

```bash
curl -g "https://apiservisim.vercel.app/api/haberler"
```

**Parametreler:**

- `q` (`string`, opsiyonel): Haber başlığı ve açıklamasında aranacak kelime
- `adet` (`number`, opsiyonel): Haber sayısı (1–100; varsayılan 20)
- `sayfa` (`number`, opsiyonel): Sonuç sayfası (varsayılan 1)
- `gun` (`string`, opsiyonel): today, yesterday, 24h, 48h, 7d veya 30d

**Ek kullanım örnekleri:**

_Genel haberler_

```bash
curl "https://apiservisim.vercel.app/api/haberler"
```

_Kategori listesi_

```bash
curl "https://apiservisim.vercel.app/api/haberler/kategori"
```

_Spor haberleri_

```bash
curl "https://apiservisim.vercel.app/api/haberler/spor"
```

**Yanıt biçimi:**

JSON · basarili, sonuc (url, baslik, aciklama, gorsel, kaynak, kategori, tarih)

**Hata durumları:**

400 geçersiz parametre · 502 haber kaynağına ulaşılamadı

**Kullanım notları:**

Genel liste /api/haberler, kategori listesi /api/haberler/kategori, örneğin spor haberleri /api/haberler/spor adresindedir.

---

### Saat API

- **Kategori:** Günlük yaşam
- **Amaç:** Şehir, ülke veya IANA zaman dilimine göre yerel tarih ve saat
- **Ana endpoint:** `/api/saat`
- **Site detay yolu:** `/api/saat`

**Hızlı cURL çağrısı:**

```bash
curl -g "https://apiservisim.vercel.app/api/saat?sehir=istanbul"
```

**Parametreler:**

- `sehir` (`string`, opsiyonel): Şehir/ülke adı ya da IANA zaman dilimi (örn. İstanbul, Japonya, Europe/Paris; varsayılan: istanbul)

**Yanıt biçimi:**

JSON · hata, girisDegeri, zamanDilimi, tarihOkunabilir, tarih, saat, gun, yazSaati ve tamTarihSaat

**Hata durumları:**

400 şehir veya zaman dilimi bulunamadı · 502 saat kaynağına ulaşılamadı

**Kullanım notları:**

Şehir/ülke sorgusu: /api/saat?sehir=istanbul veya /api/saat/Londra. IANA zaman dilimi: /api/saat/Europe/Paris. Desteklenen ülke adları: /api/saat/ulkeler.

---

## 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.

```text
/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.

```python
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.

```python
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

```python
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

```python
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

```bash
python -m unittest discover -s tests -v
```
