# Raporlar

`GET https://ulawk.com/api/v1/raporlar/`

Rapor Al raporlarınız (sayfalı). Liste hız için rapor içeriğini taşımaz; bulgular şirket profilinin `raporlar` alanında gelir.

## Kimlik doğrulama

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

## Sorgu parametreleri

- `sayfa` (integer) — Sayfa numarası (1'den).
- `adet` (integer) — Sayfa başına kayıt (varsayılan 50, en çok 200).

## Yanıt

### 200 — Raporlar.

- `adet` (integer, zorunlu)
- `sayfa` (integer, zorunlu)
- `sayfa_adedi` (integer, zorunlu)
- `sonraki_sayfa` (integer, null, zorunlu)
- `raporlar[]` (RaporSatiri[], zorunlu)
- `raporlar[].rapor_id` (integer, zorunlu)
- `raporlar[].durum` (string, zorunlu) Değerler: hazir, hata, hazirlaniyor.
- `raporlar[].talep` (string (date-time), null, zorunlu)
- `raporlar[].tamamlanma` (string (date-time), null, zorunlu)
- `raporlar[].dosyalar` (object, zorunlu)
- `raporlar[].sirket` (object, null, zorunlu)
- `raporlar[].sirket.id` (integer, zorunlu)
- `raporlar[].sirket.unvan` (string, null, zorunlu)
- `raporlar[].sirket.sicil_no` (string, null, zorunlu)
- `raporlar[].profil` (string (uri), null, zorunlu)

```json
{
  "adet": 1,
  "sayfa": 1,
  "sayfa_adedi": 50,
  "sonraki_sayfa": null,
  "raporlar": [
    {
      "rapor_id": 1,
      "durum": "hazir",
      "talep": "2026-10-15T00:00:00+03:00",
      "tamamlanma": "2026-10-15T00:00:00+03:00",
      "dosyalar": {
        "rapor": "https://ulawk.com/api/v1/raporlar/1/rapor/",
        "rapor-word": "https://ulawk.com/api/v1/raporlar/1/rapor-word/"
      },
      "sirket": {
        "id": 1234,
        "unvan": "ÖRNEK DENEME SANAYİ VE TİCARET ANONİM ŞİRKETİ",
        "sicil_no": "100001"
      },
      "profil": "https://ulawk.com/api/v1/sirketler/1234/"
    }
  ]
}
```

### 400 — Geçersiz parametre (`gecersiz_parametre`, `gecersiz_kategori`, `gecersiz_tarih`…) ya da bu uç deneme anahtarıyla kullanılamaz (`deneme_desteklenmiyor`).


```json
{
  "hata": "gecersiz_parametre",
  "detay": "Sayfa ve adet tam sayı olmalı.",
  "hata_ayrinti": {
    "kod": "gecersiz_parametre",
    "mesaj": "Sayfa ve adet tam sayı olmalı.",
    "taraf": "istemci",
    "kaynak": null,
    "tekrar_denenebilir": false,
    "tekrar_sn": null
  }
}
```

### 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
  }
}
```

### 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
  }
}
```

### 500 — Beklenmeyen hata (`ic_hata`, taraf ulawk); kısa süre sonra yeniden deneyin.

Retry-After: `60`

```json
{
  "hata": "ic_hata",
  "detay": "Beklenmeyen bir hata oluştu; kısa süre sonra yeniden deneyin.",
  "hata_ayrinti": {
    "kod": "ic_hata",
    "mesaj": "Beklenmeyen bir hata oluştu; kısa süre sonra yeniden deneyin.",
    "taraf": "ulawk",
    "kaynak": null,
    "tekrar_denenebilir": true,
    "tekrar_sn": 60
  }
}
```

## İstek

```bash
curl "https://ulawk.com/api/v1/raporlar/" \
  -H "X-API-Key: ulk_DENEME_ANAHTARINIZ" \
  -H "X-API-Secret: ulsk_DENEME_GIZLI_ANAHTARINIZ"
```
