> ## Documentation Index
> Fetch the complete documentation index at: https://api-docs.tarla.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Kullanıcı Seçenekleri

> Bu sayfa, API istekleri yapmak için gerekli dil seçimi, kullanıcı kaydı, hesap aktivasyonu ve hesap abonelik işlemleri gibi ayrıntılar hakkında önemli bilgiler sağlar.

# 1. API Dili Seçimi

Yapılan isteklerde `Accept-Language` başlığı kullanılarak API mesajlarını farklı dildeki tercümeleri ile kullanabilirsiniz. Bu durum Giriş gerektirmeyen API uç noktaları için geçerlidir. Desteklenen dil seçilmleri aşağıdaki örnekte verilmiştir.

```
Accept-Language: tr
Accept-Language: en
```

## <Icon icon="lock-open" iconType="regular" size={24} /> Giriş gerektirmeyen API uç noktaları

* Yetkilendirme Servisi
  * Yeni Kullanıcı Kaydı - `/v1/auth/register`
  * Giriş İşlemi - `/v1/auth/login`
  * Erişim Belirteci Yenileme - `/v1/auth/refresh`
* Kullanıcı Servisi
  * Şifre Sıfırlama İsteği `/v1/users/password-reset-request`

## <Icon icon="flag" iconType="regular" size={24} /> Kullanıcı Dil Seçimi

Bir kullanıcı, giriş yaptıktan sonra istekte bulunduğu API uç noktalarına gönderilen **Erişim Belirteci** sayesinde sistem kullanıcının yerel ayarlar ve dil seçimini tanır ve buna göre API cevaplarını tercüme eder. Bunun yanında `/v1/users/update` API uç noktasında hizmet veren ***Kullanıcı Güncelleme İşlemi*** ile kullanıcı kendi (ADMIN ise herhangi bir kullanıcının) dil, yerel ve zaman dilimi ayarlarını da değiştirebilir.

# 2. Kullanıcı Kaydı ve Hesap Aktivasyonu

<Steps>
  <Step title="Yeni Kullanıcı Kaydı">
    * **Yeni Kullanıcı Kaydı** - `/v1/auth/register` API uç noktası üzerinden aşağıdaki bilgiler girilerek yeni bir kullanıcı kaydı oluşturulur:
      1. Kullanıcı adı (e-posta adresi)
      2. Şifre
      3. Adı
      4. Varsa Göbek Adı
      5. Soyadı
      6. Dil ve Yerel Ayarlar Tercihi
      7. Zaman Dilimi Tercihi
    * Kayıt sırasında, eğer aynı kullanıcı adına (e-posta) sahip bir kullanıcı varsa `400 - Hatalı İstek` kodu ile `Kullanıcı Mevcut` hata mesajı döner.
    * Kayıt başarılı oldu ise kullanıcı durumu `INACTIVE` olarak kayıt oluşturulmuş olur.
  </Step>

  <Step title="Hesap Aktivasyon İsteği">
    * **Hesap Aktivasyon İsteği** - `/v1/accounts/account-activation-request` API uç noktası üzerinden aşağıdaki bilgiler girilerek yeni bir hesap kaydı oluşturulur:
      1. Kullanıcı ID
      2. Hesap Tipi
      3. Mobil Telefon Numarası
      4. Konum Adresi
      5. Firma
      6. Endüstri
      7. Hesap Aktivasyon Sayfası Linki
    * Yeni bir hesap için etkinleştirme isteğini yerine getirir. Bu uç nokta, aktivasyon talebini işler, gerekli doğrulamaları yapar (kullanıcı için zaten bir hesap olup olmadığını kontrol etmek gibi) ve geçerliyse yeni bir hesap oluşturur.
    * Ayrıca kullanıcıya hesap etkinleştirme bağlantısını içeren bir e-posta gönderir.
  </Step>

  <Step title="Hesap Aktivasyonu">
    * **Hesap Aktivasyonu** - `/v1/accounts/activate-account` API uç noktası üzerinden aşağıdaki bilgiler girilerek yeni bir hesap kaydını neticlendirir:
      1. Kullanıcı ID
      2. Hesap ID
      3. E-posta Doğrulama Belirteci
    * Sağlanan e-posta doğrulama belirtecini doğrulayarak bir kullanıcı hesabını etkinleştirir. Belirteci doğrular, hesap ve kullanıcı durumunu günceller ve belirtecin süresinin dolmadığından emin olur.
    * Doğrulandıktan sonra, hesap e-postası doğrulandı olarak işaretlenir ve belirteç alanları temizlenir.
  </Step>

  <Step title="Mobil Telefon Numarası Doğrulama İsteği">
    * **Telefon Numarası Aktivasyon Talebi** - `/v1/accounts/phone-number-activation-request` API uç noktası üzerinden aşağıdaki bilgiler girilerek telefon numarası doğrulama isteği yapılır:
      1. Kullanıcı ID
      2. Hesap ID
      3. Telefon Numarası Aktivasyon Sayfası Linki
    * Bir kullanıcının telefon numarası için aktivasyon sürecini yönetir. Bu, hesabın doğrulanmasını, bir telefon numarası doğrulama belirteci oluşturulmasını, bir aktivasyon mesajı oluşturulmasını ve aktivasyon SMS'inin gönderilmesini içerir.
    * İsteğe bağlı bir adımdır, bu ve sonraki adım atlanabilir, ancak telefon numarası doğrulanmaz ise kullanıcı SMS bildirimleri alamaz.
  </Step>

  <Step title="Mobil Telefon Numarası Doğrulaması">
    * **Telefon Numarası Aktivasyonu** - `/v1/accounts/activate-phone-number` API uç noktası üzerinden aşağıdaki bilgiler girilerek telefon numarası doğrulama işlemi neticlendirilir:
      1. Kullanıcı ID
      2. Hesap ID
      3. Telefon Numarası Doğrulama Belirteci
    * Bir kullanıcı için, hesabıyla ilişkili olarak sağlanan telefon numarası doğrulama belirtecini doğrulayarak bir telefon numarasını etkinleştirir.
  </Step>

  <Step title="Abonelik Seçimi">
    Kullanıcı için bir abonelik seçilmeden ücretli servisleri kullanamaz. Bu nedenle bir sonraki başlıkta anlatıldığı gibi bir abonelik seçimi yapılması gerekmektedir.
  </Step>
