# Görev bitişleri

`GET https://ulawk.com/api/v1/gorev-bitisleri/`

Tüm şirketlerinizde görev süresi `gun` içinde dolacak ya da yenilenmeden dolmuş yetkililer (kalan gün sırasıyla). Hatırlatma ve takvim entegrasyonu için.

## Kimlik doğrulama

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

## Sorgu parametreleri

- `gun` (integer) — Ufuk (gün).

## Yanıt

### 200 — Görev bitişleri.

- `ufuk_gun` (integer, zorunlu)
- `adet` (integer, zorunlu)
- `gorevler[]` (GorevBitisi[], zorunlu)
- `gorevler[].grup_id` (integer | string, zorunlu) — Şirket kimliği: gerçek anahtarda sayısal (ör. 1234); deneme anahtarında DENEME-… metni.
- `gorevler[].unvan` (string, null, zorunlu)
- `gorevler[].isim` (string, null, zorunlu)
- `gorevler[].sifat` (string, zorunlu)
- `gorevler[].temsil` (string, zorunlu)
- `gorevler[].gorev_bitis` (string (date), null, zorunlu)
- `gorevler[].kalan` (integer, zorunlu) — Kalan gün; dolmuşsa eksi.
- `gorevler[].gorev_suresi` (string, zorunlu)
- `gorevler[].dayanak` (string, zorunlu)
- `gorevler[].durum` (string, zorunlu) Değerler: yaklasiyor, doldu.

```json
{
  "ufuk_gun": 180,
  "adet": 2,
  "gorevler": [
    {
      "grup_id": "DENEME-100003",
      "unvan": "ÖRNEK DENEME LOJİSTİK ANONİM ŞİRKETİ",
      "isim": "Ayşe Örnek",
      "sifat": "Yönetim Kurulu Başkanı",
      "temsil": "Münferit",
      "gorev_bitis": "2026-09-27",
      "kalan": -20,
      "gorev_suresi": "3 yıl",
      "dayanak": "ilan",
      "durum": "doldu"
    },
    {
      "grup_id": "DENEME-100001",
      "unvan": "ÖRNEK DENEME SANAYİ VE TİCARET ANONİM ŞİRKETİ",
      "isim": "Ayşe Örnek",
      "sifat": "Yönetim Kurulu Başkanı",
      "temsil": "Münferit",
      "gorev_bitis": "2026-12-01",
      "kalan": 45,
      "gorev_suresi": "3 yıl",
      "dayanak": "TTK m.362",
      "durum": "yaklasiyor"
    }
  ]
}
```

### 400 — `gecersiz_gun`.


```json
{
  "hata": "gecersiz_gun",
  "detay": "gun tam sayı olmalı",
  "hata_ayrinti": {
    "kod": "gecersiz_gun",
    "mesaj": "gun 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/gorev-bitisleri/?gun=180" \
  -H "X-API-Key: ulk_DENEME_ANAHTARINIZ" \
  -H "X-API-Secret: ulsk_DENEME_GIZLI_ANAHTARINIZ"
```
