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

# Sipariş oluştur

> Siparişi ve satırlarını tek transaction'da oluşturur.

Sipariş, satırları ve satırların indirimleri **tek transaction'da** yazılır: herhangi biri geçersizse hiçbiri kaydedilmez, bütün hatalar tek `Message`'da döner. Satır hataları satır numarasıyla başlar, örneğin `Line 2: Quantity must be greater than 0.`

<CardGroup cols={2}>
  <Card title="Alan kuralları" icon="list-check" href="/tr/v1/orders/overview">Zorunlu alanlar, cari hareket, onay ve durum, satırlar.</Card>
  <Card title="Hesaplamalar" icon="calculator" href="/tr/v1/quotes/calculations">Tutarlar ve toplamlar nasıl hesaplanır.</Card>
</CardGroup>

<Warning>API tutarları hesaplamaz ve tutarlı olup olmadıklarını denetlemez. Satır tutarlarını ve toplamları kendi sisteminizin hesapladığı gibi gönderin. Satırın ana birim miktarını API hesaplar.</Warning>

* `OrderNumber` yerine `"Next"` gönderilirse numara, sipariş tipinin numara serisinden üretilir.
* `CreateCustomerMovement: true` ise sipariş tutarı carinin hesabına da yazılır (alış siparişi alacak, satış siparişi borç), aynı işlemde. Bkz. [cari hareket](/tr/v1/orders/overview#cari-hareket).
* Şirketin onay tanımlarına uyan onaylar ve varsayılan sipariş durumu otomatik atanır.
* Başarılı yanıt **201 Created** döner; `Location` header'ı yeni siparişi gösterir.

## Hata kodları

Bu endpoint'in dönebileceği kodlar. Her endpoint için geçerli olan [genel hatalar](/tr/v1/guides/result-codes) (kimlik doğrulama, yetki, istek header'ları, günlük limit) burada tekrarlanmaz.

| Kod    | HTTP | Anlamı                                                                                                                                                       |
| ------ | ---- | ------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `0002` | 400  | İstek gövdesi okunamadı (bozuk JSON, alan tipi uyumsuz)                                                                                                      |
| `0003` | 400  | Alan azami uzunluğu aşıyor (mesajda alan adı ve sınır yazar)                                                                                                 |
| `0580` | 400  | Metinle verilen değer (kod ya da ad) birden fazla kayıtla eşleşiyor; hangisi olduğunu ayırt edecek bilgiyi ekleyin (ör. ilçe için `City`, il için `Country`) |
| `6001` | 400  | `OrderNumber` zorunlu                                                                                                                                        |
| `6002` | 400  | Sipariş numarası şirkette bu sipariş tipi için kullanılıyor                                                                                                  |
| `6004` | 400  | `OrderType` 1 (alış) ya da 2 (satış) olmalı                                                                                                                  |
| `6005` | 400  | `Date` zorunlu                                                                                                                                               |
| `6006` | 400  | `CustomerCode` zorunlu                                                                                                                                       |
| `6007` | 400  | Cari bulunamadı ya da kullanıcı göremiyor                                                                                                                    |
| `6009` | 400  | `CurrencyCode` zorunlu                                                                                                                                       |
| `6010` | 400  | Döviz şirkette bulunamadı                                                                                                                                    |
| `6011` | 400  | `SharingCode` kullanıcının paylaşım kodlarından biri değil                                                                                                   |
| `6012` | 400  | En az bir satır zorunlu                                                                                                                                      |
| `6013` | 400  | `DueDays` 0'dan küçük olamaz                                                                                                                                 |
| `6080` | 400  | Şirkette bu sipariş tipi için numara serisi tanımlı değil                                                                                                    |
| `6081` | 400  | Serinin detayı yok                                                                                                                                           |
| `6082` | 400  | Seride API'nin üretemediği bir bölüm tipi var                                                                                                                |
| `6083` | 400  | Üretilen numara serinin azami uzunluğunu aşıyor                                                                                                              |
| `6084` | 400  | Üretilen numara şirkette zaten kullanılıyor                                                                                                                  |
| `6085` | 400  | Birkaç denemede kullanılmamış numara üretilemedi                                                                                                             |
| `6101` | 400  | `ProductCode` zorunlu                                                                                                                                        |
| `6102` | 400  | Ürün şirkette bulunamadı                                                                                                                                     |
| `6103` | 400  | `UnitCode` zorunlu                                                                                                                                           |
| `6104` | 400  | `UnitCode`, ürünün kendi birimlerinden (Unit1/Unit2/Unit3) biri değil                                                                                        |
| `6105` | 400  | `Quantity` sıfırdan büyük olmalı                                                                                                                             |
| `6106` | 400  | `UnitPrice` negatif olamaz                                                                                                                                   |
| `6107` | 400  | `DiscountRate` 0 ile 100 arasında olmalı                                                                                                                     |
| `6108` | 400  | Satırın dövizi şirkette bulunamadı                                                                                                                           |
| `6109` | 400  | `VatRate` 0 ile 100 arasında olmalı                                                                                                                          |
| `6110` | 400  | Satır grubu şirkette bulunamadı                                                                                                                              |
| `6111` | 400  | `ExchangeRate` negatif olamaz                                                                                                                                |
| `6112` | 400  | `WarehouseName` şirkette bulunamadı                                                                                                                          |
| `6113` | 400  | Ürünün satırın birimi için oran tanımı yok; ana birim miktarı hesaplanamıyor                                                                                 |
| `6201` | 400  | İndirimin `Rate` değeri 0 ile 100 arasında olmalı                                                                                                            |


