> ## 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.

# Engellenen Kullanıcılar

> ChannelBlacklist ile spam veya istenmeyen göndericilerin engellenmesi.

Engelleme, belirli bir göndericinin firmanıza mesaj gönderemeyeceği şekilde işaretlenmesidir. Kanal bazında ve süreli/süresiz olarak tanımlanır.

## Yapı (`ChannelBlacklist`)

| Alan          | Açıklama                                         |
| ------------- | ------------------------------------------------ |
| `channel_id`  | Hangi kanal                                      |
| `customer_id` | Hangi hasta                                      |
| `reason`      | `SpamType` enum                                  |
| `blocked_at`  | Engelleme zamanı                                 |
| `expires_at`  | Geçici engellemenin bitiş zamanı (null = kalıcı) |
| `is_active`   | Engelleme aktif mi                               |

## Davranış

```mermaid theme={null}
flowchart LR
    M[Gelen mesaj] --> B{Blacklist'te mi?}
    B -->|Hayır| N[Normal akış]
    B -->|Evet, aktif| D[Mesaj düşürülür]
    D --> L[Log + raporlama]
```

* Engellenen göndericiden gelen mesaj `ChatLog`'a yazılmaz, sohbete düşmez.
* Olay loglanır; bildirim verilmez.
* `expires_at` geçtiğinde engelleme otomatik kalkar (`is_active=false`).

## Engelleme nedenleri

`SpamType` enum'ı tipik nedenleri ifade eder (örn. otomatik spam tespiti, manuel firma kararı, kötü davranış). Panel'de engelleme yaparken neden seçilir; raporlamada bu kullanılır.

## Engellemeyi kaldırma

Panel'den `is_active=false` yapılır veya manuel olarak silinir. Aynı gönderici tekrar yazdığında normal akış işler.

## API tarafı

Blacklist için API tarafı henüz dökümante edilmedi; panel üzerinden yönetilir.
