# Fırsatlar

> Satış projeleri — aşama, değer, sağlık, BANT ve kontrol listesi adımlarıyla.

Fırsat (API'de `opportunity`, kısaca `opp`) bir firmayla yürütülen satış projesidir. Arayüzde **Proje** ya da **Fırsat** olarak geçer. Her fırsat bir firmaya bağlıdır, bir aşamadadır ve kapanana kadar aşama kapılarından geçerek ilerler.

## Aşamalar

Aşamalar kuruluma göre değişir (**Ayarlar → Aşamalar**). Yeni kurulumlar iki açık aşamayla (Aday · Devam ediyor) başlar; Makro gibi sanayi kurulumları beş açık aşama ve aşama kapıları kullanır:

`Qualify` → `Viable` → `Present Solution` → `Negotiation` → `Expect to Close` → `Win` / `Lost` / `Cancel`

Kapanış anahtarları her kurulumda `Win`, `Lost`, `Cancel`'dır; görünen adları değişebilir. Kurulumun aşama anahtarlarını ve adlarını [`GET /api/v1/me`](/rest-api/auth/me) yanıtındaki `constants.stages`, `constants.open_stages` ve `constants.stage_labels` verir. Ayrıntı: [Aşamalar ve kapılar](/concepts/pipeline).

## Müşteri takibi kapları

Kazanılmış müşterilerle süren ilişki `Account` aşamasındaki **Müşteri Takibi** kaplarında tutulur: bu kaplar satış hunisinde sayılmaz, ziyaret ve siparişler onlara bağlanır. Listede `stage=account` ile alınır, `is_account: true` taşırlar.

## Alanlar

| Alan | Tür | Açıklama |
|---|---|---|
| `id`, `rid` | integer, string | Kimlik ve kalıcı kayıt kimliği (`006…`). |
| `name` | string | Görünen ad (ad yoksa ürün ve türden üretilir). |
| `customer_id`, `customer` | integer, string | Firma. |
| `stage`, `stage_label` | string | Aşama anahtarı ve görünen adı. |
| `is_open`, `is_account` | boolean | Açık fırsat · müşteri takibi kabı. |
| `potential_kg`, `offer_price`, `payment_days` | number | Aylık miktar, birim fiyat, vade. |
| `unit`, `pu`, `cur_sym` | string | Ürünün birimi, fiyat birimi (ör. `€/kg`) ve döviz simgesi. |
| `value`, `value_short` | number, string | Yıllık değer = miktar × fiyat × 12 (yoksa elle girilen değer). |
| `value_base`, `base_currency` | number, string | Değerin kurulumun ana dövizindeki karşılığı. |
| `probability`, `prob`, `fc` | number, string | Olasılık (%) ve öngörü kategorisi. |
| `health`, `health_color` | object, string | Sağlık puanı ve rengi (`g` yeşil, `y` sarı, `r` kırmızı). |
| `health_manual`, `health_note` | boolean, string | Kullanıcı rengi elle belirlediyse ve notu. |
| `sla_days`, `sla_left`, `days_in_stage` | integer | Aşama süresi hedefi, kalan gün, aşamada geçen gün. |
| `lifetime_left` | integer | Projenin yaşam süresinden kalan gün. |
| `next_step`, `close_date` | string, date | Sıradaki adım ve beklenen kapanış. |
| `bant` | integer | Sağlanan BANT ölçütü sayısı (0–4). |
| `owner` | user | Sorumlu. |

Tekil uç ayrıca `steps` (kontrol listesi), `gate_ok`, `gate_problems`, `next_stage`, `bant_b/a/n/t`, `offers`, `visits`, `demos`, `orders`, `tasks`, `logs` (aşama geçmişi), `notes`, `tags`, `threads` ve kapanmışsa `close_category`, `close_reason`, `closed_at` döndürür.

## Değer nasıl hesaplanır?

Ürün, aylık miktar ve birim fiyat girildiyse yıllık değer **miktar × fiyat × 12**'dir ve elle değiştirilemez. Bunlar yoksa `value` alanındaki elle girilen değer kullanılır. Panolar ve toplamlar her zaman ana dövizdeki `value_base` ile hesaplanır.

## Sağlık

Sağlık puanı (0–100) kendiliğinden hesaplanır: aşama SLA'sı ve proje yaşam süresi aşımı, son aktiviteden geçen süre, sıradaki adımın tarihi ve ertelemeler, geçmişte kalan kapanış tarihi, aşama kapısı sorunları ve pazarlıkta teklif fiyatının olmaması puanı düşürür; son 7 gündeki aktivite ve olumlu deneme yükseltir. 75 ve üstü yeşil, 50–74 sarı, altı kırmızıdır. Kullanıcı rengi elle seçip kısa bir not yazabilir; elle seçilen renk hesaplananı ezer (`health_manual: true`). `sort=health` listeyi önce kırmızıları gösterecek şekilde sıralar.

## İlgili uçlar

:::cards
- [Fırsatları listele](/rest-api/deals/list) list | Aşama, sıralama, sayfalama.
- [Aşamayı değiştir](/rest-api/deals/stage) arrow | Kapılarla birlikte.
- [Fırsatı güncelle](/rest-api/deals/update) pencil | Miktar, fiyat, kapanış, öngörü.
- [Adım ekle](/rest-api/deals/steps-create) check | Kontrol listesi.
:::