</Steps>

# 3. Abonelik İşlemleri

* **Aboneli̇k Güncelleme** - `/v1/accounts/update-subscription` API uç noktası üzerinden aşağıdaki bilgiler girilerek kullanıcı için abnonelik güncelleme işlemi gerçekleştirilir;
  * Plan Seçimi
    1. Kullanıcı ID
    2. Abone ID
    3. Abonelik Planı İsmi
  * Özel Plan Oluşturma
    1. Kullanıcı ID
    2. Abone ID
    3. Plan Detayları
       1. Abonelik Süresi
       2. Limit Sıfırlama Periyodu
       3. Coğrafi Sınır
       4. Api Servis Limitleri
          1. Api Versiyonu
          2. Api Endpoint İsmi
          3. Maksimum Çağrı Sayısı
* Bir kullanıcı hesabı için abonelik planını günceller. Uç nokta, kullanıcının gerekli role sahip olduğundan ve hesabın var olduğundan emin olur.
* Hesabın abonelik planını belirtilen değere ayarlar ve gerekirse kullanıcının durumunu ayarlar.
* Doğrulama hataları oluşursa veya gerekli kayıtlar bulunamazsa hata mesajı döndürür.

## 3.1. Abonelik Planları

| Plan İsmi               | Abonelik Süresi | Limit Tipleri | Limit Tanımı | API Çağrı Sayısı | Ülke Sınırı  | Bölge Sınırı | Not                                                                                                                      |
| ----------------------- | --------------- | ------------- | ------------ | ---------------- | ------------ | ------------ | ------------------------------------------------------------------------------------------------------------------------ |
| Hiçbiri                 | -               | -             | -            | -                | -            | -            | Henüz bir aboneliği olmayan veya aboneliği iptal edilen kullanıcılar içindir.                                            |
| Deneme                  | 1 ay            | gün           | 5            | çok az           | -            | -            | Daha önce deneme aboneliği olmamış kullanıcılar yararlanabilir. Birden fazla kez deneme aboneliği seçilemez.             |
| Giriş Seviyesi - Aylık  | 1 ay            | ay            | 1            | sınırlı          | -            | -            | API Çağrı sayısı sınırlı, ekonomik abonelik çeşididir. 1 aylık kullanım limiti vardır, sonrasında yenilenmeli.           |
| Giriş Seviyesi - Yıllık | 1 yıl           | kota          | -            | sınırlı          | -            | -            | API Çağrı sayısı sınırlı, aylık limit olmayan tüm kotanın 1 yıl içinde kullanılabileceği ekonomik abonelik çeşididir.    |
| Premium - Aylık         | 1 ay            | ay            | 1            | yeterli          | -            | -            | API Çağrı sayısı yeterli, üst seviye abonelik çeşididir. 1 aylık kullanım limiti vardır, sonrasında yenilenmeli.         |
| Premium - Yıllık        | 1 yıl           | kota          | -            | yeterli          | -            | -            | API Çağrı sayısı yeterli, aylık limiti olmayan tüm kotanın 1 yıl içinde kullanılabileceği üst seviye abonelik çeşididir. |
| Özel                    | seçime bağlı    | seçime bağlı  | seçime bağlı | seçime bağlı     | seçime bağlı | seçime bağlı | Her parametresi değiştirilebilir özel abonelik çeşidi.                                                                   |

## 3.2. Özel Abonelik Seçeneği İçin Coğrafi Sınır Seçenekleri

<Tabs>
  <Tab title="Türiye" icon="flag">
    1. Tümü
    2. Akdeniz Bölgesi
    3. Doğu Anadolu Bölgesi
    4. Ege Bölgesi
    5. Güneydoğu Anadolu Bölgesi
    6. İç Anadolu Bölgesi
    7. Marmara Bölgesi
    8. Karadeniz Bölgesi
  </Tab>

  <Tab title="Avrupa" icon="earth-europe">
    1. Tümü
    2. Doğu
    3. Batı
    4. Kuzey
    5. Güney
  </Tab>

  <Tab title="Asya" icon="earth-asia">
    1. Iran
  </Tab>

  <Tab title="Dünya" icon="globe">
    1. Tümü
  </Tab>
</Tabs>