## OpenAPI

````yaml api-reference/openapi.tr.json POST /api/v1/orders
openapi: 3.1.1
info:
  title: Noyax API
  description: Server-to-server API for integrations to access Noyax data.
  version: '1.0'
servers:
  - url: https://dev.noyax.com/services/noyax_api
security:
  - Bearer: []
tags:
  - name: Sections
  - name: Warehouses
  - name: Quotes
  - name: Product Critical Stock
  - name: Product groups
  - name: Product Parameter Definitions
  - name: Product Parameters
  - name: Product Prices
  - name: Products
  - name: Orders
  - name: Cities
  - name: Countries
  - name: Currencies
  - name: Districts
  - name: Line Groups
  - name: Shipment Definitions
  - name: Units
  - name: VAT rates
  - name: Customer Addresses
  - name: Customer Bank Accounts
  - name: Customer Definitions
  - name: Customer Group Members
  - name: Customer Links
  - name: Customer Parameters
  - name: Customer Representatives
  - name: Customers
  - name: Customer Statement
  - name: Customer Telephones
paths:
  /api/v1/orders:
    post:
      tags:
        - Orders
      summary: Sipariş oluştur
      description: >-
        Siparişi satırları ve indirimleriyle tek transaction'da oluşturur. API
        tutarları hesaplamaz ve çapraz kontrol etmez: satır tutarlarını ve
        sipariş toplamlarını sisteminizin hesapladığı şekilde gönderin (aynı
        kuralları kullanan tekliflerin hesaplamalar sayfasına bakın). Her
        satırın ürünün ana birimi cinsinden miktarını API hesaplar. OrderNumber
        "Next" gönderilirse sipariş tipinin numara serisinden üretilir.
        CreateCustomerMovement true ise cari hareket aynı transaction'da
        yazılır. Şirketin onay tanımlarının gerektirdiği onaylar ve şirketin
        varsayılan sipariş durumu da otomatik atanır.
      parameters:
        - name: X-UserID
          in: header
          description: >-
            İsteğin adına yapıldığı Noyax kullanıcısının ID'si. Oluşturulan,
            güncellenen ve silinen kayıtların denetim alanlarına yazılır.
          required: true
          schema:
            minimum: 1
            type: integer
            format: int32
        - name: X-CompanyID
          in: header
          description: >-
            Şirketin ID'si. Kullanıcı bu şirkete tanımlı olmalıdır. Bütün okuma
            ve yazma işlemleri bu şirketle sınırlıdır.
          required: true
          schema:
            minimum: 1
            type: integer
            format: int32
        - name: X-PeriodID
          in: header
          description: >-
            Muhasebe döneminin ID'si. Cari endpoint'lerinde isteğe bağlıdır;
            gönderilirse oluşturulan kayıtlara yazılır.
          schema:
            minimum: 1
            type: integer
            format: int32
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OrderRequestDto'
          text/json:
            schema:
              $ref: '#/components/schemas/OrderRequestDto'
          application/*+json:
            schema:
              $ref: '#/components/schemas/OrderRequestDto'
        required: true
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DataResultOfOrderDetailDto'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResult'
              example:
                Success: false
                ResultCode: '6012'
                Message: At least one line is required.
                Errors:
                  - Code: '6012'
                    Message: At least one line is required.
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResult'
              example:
                Success: false
                ResultCode: '0102'
                Message: Token has expired. Obtain a new token using the refresh token.
                Errors:
                  - Code: '0102'
                    Message: >-
                      Token has expired. Obtain a new token using the refresh
                      token.
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResult'
              example:
                Success: false
                ResultCode: '0110'
                Message: You do not have permission for this operation.
                Errors:
                  - Code: '0110'
                    Message: You do not have permission for this operation.
        '429':
          description: Too Many Requests
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResult'
              example:
                Success: false
                ResultCode: '0120'
                Message: Daily request limit (10000) exceeded.
                Errors:
                  - Code: '0120'
                    Message: Daily request limit (10000) exceeded.
components:
  schemas:
    OrderRequestDto:
      type: object
      properties:
        OrderType:
          type: integer
          description: >-
            Zorunlu. 1: Alış siparişi (tedarikçiye verilen), 2: Satış siparişi
            (müşteriden alınan). Cari hareketi olan siparişte değiştirilemez.
          format: int32
          example: 2
        OrderNumber:
          type:
            - 'null'
            - string
          description: >-
            Zorunlu. Sipariş numarası, şirkette aynı OrderType için benzersiz.
            Oluştururken "Next" gönderilirse şirketin o tip için sipariş
            numarası serisinden üretilir. En fazla 10 karakter.
          example: 9446A4D834
        DocumentNumber:
          type:
            - 'null'
            - string
          description: Belge numarası (serbest metin). En fazla 20 karakter.
          example: 2026-15
        Date:
          type:
            - 'null'
            - string
          description: >-
            Zorunlu. Sipariş tarihi. Tarih kısmı sipariş tarihi olarak saklanır;
            saat gönderilirse sipariş saati olarak saklanır, gönderilmezse
            şimdiki saat kullanılır.
          format: date-time
          example: '2026-09-21T10:30:00'
        Description:
          type:
            - 'null'
            - string
          description: Açıklama. En fazla 1000 karakter.
        CustomerCode:
          type:
            - 'null'
            - string
          description: >-
            Zorunlu. Cari kodu (GET /api/v1/customers'taki carinin CustomerCode
            değeri). Sipariş carinin adresiyle yazılır: carinin fatura adresi
            varsa o, yoksa ilk adresi.
          example: C-0001
        CurrencyCode:
          type:
            - 'null'
            - string
          description: >-
            Zorunlu. GET /api/v1/definitions/currencies'ten döviz kodu.
            CreateCustomerMovement true ise cari hareketin dövizi de budur.
          example: TRY
        DueDays:
          type: integer
          description: >-
            Gün cinsinden vade. 0'dan küçük olamaz. CreateCustomerMovement true
            ise cari hareketin vadesi Date + DueDays'tir (0 ise vade tarihi
            yoktur).
          format: int32
          example: 30
        DeliveryDate:
          type:
            - 'null'
            - string
          description: Teslim tarihi.
          format: date-time
        SharingCode:
          type:
            - 'null'
            - string
          description: >-
            Siparişi kimin görebileceğini sınırlayan paylaşım kodu. Boşsa herkes
            görebilir; doluysa kullanıcının paylaşım kodlarından biri olmalıdır.
        DiscountTotal:
          type: number
          description: >-
            Toplam indirim tutarı. Entegratör tarafından gönderilir, API
            hesaplamaz.
          format: double
          example: 0
        SubTotal:
          type: number
          description: >-
            Ara toplam (satır tutarlarının vergisiz toplamı). Entegratör
            tarafından gönderilir, API hesaplamaz.
          format: double
          example: 1000
        VatTotal:
          type: number
          description: Toplam KDV tutarı. Entegratör tarafından gönderilir, API hesaplamaz.
          format: double
          example: 200
        AdditionalTaxTotal:
          type: number
          description: >-
            Toplam ek vergi tutarı. Entegratör tarafından gönderilir, API
            hesaplamaz.
          format: double
          example: 0
        WithholdingTotal:
          type: number
          description: >-
            Toplam tevkifat tutarı. Entegratör tarafından gönderilir, API
            hesaplamaz.
          format: double
          example: 0
        GrandTotal:
          type: number
          description: >-
            Genel toplam. Entegratör tarafından gönderilir, API hesaplamaz.
            CreateCustomerMovement true ise cari hareketin tutarıdır.
          format: double
          example: 1200
        AverageExchangeRate:
          type: number
          description: >-
            Satırların ağırlıklı ortalama kuru. Entegratör tarafından
            gönderilir, API hesaplamaz. Her şey şirketin varsayılan dövizindeyse
            1 kullanın. CreateCustomerMovement true ise cari hareketin kuru da
            budur.
          format: double
          example: 1
        CreateCustomerMovement:
          type: boolean
          description: >-
            Siparişin cari hareketi olup olmadığı. true ise alış siparişi
            carinin hesabına GrandTotal tutarında alacak, satış siparişi borç
            hareketi oluşturur ve her güncellemede eşitler. false ise siparişin
            cari hareketi yoktur; güncellemede false mevcut hareketi kaldırır.
            Bir tahsilat ya da ödemeyle kapatılmış hareketler değiştirilemez ya
            da kaldırılamaz.
          example: true
        Lines:
          type: array
          items:
            $ref: '#/components/schemas/OrderLineRequestDto'
          description: >-
            Zorunlu, en az bir satır. Güncellemede satırlar değiştirilir:
            siparişin mevcut satırları kaldırılır, yerine bunlar kaydedilir.
    DataResultOfOrderDetailDto:
      required:
        - Success
        - ResultCode
        - Data
      type: object
      properties:
        Success:
          type: boolean
          description: İşlemin başarılı olup olmadığı.
          example: true
        ResultCode:
          type: string
          description: >-
            Başarıda "0000". Hatada ilk hatanın kodu; hataların tamamı Errors
            içinde listelenir.
          example: '0000'
        Message:
          type:
            - 'null'
            - string
          description: >-
            Success false olduğunda hata mesajı. Bütün hataların mesajları tek
            metinde birleştirilir.
        Data:
          $ref: '#/components/schemas/OrderDetailDto'
    ErrorResult:
      type: object
      properties:
        Success:
          type: boolean
          description: İşlemin başarılı olup olmadığı.
          example: false
        ResultCode:
          type:
            - 'null'
            - string
          description: >-
            Başarıda "0000". Hatada ilk hatanın kodu; hataların tamamı Errors
            içinde listelenir.
        Message:
          type:
            - 'null'
            - string
          description: >-
            Success false olduğunda hata mesajı. Bütün hataların mesajları tek
            metinde birleştirilir.
        Errors:
          type:
            - 'null'
            - array
          items:
            $ref: '#/components/schemas/ResultError'
          description: >-
            Kodlarıyla birlikte bütün hatalar. Yalnızca Success false olduğunda
            bulunur.
    OrderLineRequestDto:
      type: object
      properties:
        ProductCode:
          type:
            - 'null'
            - string
          description: Zorunlu. Ürün kodu (GET /api/v1/products'taki ürünün Code değeri).
          example: URN-0001
        UnitCode:
          type:
            - 'null'
            - string
          description: >-
            Zorunlu. Birim kodu: birimin evrensel kodu (ör. ADET için C62) ya da
            birimin evrensel kodu yoksa adı (ör. KOLİ). Ürünün kendi
            birimlerinden biri olmalı (ana birimi ya da 2./3. birimi). Ürünün
            ana birimi cinsinden miktarı API hesaplar.
          example: C62
        Quantity:
          type: number
          description: Satırın birimi cinsinden miktar. 0'dan büyük olmalı.
          format: double
          example: 10
        UnitPrice:
          type: number
          description: >-
            Satır dövizinde birim fiyat. VatIncluded true ise fiyat KDV
            dahildir. Negatif olamaz.
          format: double
          example: 100
        CurrencyCode:
          type:
            - 'null'
            - string
          description: Satırın döviz kodu. Varsayılan olarak siparişin dövizidir.
          example: TRY
        ExchangeRate:
          type: number
          description: Satır dövizinin kuru. Negatif olamaz.
          format: double
          example: 1
        DiscountRate:
          type: number
          description: >-
            Discounts'tan doğan kümülatif satır indirim oranı (%), 0 ile 100
            arasında. Entegratör tarafından gönderilir, API hesaplamaz.
          format: double
          example: 0
        DiscountAmount:
          type: number
          description: >-
            Satır indirim tutarı. Entegratör tarafından gönderilir, API
            hesaplamaz.
          format: double
          example: 0
        Discounts:
          type: array
          items:
            $ref: '#/components/schemas/OrderDiscountRequestDto'
          description: >-
            Satıra art arda uygulanan indirimler. Satırda indirim yoksa boş
            bırakın.
        VatRate:
          type: integer
          description: KDV oranı (%), 0 ile 100 arasında.
          format: int32
          example: 20
        VatIncluded:
          type: boolean
          description: UnitPrice'ın KDV dahil olup olmadığı.
          example: false
        VatAmount:
          type: number
          description: >-
            Satırın KDV tutarı. Entegratör tarafından gönderilir, API
            hesaplamaz.
          format: double
        AmountExcludingTax:
          type: number
          description: >-
            Satırın vergisiz tutarı. Entegratör tarafından gönderilir, API
            hesaplamaz.
          format: double
        AmountIncludingTax:
          type: number
          description: >-
            Satırın vergili tutarı. Entegratör tarafından gönderilir, API
            hesaplamaz.
          format: double
        VatBase:
          type: number
          description: >-
            Satırın KDV matrahı. Entegratör tarafından gönderilir, API
            hesaplamaz.
          format: double
        VatExemptionCode:
          type:
            - 'null'
            - string
          description: KDV muafiyet kodu. En fazla 10 karakter.
        LineGroupName:
          type:
            - 'null'
            - string
          description: GET /api/v1/definitions/line-groups'tan satır grubu adı.
        WarehouseName:
          type:
            - 'null'
            - string
          description: >-
            Satırın teslim edildiği ya da alındığı depo adı (GET
            /api/v1/stock/warehouses).
        Description:
          type:
            - 'null'
            - string
          description: Satır açıklaması. En fazla 255 karakter.
        Description2:
          type:
            - 'null'
            - string
          description: İkinci satır açıklaması. En fazla 255 karakter.
        DeliveryDate:
          type:
            - 'null'
            - string
          description: Satırın teslim tarihi.
          format: date-time
        AdditionalTaxCode1:
          type:
            - 'null'
            - string
          description: Ek vergi 1 kodu. En fazla 15 karakter.
        AdditionalTaxRate1:
          type: number
          description: Ek vergi 1 oranı (%).
          format: double
        AdditionalTaxAmount1:
          type: number
          description: Ek vergi 1 tutarı. Entegratör tarafından gönderilir, API hesaplamaz.
          format: double
        AdditionalTaxBase1:
          type: number
          description: >-
            Ek vergi 1 matrahı. Entegratör tarafından gönderilir, API
            hesaplamaz.
          format: double
        AdditionalTaxCode2:
          type:
            - 'null'
            - string
          description: Ek vergi 2 kodu. En fazla 15 karakter.
        AdditionalTaxRate2:
          type: number
          description: Ek vergi 2 oranı (%).
          format: double
        AdditionalTaxAmount2:
          type: number
          description: Ek vergi 2 tutarı. Entegratör tarafından gönderilir, API hesaplamaz.
          format: double
        AdditionalTaxBase2:
          type: number
          description: >-
            Ek vergi 2 matrahı. Entegratör tarafından gönderilir, API
            hesaplamaz.
          format: double
        AdditionalTaxCode3:
          type:
            - 'null'
            - string
          description: Ek vergi 3 kodu. En fazla 15 karakter.
        AdditionalTaxRate3:
          type: number
          description: Ek vergi 3 oranı (%).
          format: double
        AdditionalTaxAmount3:
          type: number
          description: Ek vergi 3 tutarı. Entegratör tarafından gönderilir, API hesaplamaz.
          format: double
        AdditionalTaxBase3:
          type: number
          description: >-
            Ek vergi 3 matrahı. Entegratör tarafından gönderilir, API
            hesaplamaz.
          format: double
        WithholdingCode:
          type:
            - 'null'
            - string
          description: Tevkifat kodu. En fazla 10 karakter.
        WithholdingNumerator:
          type: integer
          description: Tevkifat oranının payı (ör. 9/10'daki 9).
          format: int32
        WithholdingDenominator:
          type: integer
          description: Tevkifat oranının paydası (ör. 9/10'daki 10).
          format: int32
        WithheldVatAmount:
          type: number
          description: >-
            Tevkifatla kesilen KDV tutarı. Entegratör tarafından gönderilir, API
            hesaplamaz.
          format: double
    OrderDetailDto:
      type: object
      properties:
        Id:
          type: string
          description: Sipariş ID'si.
          format: uuid
        CustomerId:
          type:
            - 'null'
            - string
          description: Cari ID'si.
          format: uuid
        CurrencyId:
          type:
            - 'null'
            - string
          description: Döviz ID'si.
          format: uuid
        StatusId:
          type:
            - 'null'
            - string
          description: >-
            Siparişin güncel durumunun ID'si. Oluşturulurken şirketin varsayılan
            durumundan atanır; API bunu hiçbir zaman değiştirmez.
          format: uuid
        StatusName:
          type:
            - 'null'
            - string
          description: Siparişin güncel durum adı.
        CustomerName:
          type:
            - 'null'
            - string
          description: Cari adı.
        OrderType:
          type: integer
          description: >-
            Zorunlu. 1: Alış siparişi (tedarikçiye verilen), 2: Satış siparişi
            (müşteriden alınan). Cari hareketi olan siparişte değiştirilemez.
          format: int32
          example: 2
        OrderNumber:
          type:
            - 'null'
            - string
          description: >-
            Zorunlu. Sipariş numarası, şirkette aynı OrderType için benzersiz.
            Oluştururken "Next" gönderilirse şirketin o tip için sipariş
            numarası serisinden üretilir. En fazla 10 karakter.
          example: 9446A4D834
        DocumentNumber:
          type:
            - 'null'
            - string
          description: Belge numarası (serbest metin). En fazla 20 karakter.
          example: 2026-15
        Date:
          type:
            - 'null'
            - string
          description: >-
            Zorunlu. Sipariş tarihi. Tarih kısmı sipariş tarihi olarak saklanır;
            saat gönderilirse sipariş saati olarak saklanır, gönderilmezse
            şimdiki saat kullanılır.
          format: date-time
          example: '2026-09-21T10:30:00'
        Description:
          type:
            - 'null'
            - string
          description: Açıklama. En fazla 1000 karakter.
        CustomerCode:
          type:
            - 'null'
            - string
          description: >-
            Zorunlu. Cari kodu (GET /api/v1/customers'taki carinin CustomerCode
            değeri). Sipariş carinin adresiyle yazılır: carinin fatura adresi
            varsa o, yoksa ilk adresi.
          example: C-0001
        CurrencyCode:
          type:
            - 'null'
            - string
          description: >-
            Zorunlu. GET /api/v1/definitions/currencies'ten döviz kodu.
            CreateCustomerMovement true ise cari hareketin dövizi de budur.
          example: TRY
        DueDays:
          type: integer
          description: >-
            Gün cinsinden vade. 0'dan küçük olamaz. CreateCustomerMovement true
            ise cari hareketin vadesi Date + DueDays'tir (0 ise vade tarihi
            yoktur).
          format: int32
          example: 30
        DeliveryDate:
          type:
            - 'null'
            - string
          description: Teslim tarihi.
          format: date-time
        SharingCode:
          type:
            - 'null'
            - string
          description: >-
            Siparişi kimin görebileceğini sınırlayan paylaşım kodu. Boşsa herkes
            görebilir; doluysa kullanıcının paylaşım kodlarından biri olmalıdır.
        DiscountTotal:
          type: number
          description: >-
            Toplam indirim tutarı. Entegratör tarafından gönderilir, API
            hesaplamaz.
          format: double
          example: 0
        SubTotal:
          type: number
          description: >-
            Ara toplam (satır tutarlarının vergisiz toplamı). Entegratör
            tarafından gönderilir, API hesaplamaz.
          format: double
          example: 1000
        VatTotal:
          type: number
          description: Toplam KDV tutarı. Entegratör tarafından gönderilir, API hesaplamaz.
          format: double
          example: 200
        AdditionalTaxTotal:
          type: number
          description: >-
            Toplam ek vergi tutarı. Entegratör tarafından gönderilir, API
            hesaplamaz.
          format: double
          example: 0
        WithholdingTotal:
          type: number
          description: >-
            Toplam tevkifat tutarı. Entegratör tarafından gönderilir, API
            hesaplamaz.
          format: double
          example: 0
        GrandTotal:
          type: number
          description: >-
            Genel toplam. Entegratör tarafından gönderilir, API hesaplamaz.
            CreateCustomerMovement true ise cari hareketin tutarıdır.
          format: double
          example: 1200
        AverageExchangeRate:
          type: number
          description: >-
            Satırların ağırlıklı ortalama kuru. Entegratör tarafından
            gönderilir, API hesaplamaz. Her şey şirketin varsayılan dövizindeyse
            1 kullanın. CreateCustomerMovement true ise cari hareketin kuru da
            budur.
          format: double
          example: 1
        CreateCustomerMovement:
          type: boolean
          description: >-
            Siparişin cari hareketi olup olmadığı. true ise alış siparişi
            carinin hesabına GrandTotal tutarında alacak, satış siparişi borç
            hareketi oluşturur ve her güncellemede eşitler. false ise siparişin
            cari hareketi yoktur; güncellemede false mevcut hareketi kaldırır.
            Bir tahsilat ya da ödemeyle kapatılmış hareketler değiştirilemez ya
            da kaldırılamaz.
          example: true
        CreateDate:
          type:
            - 'null'
            - string
          description: Oluşturulma tarihi.
          format: date-time
        ModifyDate:
          type:
            - 'null'
            - string
          description: Son değişiklik tarihi.
          format: date-time
        Lines:
          type: array
          items:
            $ref: '#/components/schemas/OrderLineDto'
          description: Sipariş satırları, satır sırasıyla.
      description: Response data. Null when Success is false.
    ResultError:
      required:
        - Code
        - Message
      type: object
      properties:
        Code:
          type: string
          description: Hata kodu. Tam liste için sonuç kodları sayfasına bakın.
        Message:
          type: string
          description: Hata açıklaması.
    OrderDiscountRequestDto:
      type: object
      properties:
        Rate:
          type: number
          description: >-
            İndirim oranı (%), 0 ile 100 arasında. Bir satırın indirimleri liste
            sırasıyla art arda uygulanır: 10, 10 ve 10 satırda %27,1 indirim
            verir.
          format: double
          example: 10
    OrderLineDto:
      type: object
      properties:
        ProductId:
          type:
            - 'null'
            - string
          description: Ürün ID'si.
          format: uuid
        UnitId:
          type:
            - 'null'
            - string
          description: Birim ID'si.
          format: uuid
        CurrencyId:
          type:
            - 'null'
            - string
          description: Satırın döviz ID'si.
          format: uuid
        LineGroupId:
          type:
            - 'null'
            - string
          description: Satır grubu ID'si.
          format: uuid
        WarehouseId:
          type:
            - 'null'
            - string
          description: Depo ID'si.
          format: uuid
        ProductName:
          type:
            - 'null'
            - string
          description: Ürün adı.
        UnitName:
          type:
            - 'null'
            - string
          description: Birim adı.
          example: ADET
        MainUnitQuantity:
          type: number
          description: >-
            Ürünün ana birimine çevrilmiş miktar. Sipariş kaydedilirken API
            hesaplar: UnitId ana birimse miktarın kendisi, değilse Quantity'nin
            birimin çarpanına bölümü (ürünün o birim için miktarının karşı
            miktarına oranı, karşı miktar 0 ise 1 alınır).
          format: double
          example: 10
        ProductCode:
          type:
            - 'null'
            - string
          description: Zorunlu. Ürün kodu (GET /api/v1/products'taki ürünün Code değeri).
          example: URN-0001
        UnitCode:
          type:
            - 'null'
            - string
          description: >-
            Zorunlu. Birim kodu: birimin evrensel kodu (ör. ADET için C62) ya da
            birimin evrensel kodu yoksa adı (ör. KOLİ). Ürünün kendi
            birimlerinden biri olmalı (ana birimi ya da 2./3. birimi). Ürünün
            ana birimi cinsinden miktarı API hesaplar.
          example: C62
        Quantity:
          type: number
          description: Satırın birimi cinsinden miktar. 0'dan büyük olmalı.
          format: double
          example: 10
        UnitPrice:
          type: number
          description: >-
            Satır dövizinde birim fiyat. VatIncluded true ise fiyat KDV
            dahildir. Negatif olamaz.
          format: double
          example: 100
        CurrencyCode:
          type:
            - 'null'
            - string
          description: Satırın döviz kodu. Varsayılan olarak siparişin dövizidir.
          example: TRY
        ExchangeRate:
          type: number
          description: Satır dövizinin kuru. Negatif olamaz.
          format: double
          example: 1
        DiscountRate:
          type: number
          description: >-
            Discounts'tan doğan kümülatif satır indirim oranı (%), 0 ile 100
            arasında. Entegratör tarafından gönderilir, API hesaplamaz.
          format: double
          example: 0
        DiscountAmount:
          type: number
          description: >-
            Satır indirim tutarı. Entegratör tarafından gönderilir, API
            hesaplamaz.
          format: double
          example: 0
        Discounts:
          type: array
          items:
            $ref: '#/components/schemas/OrderDiscountRequestDto'
          description: >-
            Satıra art arda uygulanan indirimler. Satırda indirim yoksa boş
            bırakın.
        VatRate:
          type: integer
          description: KDV oranı (%), 0 ile 100 arasında.
          format: int32
          example: 20
        VatIncluded:
          type: boolean
          description: UnitPrice'ın KDV dahil olup olmadığı.
          example: false
        VatAmount:
          type: number
          description: >-
            Satırın KDV tutarı. Entegratör tarafından gönderilir, API
            hesaplamaz.
          format: double
        AmountExcludingTax:
          type: number
          description: >-
            Satırın vergisiz tutarı. Entegratör tarafından gönderilir, API
            hesaplamaz.
          format: double
        AmountIncludingTax:
          type: number
          description: >-
            Satırın vergili tutarı. Entegratör tarafından gönderilir, API
            hesaplamaz.
          format: double
        VatBase:
          type: number
          description: >-
            Satırın KDV matrahı. Entegratör tarafından gönderilir, API
            hesaplamaz.
          format: double
        VatExemptionCode:
          type:
            - 'null'
            - string
          description: KDV muafiyet kodu. En fazla 10 karakter.
        LineGroupName:
          type:
            - 'null'
            - string
          description: GET /api/v1/definitions/line-groups'tan satır grubu adı.
        WarehouseName:
          type:
            - 'null'
            - string
          description: >-
            Satırın teslim edildiği ya da alındığı depo adı (GET
            /api/v1/stock/warehouses).
        Description:
          type:
            - 'null'
            - string
          description: Satır açıklaması. En fazla 255 karakter.
        Description2:
          type:
            - 'null'
            - string
          description: İkinci satır açıklaması. En fazla 255 karakter.
        DeliveryDate:
          type:
            - 'null'
            - string
          description: Satırın teslim tarihi.
          format: date-time
        AdditionalTaxCode1:
          type:
            - 'null'
            - string
          description: Ek vergi 1 kodu. En fazla 15 karakter.
        AdditionalTaxRate1:
          type: number
          description: Ek vergi 1 oranı (%).
          format: double
        AdditionalTaxAmount1:
          type: number
          description: Ek vergi 1 tutarı. Entegratör tarafından gönderilir, API hesaplamaz.
          format: double
        AdditionalTaxBase1:
          type: number
          description: >-
            Ek vergi 1 matrahı. Entegratör tarafından gönderilir, API
            hesaplamaz.
          format: double
        AdditionalTaxCode2:
          type:
            - 'null'
            - string
          description: Ek vergi 2 kodu. En fazla 15 karakter.
        AdditionalTaxRate2:
          type: number
          description: Ek vergi 2 oranı (%).
          format: double
        AdditionalTaxAmount2:
          type: number
          description: Ek vergi 2 tutarı. Entegratör tarafından gönderilir, API hesaplamaz.
          format: double
        AdditionalTaxBase2:
          type: number
          description: >-
            Ek vergi 2 matrahı. Entegratör tarafından gönderilir, API
            hesaplamaz.
          format: double
        AdditionalTaxCode3:
          type:
            - 'null'
            - string
          description: Ek vergi 3 kodu. En fazla 15 karakter.
        AdditionalTaxRate3:
          type: number
          description: Ek vergi 3 oranı (%).
          format: double
        AdditionalTaxAmount3:
          type: number
          description: Ek vergi 3 tutarı. Entegratör tarafından gönderilir, API hesaplamaz.
          format: double
        AdditionalTaxBase3:
          type: number
          description: >-
            Ek vergi 3 matrahı. Entegratör tarafından gönderilir, API
            hesaplamaz.
          format: double
        WithholdingCode:
          type:
            - 'null'
            - string
          description: Tevkifat kodu. En fazla 10 karakter.
        WithholdingNumerator:
          type: integer
          description: Tevkifat oranının payı (ör. 9/10'daki 9).
          format: int32
        WithholdingDenominator:
          type: integer
          description: Tevkifat oranının paydası (ör. 9/10'daki 10).
          format: int32
        WithheldVatAmount:
          type: number
          description: >-
            Tevkifatla kesilen KDV tutarı. Entegratör tarafından gönderilir, API
            hesaplamaz.
          format: double
  securitySchemes:
    Bearer:
      type: http
      description: Access token obtained from the Noyax auth service with your API key.
      scheme: bearer
      bearerFormat: JWT

````