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

# Cari kodu üretimi

> CustomerCode alanına "Next" göndererek cari kodunu otomatik üretmek.

Cari oluştururken `CustomerCode` alanına `"Next"` gönderirseniz kod, şirketinizin Noyax'ta tanımlı **cari numarası serisinden** otomatik üretilir. Üretilen kod yanıttaki `CustomerCode` alanında döner.

```json theme={null}
{
  "CustomerCode": "Next",
  "Name": "Örnek Ticaret A.Ş.",
  "TaxNumber": "1234567890"
}
```

## Kod nasıl oluşur?

Seri, sırayla birleştirilen parçalardan oluşur. Her parçanın bir tipi ve uzunluğu vardır:

| Parça                      | Değer                                               |
| -------------------------- | --------------------------------------------------- |
| Artırımlı                  | Serideki sıradaki numara                            |
| Yıl, Ay, Gün, Saat, Dakika | İşlem anının ilgili değeri                          |
| Çeyrek yıl                 | `1`-`4`                                             |
| Kullanıcı ID               | `X-UserID`                                          |
| Rol ID                     | Kullanıcının rolünün ID'si                          |
| Sabit değer                | Tanımlandığı gibi yazılır                           |
| Rastgele                   | Büyük harf onaltılık karakterler (`0`-`9`, `A`-`F`) |

* Parça tanımlı uzunluktan kısaysa soluna `0` eklenir, uzunsa son karakterleri alınır.
* Sıradaki numara yalnızca cari başarıyla kaydedilirse bir artar. Hatalı bir istek numara harcamaz.
* Aynı anda gelen istekler aynı numarayı alamaz.

**Örnek:** Seri "artırımlı (6 hane) + yıl (4 hane)" ve sıradaki numara `38` ise kod `0000382026` olur.

## Hatalar

| Kod    | Mesaj                                                                                  | Sebep                                                                                                |
| ------ | -------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- |
| `1080` | `Serial number definition 'CARİ NO' not found for this company.`                       | Şirkette cari numarası serisi tanımlı değil. Kodu kendiniz gönderin ya da Noyax'ta seriyi tanımlayın |
| `1081` | `Serial number 'CARİ NO' has no detail definitions.`                                   | Serinin parçaları tanımlı değil                                                                      |
| `1082` | `Unsupported serial number part type: N.`                                              | Seride API'nin üretemediği bir parça tipi (Parametre 1 / Parametre 2) var                            |
| `1083` | `Generated customer code (N characters) exceeds the serial number maximum length (M).` | Üretilen kod serinin azami uzunluğunu aşıyor                                                         |
| `1084` | `Generated customer code '...' is already used in this company.`                       | Üretilen kod şirkette başka bir caride kullanılıyor. Serideki sıradaki numarayı kontrol edin         |
| `1085` | `Customer code could not be generated. Please try again.`                              | Rastgele parça içeren seride, birkaç denemeye rağmen kullanılmayan bir kod üretilemedi               |

`"Next"` yalnızca oluşturmada kullanılabilir. Güncellemede gönderilirse **400** ve `1003` döner.
