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

# Destek Talepleri API

> Hastaların talep, şikayet, yan etki bildirimi veya önerilerini takip etmek için kullanılan destek talebi (ticket) endpoint'leri.

<Note>
  Tüm isteklerde `X-Tenant` header'ı **zorunludur**. İşlemler ve listelemeler sadece belirtilen tenant'a bağlı hastaların destek talepleri ile sınırlandırılmıştır.
</Note>

## Endpoint özeti

| Metot    | Endpoint                     | Açıklama                                    |
| -------- | ---------------------------- | ------------------------------------------- |
| `GET`    | `/api/v1/tickets`            | Destek taleplerini filtreli olarak listeler |
| `GET`    | `/api/v1/tickets/{id}`       | Tek bir destek talebini detaylı getirir     |
| `POST`   | `/api/v1/tickets`            | Yeni destek talebi oluşturur                |
| `PUT`    | `/api/v1/tickets/{id}`       | Destek talebini kısmi günceller             |
| `DELETE` | `/api/v1/tickets/{id}`       | Destek talebini soft delete eder            |
| `DELETE` | `/api/v1/tickets/{id}/force` | Destek talebini kalıcı olarak siler         |

<Tip>
  Tüm parametreler, alanlar ve örnek istek/yanıtlar için **[API Referansı](/api-reference)** sekmesine bakın.
</Tip>

## Destek talebi kavramı

Ticket (destek talebi); bir hastanın / müşterinin **genel taleplerini, şikayetlerini, yan etki bildirimlerini veya önerilerini** takip etmek için kullanılan sistem kaydıdır.

Bir destek talebi; ilgili hasta, atanmış personel (sorumlu), talep tipi, durum, açıklama ve kanban sıralaması (`position`) gibi bilgilerle yönetilir.

## İş kuralları

<Warning>
  `customer_id` başka bir tenant'a ait bir hastayı işaret ediyorsa hata döner: `The selected customer does not belong to this tenant.`
</Warning>

**Sistem alanları (istekte gönderilmez):**

* `code` — Sistem tarafından otomatik ve **benzersiz** olarak üretilir.
* `creation_type` — API üzerinden oluşturulan tüm taleplerde otomatik olarak `manual` atanır.

<Tip>
  **`position` alanı:** Kanban board vb. arayüzlerde kart sıralamasını tutmak için kullanılır. Genellikle güncelleme (`PUT`) isteğinde gönderilir.
</Tip>

## Yetkilendirme

### Uygulama izinleri (permissions)

| İşlem                       | Permission           |
| --------------------------- | -------------------- |
| Listeleme                   | `ViewAny:Ticket`     |
| Detay / Tek gösterme        | `View:Ticket`        |
| Oluşturma                   | `Create:Ticket`      |
| Güncelleme                  | `Update:Ticket`      |
| Silme (soft delete)         | `Delete:Ticket`      |
| Kalıcı silme (force delete) | `ForceDelete:Ticket` |

### Token scope'ları (Passport)

| İşlem                                               | Scope           |
| --------------------------------------------------- | --------------- |
| Okuma (`index`, `show`)                             | `tickets:read`  |
| Yazma (`store`, `update`, `destroy`, `forceDelete`) | `tickets:write` |
