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

# Destek Paketi İstekleri

> Apinizer'da API Portal kullanıcılarının oluşturduğu destek paketi taleplerini liste halinde görüntüler, onaylar veya reddeder. Portal kullanıcılarının satın almak istediği destek paketlerini yönetir ve başvuru statülerini PENDING, APPROVED veya REJECTED arasında değiştirebilir.

## Roller ve Erişim

* Menü yolu: Portal Management → Support Package → Requests.
* Erişim: Portal yönetim yetkisi olan kullanıcılar (örn. PORTAL\_MANAGER) görüntüleyip işlem yapabilir.
* Portal son kullanıcıları bu ekrana erişmez; işlemler sadece yönetim panelinden yapılır.

**Destek Paketi İstekleri (Support Package Requests)** ekranına **istek (request)** düşmesi için, API Portal tarafında kullanıcı aşağıdaki adımları gerçekleştirir:

<Steps>
  <Step title="Kullanıcı API Portal'e giriş yapar">
    Geliştirici veya proje üyesi, API Portal hesabına kullanıcı adı ve şifresiyle giriş yapar.
  </Step>

  <Step title="Destek Paketi sayfasına gider">
    Portal menüsünden **Support Packages (Destek Paketleri)** sekmesine tıklar.
  </Step>

  <Step title="Uygun destek paketini seçer">
    Aşağıdaki örnek paketlerden birini seçer:

    * Kurumsal Entegrasyon Tam Destek Paketi (Enterprise Integration Full Support Package)
    * Geliştirici Araçları Tam Destek Paketi (Developer Tools Full Support Package)
    * Tam Girişim Destek Paketi (Full Startup Support Package)
  </Step>

  <Step title="Destek paketi isteği oluşturur">
    Seçilen paket için **"Request Support Package"** butonuna tıklar ve isteği gönderir.
  </Step>

  <Step title="Onay bekleme durumu">
    Oluşturulan istek **PENDING** (Beklemede) durumuna geçer ve **Apinizer Manager** paneline düşer.
  </Step>

  <Step title="Bilgilendirme">
    Kullanıcı, isteğin durumu değiştiğinde (onaylandığında veya reddedildiğinde) e-posta bildirimi alır.
  </Step>
</Steps>

<Frame caption="Portal'da Destek Paketi Seçimi">
  <img src="https://mintcdn.com/apinizer/kGW75Xw-tjGRkf9w/images/portal/destek_paketleri.png?fit=max&auto=format&n=kGW75Xw-tjGRkf9w&q=85&s=556ea463d7b21ca760e568e8bf89f074" alt="Portal'da Destek Paketi Seçimi" width="1100" data-path="images/portal/destek_paketleri.png" />
</Frame>

<Frame caption="Destek Paketi Talep Formu">
  <img src="https://mintcdn.com/apinizer/kGW75Xw-tjGRkf9w/images/portal/destek_paketleri2.png?fit=max&auto=format&n=kGW75Xw-tjGRkf9w&q=85&s=f0a5f1ee8ebd57592ff576326c21ce74" alt="Destek Paketi Talep Formu" width="1100" data-path="images/portal/destek_paketleri2.png" />
</Frame>

Yönetici, Apinizer Manager arayüzüne gelen destek paketi isteklerini aşağıdaki adımlarla kontrol eder:

<Steps>
  <Step title="Yönetici Girişi">
    Admin, **Apinizer Manager Paneli**ne kullanıcı bilgileriyle giriş yapar.
  </Step>

  <Step title="İlgili Menüye Erişim">
    Menü üzerinden şu yolu izler: **Administration → Portal → Support Packages → Support Package Requests**
  </Step>

  <Step title="Destek Paketi İsteklerini Görüntüleme">
    Tüm kullanıcıların oluşturduğu destek paketi istekleri tablo halinde listelenir.
  </Step>

  <Step title="Tablo İncelemesi">
    Yönetici her isteğin detayını, durumunu ve tarihlerini tabloda görebilir. (Tablo detayları aşağıda yer alır.)
  </Step>

  <Step title="İşlem Yapma">
    Her isteğin satırında **Actions** alanında yönetici işlem yapabilir:

    **Approve (Onayla)** – Durumu *APPROVED* olarak günceller.

    **Reject (Reddet)** – Durumu *REJECTED* olarak günceller.
  </Step>

  <Step title="Onay Sonrası Süreç">
    Onaylanan isteğin **Approved Date** ve **Expired Date** bilgileri otomatik olarak güncellenir.
  </Step>

  <Step title="Kullanıcı Bildirimi">
    İşlem tamamlandığında sistem kullanıcıya (isteği oluşturan kişiye) e-posta veya portal bildirimi gönderir.
  </Step>
