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

# Teklifler

> Alış ve satış tekliflerinin alanları ve kuralları.

Teklif, bir başlık ve bir ya da daha fazla satırdan oluşur. Alış teklifleri (`QuoteType` 1) ve satış teklifleri (`QuoteType` 2) aynı endpoint'leri kullanır.

| İşlem          | Endpoint                                                              |
| -------------- | --------------------------------------------------------------------- |
| Listeleme      | [`GET /quotes`](/tr/v1/quotes/list)                                   |
| Detay          | [`GET /quotes/{quoteId}`](/tr/v1/quotes/get)                          |
| Oluşturma      | [`POST /quotes`](/tr/v1/quotes/create)                                |
| Güncelleme     | [`PUT /quotes/{quoteId}`](/tr/v1/quotes/update)                       |
| Silme          | [`DELETE /quotes/{quoteId}`](/tr/v1/quotes/delete)                    |
| Satır grupları | [`GET /definitions/line-groups`](/tr/v1/definitions/line-groups/list) |

<Warning>
  **API tutarları hesaplamaz ve tutarlı olup olmadıklarını denetlemez.** Satır tutarları, indirim tutarları, KDV, ek vergiler, tevkifat, teklif toplamları ve ağırlıklı kur ortalaması gönderdiğiniz gibi kaydedilir. Noyax'ın bunları nasıl hesapladığı [hesaplama](/tr/v1/quotes/calculations) sayfasında anlatılır; API ile oluşturulan teklifler Noyax'ta oluşturulanlar gibi toplansın diye o sayfayı izleyin.
</Warning>

## Zorunlu alanlar

* `QuoteType`: `1` alış teklifi, `2` satış teklifi. Teklif oluşturulduktan sonra değiştirilemez (`5015`).
* `QuoteNumber`: şirkette aynı `QuoteType` içinde benzersiz, en fazla 10 karakter (`5002`). Oluştururken `"Next"` gönderilirse numara şirketin numara serisinden üretilir: alış teklifleri için **ALTEKLİFNO**, satış teklifleri için **VERTEKLİFNO**. Güncellemede `"Next"` gönderilemez (`5003`).
* `Date`: teklif tarihi. Saat de gönderirseniz teklif saati olarak yazılır, göndermezseniz o anki saat kullanılır.
* `CustomerId`: kullanıcının görebildiği bir cari. `RepresentativeId` isteğe bağlıdır ve o carinin yetkilisi olmalıdır.
* `CurrencyId`: teklif dövizi.
* `Lines`: en az bir satır (`5012`).

## Satırlar

* `ProductId` ve `UnitId` zorunludur. Birim, ürünün kendi birimlerinden biri olmalıdır (ana birimi ya da 2./3. birimi).
* `Quantity` sıfırdan büyük olmalı; `UnitPrice` negatif olamaz.
* Satırın `CurrencyId` alanı verilmezse teklif dövizi kullanılır; `ExchangeRate` satır dövizinin kurudur.
* `Discounts`, satırın indirim oranlarının listesidir. Liste sırasıyla art arda uygulanır: 10, 10 ve 10 satırda %27,1'lik indirim eder. Satırda indirim yoksa liste boş bırakılır.
* `LineGroupId` isteğe bağlıdır ve [satır grupları](/tr/v1/definitions/line-groups/list) tanımından gelir.
* Satırların ID'si yoktur: listedeki sıraları tekliftaki sıralarıdır ve güncelleme bütün satırları değiştirir.

## Durum

`Status` salt okunurdur.

| Değer | Anlamı        |
| ----- | ------------- |
| `0`   | Beklemede     |
| `1`   | Kabul edildi  |
| `2`   | Revize edildi |
| `3`   | Reddedildi    |

API ile oluşturulan teklifler her zaman `0` (beklemede) olur ve güncelleme durumu değiştirmez. Noyax'ta kabul edilen, revize edilen ya da reddedilen teklifler bu durumu burada gösterir.

## Düzenleme ve silme

Düzenleme ve silme duruma göre kısıtlanmaz: teklif hangi durumda olursa olsun, hatta Noyax'ta siparişe, faturaya ya da irsaliyeye aktarılmış olsa bile güncellenebilir ya da silinebilir. Noyax bu durumda yalnızca kullanıcıdan onay ister; API'de böyle bir onay yoktur, bu tür teklifleri değiştirmeden önce kendi tarafınızda kontrol edin. Başka kayıtların (örneğin servis fişi ya da fırsat) bağlı olduğu teklif silinemez (`5014`).

## Paylaşım

`SharingCodeId` teklifi kimlerin görebileceğini sınırlar: boşsa herkes görür, doluysa kullanıcının [paylaşım kodlarından](/tr/v1/guides/sharing-codes) biri olmalıdır (`5011`). Kullanıcının göremediği teklifler 404 döner.
