# Yaptırım taraması

`POST https://ulawk.com/api/v1/yaptirim/tara/`

En çok 500 adı yaptırım listelerinde tarar. Eşleşme yalnız birebir addır: adın tüm parçaları aynı olmalı (sıra, aksan ve büyük/küçük harf farkı hariç). Sonuç olası isabettir; kimlik liste kaydıyla doğrulanmalıdır. Deneme anahtarıyla kullanılamaz (401). `benzer_yazim` geriye uyum için kabul edilir, eşleşmeyi genişletmez.

## Kimlik doğrulama

Her istekte iki başlık: `X-API-Key` ve `X-API-Secret`.

## İstek gövdesi

- `adlar[]` (string | object[], zorunlu) — Ad ya da {ad, tur} (en çok 500).
- `benzer_yazim` (boolean) — Geriye uyum; etkisi yok.

```json
{
  "adlar": [
    "Ayşe Örnek",
    {
      "ad": "Örnek Deneme A.Ş.",
      "tur": "kurum"
    }
  ]
}
```

## Yanıt

### 200 — Tarama sonucu.

- `taranan` (integer, zorunlu)
- `liste_tarihi` (string (date), null, zorunlu)
- `listeler[]` (object[], zorunlu)
- `listeler[].kod` (string, zorunlu)
- `listeler[].ad` (string, zorunlu)
- `listeler[].kayit` (integer, zorunlu)
- `listeler[].guncelleme` (string (date-time), null, zorunlu)
- `listeler[].kaynak_tarihi` (string (date), null, zorunlu)
- `listeler[].indirme` (string (date-time), null, zorunlu)
- `listeler[].bayat` (boolean, zorunlu)
- `listeler[].url` (string, zorunlu)
- `listeler[].hata` (string, null, zorunlu)
- `tarama_no` (integer, null, zorunlu)
- `isabetler[]` (YaptirimIsabeti[], zorunlu)
- `isabetler[].ad` (string, zorunlu) — Listedeki ad.
- `isabetler[].guven` (string, zorunlu) — Eşleşme yalnız birebir addır (sıra, aksan ve büyük/küçük harf farkı hariç): tam. Değerler: tam, kismi, benzer.
- `isabetler[].puan` (number | integer, null, zorunlu)
- `isabetler[].oncelik` (integer | string, null, zorunlu)
- `isabetler[].liste` (string, zorunlu) — Liste kodu (BM, AB, MASAK…).
- `isabetler[].liste_ad` (string, null, zorunlu)
- `isabetler[].liste_kaydi` (string, null, zorunlu)
- `isabetler[].program` (string, null, zorunlu)
- `isabetler[].ayrinti` (string, null, zorunlu)
- `isabetler[].dis_id` (string, null, zorunlu)
- `not` (string, zorunlu)

```json
{
  "taranan": 1,
  "liste_tarihi": "2026-10-15",
  "listeler": [
    {
      "kod": "BM",
      "ad": "BM Güvenlik Konseyi",
      "kayit": 1000,
      "guncelleme": "2026-10-15T00:00:00+03:00",
      "kaynak_tarihi": "2026-10-14",
      "indirme": "2026-10-15T00:00:00+03:00",
      "bayat": false,
      "url": "",
      "hata": ""
    }
  ],
  "tarama_no": 42,
  "isabetler": [],
  "not": "Olası isabettir; kimlik (doğum tarihi, uyruk) liste kaydıyla doğrulanmalıdır."
}
```

### 400 — `gecersiz_json`.

- `hata` (string, zorunlu)
- `detay` (string)

```json
{
  "hata": "gecersiz_json"
}
```

### 401 — Anahtar yok ya da geçersiz (`yetkisiz`).


```json
{
  "hata": "yetkisiz",
  "detay": "Geçerli X-API-Key başlığı gerekli (panel › API).",
  "hata_ayrinti": {
    "kod": "yetkisiz",
    "mesaj": "Geçerli X-API-Key başlığı gerekli (panel › API).",
    "taraf": "istemci",
    "kaynak": null,
    "tekrar_denenebilir": false,
    "tekrar_sn": null
  }
}
```

### 405 — POST bekleniyor.

- `hata` (string, zorunlu)
- `detay` (string)

```json
{
  "hata": "yontem",
  "detay": "POST bekleniyor."
}
```

### 429 — Saatlik istek sınırı aşıldı (`hiz_siniri`); Retry-After başlığı sıfırlanmaya kalan saniyeyi verir.

Retry-After: `2311`

```json
{
  "hata": "hiz_siniri",
  "detay": "Saatlik istek sınırı aşıldı (600). Bir sonraki saatte tekrar deneyin.",
  "hata_ayrinti": {
    "kod": "hiz_siniri",
    "mesaj": "Saatlik istek sınırı aşıldı (600). Bir sonraki saatte tekrar deneyin.",
    "taraf": "istemci",
    "kaynak": null,
    "tekrar_denenebilir": true,
    "tekrar_sn": 2311
  }
}
```

## İstek

```bash
curl -X POST "https://ulawk.com/api/v1/yaptirim/tara/" \
  -H "X-API-Key: ulk_DENEME_ANAHTARINIZ" \
  -H "X-API-Secret: ulsk_DENEME_GIZLI_ANAHTARINIZ" \
  -H "Content-Type: application/json" \
  -d '{"adlar": ["Ayşe Örnek"]}'
```