</Steps>

## Onaylama ve Reddetme Akışı

<Tabs>
  <Tab title="Onay (Approve)">
    1. Approve butonuna tıklayın (sadece PENDING veya REJECTED durumlarında görünür).
    2. Konfirmasyon dialogu açılır.
    3. Onaylarsanız supportPackageRequestService.approve(id, currentUserId) çağrılır.
    4. İşlem sonrası liste otomatik yenilenir; durum APPROVED olur.
  </Tab>

  <Tab title="Red (Reject)">
    1. Reject butonuna tıklayın (sadece PENDING veya APPROVED durumlarında görünür).
    2. Sebep girişi için RejectDialogComponent açılır.
    3. Gerekçe zorunludur; boş bırakılırsa buton pasif kalır.
    4. Kaydettiğinizde supportPackageRequestService.reject(id, currentUserId, reason) çağrılır.
    5. Liste yenilenir; durum REJECTED olarak güncellenir.
  </Tab>
</Tabs>

## İş Kuralları

<Note>
  * Silme işlemi yoktur. İhtiyaç halinde manuel olarak API/DB üzerinden müdahale gerekir.
  * PENDING kayıt hem onaylanabilir hem reddedilebilir.
  * APPROVED kayıt tekrar reddedilebilir (ör. yanlışlıkla onaylama durumunda).
  * REJECTED kayıt tekrar onaylanabilir (ör. kullanıcı talebi yeniden değerlendirilmişse).
  * İşlem sonrası tüm liste yeniden yüklenir; sayfa yenilemeye gerek kalmaz.
</Note>

<Frame caption="Destek Paketi İstekleri Yönetim Ekranı">
  <img src="https://mintcdn.com/apinizer/kGW75Xw-tjGRkf9w/images/portal/destek_paketleri3.png?fit=max&auto=format&n=kGW75Xw-tjGRkf9w&q=85&s=e6cc61ac82eab1c0744283a47fa5fbfc" alt="Destek Paketi İstekleri Yönetim Ekranı" width="1100" data-path="images/portal/destek_paketleri3.png" />
</Frame>

| Sütun Adı             | Açıklama                                                                               |
| --------------------- | -------------------------------------------------------------------------------------- |
| **Account E-mail**    | İsteği oluşturan kullanıcının e-posta adresi                                           |
| **Account Full Name** | Kullanıcının tam adı                                                                   |
| **Organization**      | Kullanıcının bağlı olduğu organizasyon veya proje adı                                  |
| **Support Package**   | Talep edilen destek paketi tipi (örnek: *Enterprise Integration Full Support Package*) |
| **Status**            | İsteğin mevcut durumu (örnek: *PENDING*, *APPROVED*, *REJECTED*)                       |
| **Usage (Detail)**    | Paket kullanım detay sayfasına yönlendiren bağlantı                                    |
| **Request Date**      | İsteğin oluşturulduğu tarih                                                            |
| **Approved Date**     | İstek onaylandıysa, onaylandığı tarih                                                  |
| **Expired Date**      | Destek paketinin geçerlilik süresinin bitiş tarihi                                     |
| **Actions**           | Yönetici tarafından yapılabilecek işlemler (✅ Approve / ❌ Reject)                      |

## Sık Sorulan Sorular

<Accordion title="Bu ekranda kayıt silebilir miyim?">
  Hayır. Yalnızca onaylama ve reddetme işlemleri desteklenir.
</Accordion>

<Accordion title="Red gerekçesi kullanıcıya gösteriliyor mu?">
  Red dialogu gerekçeyi kayıt altına alır. Gerekçenin dış sistemlerde gösterilmesi backend/portal entegrasyonuna bağlıdır.
</Accordion>

<Accordion title="Reddedilen bir başvuruyu daha sonra onaylayabilir miyim?">
  Evet. Reddedilmiş kayıt için "Approve" butonu görünür; tekrar değerlendirebilirsiniz.
</Accordion>

<Accordion title="Detay diyaloğu neden düzenlenemiyor?">
  Bu sayfa yalnızca paket talep yönetimi içindir; paket tanımları portal yönetiminin başka ekranlarında yapılır.
</Accordion>
