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

# Ürün kartı

> Ürün ana kaydının alanları ve doğrulama kuralları.

Ürün kartı; stok, fatura, sipariş ve teklif kayıtlarında kullanılan ana tanımdır.

| İşlem          | Endpoint                                                 |
| -------------- | -------------------------------------------------------- |
| Listele        | [`GET /products`](/tr/v1/products/list)                  |
| Detay          | [`GET /products/{productId}`](/tr/v1/products/get)       |
| Oluştur        | [`POST /products`](/tr/v1/products/create)               |
| Güncelle       | [`PUT /products/{productId}`](/tr/v1/products/update)    |
| Sil            | [`DELETE /products/{productId}`](/tr/v1/products/delete) |
| Grup detayları | [`GET /products/groups`](/tr/v1/products/groups/list)    |

## Zorunlu alanlar

<ParamField body="Code" type="string" required>
  Şirket içinde benzersiz ürün kodu. Oluştururken `"Next"` gönderirseniz kod, şirketin **ÜRÜN** seri tanımından üretilir; güncellemede `"Next"` kullanılamaz (`2003`). Üretim mantığı [cari kodundaki](/tr/v1/customers/customer-code) ile aynıdır, yalnızca seri tanımı farklıdır.
</ParamField>

<ParamField body="Name" type="string" required>
  Ürün tanımı. En fazla 255 karakter.
</ParamField>

<ParamField body="UnitId" type="string" required>
  Ana birim; [birim tanımlarından](/tr/v1/definitions/units/list) bir ID olmalıdır.
</ParamField>

Diğer alanların hepsi isteğe bağlıdır.

## Ürün tipi

| Değer | Ürün tipi               |
| ----- | ----------------------- |
| `1`   | İlk madde               |
| `2`   | Yarı mamül              |
| `3`   | Mamül                   |
| `4`   | Ticari mal (varsayılan) |
| `5`   | Hizmet                  |

Uygulamadaki masraf, demirbaş ve ihtiyaç malzemesi kayıtları ayrı ekranlardan girilir; API üzerinden oluşturulamaz ve bu değerler reddedilir (`2007`).

## Stok tipi

| Değer | Stok tipi               |
| ----- | ----------------------- |
| `1`   | Stok tutma (varsayılan) |
| `2`   | Stok tut                |
| `3`   | Lot                     |
| `4`   | FIFO                    |
| `5`   | Seri                    |
| `6`   | LIFO                    |
| `7`   | FEFO                    |

## Vergi alanları

* `VatRateId`: [KDV oranı tanımlarından](/tr/v1/definitions/vat-rates/list) bir ID.
* `AdditionalTaxCode1-3` ve `AdditionalTaxRate1-3`: ek vergi (ÖTV gibi) kodu ve oranı.

## İhracat alanları

`Gtip`, `DeliveryTerm` (teslim şekli), `PackagingType` (paketleme tipi), `TransportMode`, `OriginCountryCode` (menşei ülke kodu), `Brand` ve `Model` alanları ihracat faturalarının ek bilgilerinde kullanılır.

| Değer | Taşıma modu                |
| ----- | -------------------------- |
| `0`   | Belirtilmemiş (varsayılan) |
| `1`   | Denizyolu                  |
| `2`   | Demiryolu                  |
| `3`   | Karayolu                   |
| `4`   | Havayolu                   |
| `5`   | Posta                      |
| `6`   | Çok araçlı                 |
| `7`   | Sabit taşıma tesisleri     |
| `8`   | İç su yolu                 |

<Warning>
  Ürünün `TransportMode` alanı ihracat kod listesidir; [sevkiyat tanımındaki](/tr/v1/definitions/shipment-definitions/create) `TransportMode` (1 karayolu, 2 demiryolu, 3 denizyolu, 4 havayolu) ile **aynı liste değildir**.
</Warning>

## Gruplar

`GroupDetailId1` ... `GroupDetailId5` alanları ürün gruplarının seçilebilir değerleridir. Gönderilen ID, [grup detaylarından](/tr/v1/products/groups/list) ilgili grup numarasına ait olmalıdır: `GroupDetailId2` alanına yalnızca 2. grubun detayı gönderilebilir (`2011`).

Ürün grupları **hiyerarşiktir**: bir detayın üstü (`ParentGroupDetailId`) her zaman bir önceki grubun detayıdır.

* Grup 1 detaylarının üstü olmaz, hepsi her zaman seçilebilir.
* Grup 2'de bir detay seçildiyse, grup 3'te yalnızca **üstü o detay olanlar** ile **üstü boş olanlar** seçilebilir. Aynı kural 3 → 4 ve 4 → 5 için de geçerlidir.
* **Üstü boş olan detay her üst seçiminde seçilebilir.** Örneğin her markada geçerli bir "SUV" gövde tipi, üstü boş bırakılarak tanımlanır.

```
AUDİ (grup 1)
└── SEDAN (grup 2, üstü AUDİ)
    └── JETTA (grup 3, üstü SEDAN)
SUV (grup 2, üstü yok) -> her markayla birlikte seçilebilir
```

Ürün kaydederken bu kural doğrulanır: `GroupDetailId3` alanına, üstü `GroupDetailId2` ile seçilen detay olmayan (ve üstü boş da olmayan) bir detay gönderirseniz istek `2013` ile reddedilir.

## Kapsam dışı alanlar

Ürün tablosunda bulunan pazaryeri (Trendyol, Hepsiburada, N11, ...) kolonları, resimler, varyant alanları, depozito bilgileri ve 2./3. birim alanları API üzerinden yönetilmez; bu alanlar veritabanı varsayılanlarıyla kalır.
