> ## 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 oluştur

> Ürünü ve alt kayıtlarını tek transaction'da oluşturur.

Ürün ve bütün alt kayıtlar **tek transaction'da** yazılır: kayıtlardan biri geçersizse hiçbiri kaydedilmez, bütün hatalar tek `Message`'da döner.

<CardGroup cols={2}>
  <Card title="Alan kuralları" icon="list-check" href="/tr/v1/products/overview">Zorunlu alanlar, tip listeleri ve grup kuralları.</Card>
  <Card title="Fiyatlar" icon="tag" href="/tr/v1/products/prices/create">Fiyat/indirim kuralları ve kapsam.</Card>
</CardGroup>

* `Code`, `Name` ve `UnitId` zorunludur; diğer alanlar isteğe bağlıdır.
* `Code` yerine `"Next"` gönderilirse kod **ÜRÜN** seri tanımından üretilir.
* `Parameters` ve `CriticalStock`, ilgili [parametre](/tr/v1/products/parameters/create) ve [kritik stok](/tr/v1/products/critical-stock/create) kayıtlarıyla aynı kuralları kullanır. `Prices`'ta `UnitId` yalnızca ürünün kendi `UnitId`'si olabilir; ürün henüz oluşturulmadığı için 2./3. birim yoktur.
* İstenmeyen alt kayıt listesi için `[]` gönderilir. Başarılı yanıt **201 Created** döner; `Location` header'ı yeni ürünü gösterir.


## OpenAPI

````yaml api-reference/openapi.tr.json POST /api/v1/products
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://api.noyax.com
security:
  - Bearer: []
tags:
  - name: Sections
  - name: Warehouses
  - name: Product Critical Stock
  - name: Product groups
  - name: Product Parameter Definitions
  - name: Product Parameters
  - name: Product Prices
  - name: Products
  - name: Cities
  - name: Countries
  - name: Currencies
  - name: Districts
  - 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/products:
    post:
      tags:
        - Products
      summary: Ürün oluştur
      description: >-
        Ürünü ve alt kayıtlarını (parametreler, fiyatlar, kritik stok) tek
        transaction'da oluşturur. Code, Name ve UnitId zorunludur. Code alanını
        "Next" gönderirseniz kod "ÜRÜN" seri tanımından üretilir.
      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/ProductCreateRequestDto'
          text/json:
            schema:
              $ref: '#/components/schemas/ProductCreateRequestDto'
          application/*+json:
            schema:
              $ref: '#/components/schemas/ProductCreateRequestDto'
        required: true
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DataResultOfProductDetailDto'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResult'
              example:
                Success: false
                ResultCode: '2005'
                Message: UnitId is required.
                Errors:
                  - Code: '2005'
                    Message: UnitId 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:
    ProductCreateRequestDto:
      type: object
      properties:
        Code:
          type:
            - 'null'
            - string
          description: >-
            Zorunlu. Ürün kodu, şirket içinde benzersiz olmalıdır. "Next"
            gönderilirse kod "ÜRÜN" seri tanımından üretilir (yalnızca
            oluştururken). En fazla 50 karakter.
          example: URN-0001
        Name:
          type:
            - 'null'
            - string
          description: Zorunlu. Ürün tanımı. En fazla 255 karakter.
          example: VİDA 5X40 GALVANİZ
        UnitId:
          type:
            - 'null'
            - string
          description: Zorunlu. GET /api/v1/definitions/units ile dönen ana birimin ID'si.
          format: uuid
        Barcode:
          type:
            - 'null'
            - string
          description: Ana birimin barkodu. En fazla 30 karakter.
          example: '8690000000017'
        ProductType:
          type: integer
          description: >-
            Ürün tipi: 1 İlk madde, 2 Yarı mamül, 3 Mamül, 4 Ticari mal, 5
            Hizmet. Varsayılan 4.
          format: int32
          example: 4
        StockType:
          type: integer
          description: >-
            Stok tipi: 1 Stok tutma, 2 Stok tut, 3 Lot, 4 FIFO, 5 Seri, 6 LIFO,
            7 FEFO. Varsayılan 1.
          format: int32
          example: 2
        VatRateId:
          type:
            - 'null'
            - string
          description: GET /api/v1/definitions/vat-rates ile dönen KDV oranının ID'si.
          format: uuid
        AdditionalTaxCode1:
          type:
            - 'null'
            - string
          description: Ek vergi kodu 1. En fazla 15 karakter.
        AdditionalTaxRate1:
          type: number
          description: Yüzde olarak ek vergi oranı 1.
          format: double
        AdditionalTaxCode2:
          type:
            - 'null'
            - string
          description: Ek vergi kodu 2. En fazla 15 karakter.
        AdditionalTaxRate2:
          type: number
          description: Yüzde olarak ek vergi oranı 2.
          format: double
        AdditionalTaxCode3:
          type:
            - 'null'
            - string
          description: Ek vergi kodu 3. En fazla 15 karakter.
        AdditionalTaxRate3:
          type: number
          description: Yüzde olarak ek vergi oranı 3.
          format: double
        IsOutOfUse:
          type: boolean
          description: >-
            Ürünün kullanım dışı olup olmadığı. Kullanım dışı ürünler saklanır
            ama yeni kayıtlarda önerilmez.
          example: false
        ManufacturerCode:
          type:
            - 'null'
            - string
          description: Üretici kodu. En fazla 50 karakter.
        SupplierCode:
          type:
            - 'null'
            - string
          description: Tedarikçi kodu. En fazla 50 karakter.
        GroupDetailId1:
          type:
            - 'null'
            - string
          description: >-
            GET /api/v1/products/groups ile dönen 1. grup detayının ID'si. Grup
            1 detaylarının üstü olmadığı için hepsi seçilebilir.
          format: uuid
        GroupDetailId2:
          type:
            - 'null'
            - string
          description: >-
            2. grup detayının ID'si. Ya üstü boş olmalı ya da üstü
            GroupDetailId1 ile seçilen detay olmalıdır.
          format: uuid
        GroupDetailId3:
          type:
            - 'null'
            - string
          description: >-
            3. grup detayının ID'si. Ya üstü boş olmalı ya da üstü
            GroupDetailId2 ile seçilen detay olmalıdır.
          format: uuid
        GroupDetailId4:
          type:
            - 'null'
            - string
          description: >-
            4. grup detayının ID'si. Ya üstü boş olmalı ya da üstü
            GroupDetailId3 ile seçilen detay olmalıdır.
          format: uuid
        GroupDetailId5:
          type:
            - 'null'
            - string
          description: >-
            5. grup detayının ID'si. Ya üstü boş olmalı ya da üstü
            GroupDetailId4 ile seçilen detay olmalıdır.
          format: uuid
        ShelfNumber:
          type:
            - 'null'
            - string
          description: Raf numarası. En fazla 20 karakter.
          example: A-12
        Description:
          type:
            - 'null'
            - string
          description: Açıklama. En fazla 255 karakter.
        SerialNumberIndex:
          type: integer
          description: Seri takibinde kullanılan seri no indeksi.
          format: int32
        ECommerceProductCode:
          type:
            - 'null'
            - string
          description: >-
            E-ticaret entegrasyonunun kullandığı ürün kodu. En fazla 50
            karakter.
        IsFavourite:
          type: boolean
          description: Ürünün favori olarak işaretlenip işaretlenmediği.
          example: false
        Gtip:
          type:
            - 'null'
            - string
          description: >-
            İhracat faturalarında kullanılan GTİP numarası. En fazla 20
            karakter.
          example: '7318159000'
        DeliveryTerm:
          type:
            - 'null'
            - string
          description: >-
            İhracat faturalarında kullanılan teslim şekli kodu (Incoterms, ör.
            EXW, FCA, CIF). En fazla 10 karakter.
          example: EXW
        PackagingType:
          type:
            - 'null'
            - string
          description: >-
            İhracat faturalarında kullanılan paketleme tipi kodu. En fazla 10
            karakter.
          example: BX
        TransportMode:
          type: integer
          description: >-
            İhracat faturalarında kullanılan taşıma modu: 0 belirtilmemiş, 1
            Denizyolu, 2 Demiryolu, 3 Karayolu, 4 Havayolu, 5 Posta, 6 Çok
            araçlı, 7 Sabit taşıma tesisleri, 8 İç su yolu. Bu liste, sevkiyat
            tanımındaki TransportMode listesinden farklıdır.
          format: int32
          example: 3
        Brand:
          type:
            - 'null'
            - string
          description: Marka. En fazla 100 karakter.
        Model:
          type:
            - 'null'
            - string
          description: Model. En fazla 100 karakter.
        OriginCountryCode:
          type:
            - 'null'
            - string
          description: >-
            İhracat faturalarında kullanılan menşei ülke kodu (ISO 3166-1
            alpha-2). En fazla 10 karakter.
          example: TR
        Parameters:
          type: array
          items:
            $ref: '#/components/schemas/ProductParameterRequestDto'
          description: Özel parametre değerleri.
        Prices:
          type: array
          items:
            $ref: '#/components/schemas/ProductPriceRequestDto'
          description: >-
            Fiyatlar/indirimler. UnitId, ürünün kendi UnitId'si olmalıdır;
            oluşturma sırasında ürünün henüz 2./3. birimi yoktur.
        CriticalStock:
          type: array
          items:
            $ref: '#/components/schemas/ProductCriticalStockRequestDto'
          description: >-
            Kritik stok tanımları, depo başına bir tane. StockType 1 (stok
            tutulmuyor) iken gönderilemez.
    DataResultOfProductDetailDto:
      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/ProductDetailDto'
    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.
    ProductParameterRequestDto:
      type: object
      properties:
        ParameterDefinitionId:
          type:
            - 'null'
            - string
          description: >-
            Zorunlu. GET /api/v1/products/parameter-definitions ile dönen bir
            parametre tanımının ID'si.
          format: uuid
        Value:
          description: >-
            Zorunlu. Biçim, tanımın tipine göre değişir. 0: Metin, 1:
            true/false, 2: Tamsayı, 3: Ondalık (ayraç olarak nokta), 4: Tarih,
            5: Saat, 6: Tarih ve saat (ISO 8601, ör. "2026-09-17T14:30:00").
          example: Galvaniz
    ProductPriceRequestDto:
      type: object
      properties:
        PriceType:
          type: integer
          description: 'Zorunlu. 1: Alış, 2: Satış.'
          format: int32
          example: 2
        Price:
          type: number
          description: Zorunlu. Sıfırdan büyük olmalıdır.
          format: double
          example: 450
        CurrencyId:
          type:
            - 'null'
            - string
          description: >-
            Zorunlu. GET /api/v1/definitions/currencies ile dönen bir dövizin
            ID'si.
          format: uuid
        IncludesVat:
          type: boolean
          description: Price alanının KDV dahil olup olmadığı.
          example: false
        Discount:
          type: number
          description: >-
            IsDiscountPercentage alanına göre indirim tutarı ya da yüzdesi.
            Negatif olamaz.
          format: double
          example: 10
        IsDiscountPercentage:
          type: boolean
          description: >-
            Discount alanının sabit tutar yerine yüzde (0-100) olup olmadığı.
            Varsayılan true.
          example: true
        UnitId:
          type:
            - 'null'
            - string
          description: >-
            Zorunlu. Ürünün kendi birimlerinden biri olmalıdır: ürünün ana
            birimi (UnitId) ya da, ürünün 2./3. birimi varsa onlardan biri.
          format: uuid
        StartDate:
          type:
            - 'null'
            - string
          description: Zorunlu. Geçerlilik döneminin başlangıcı.
          format: date-time
        EndDate:
          type:
            - 'null'
            - string
          description: Zorunlu. Geçerlilik döneminin bitişi. StartDate'ten sonra olmalıdır.
          format: date-time
        CustomerId:
          type:
            - 'null'
            - string
          description: >-
            Kapsam: yalnızca bu cariye uygulanır. CustomerGroupId ya da
            CustomerGroupDetailId ile birlikte gönderilemez. Genel fiyat için
            bütün kapsam alanlarını boş bırakın.
          format: uuid
        CustomerGroupId:
          type:
            - 'null'
            - string
          description: >-
            Kapsam: GET /api/v1/customers/groups ile dönen bu gruptaki her
            cariye uygulanır; CustomerGroupDetailId gönderilirse tek bir detaya
            daralır. CustomerId ile birlikte gönderilemez.
          format: uuid
        CustomerGroupDetailId:
          type:
            - 'null'
            - string
          description: >-
            Kapsam: CustomerGroupId'yi bu grup detayına sahip carilerle
            daraltır. CustomerGroupId'nin dolu olmasını gerektirir.
          format: uuid
        Description:
          type:
            - 'null'
            - string
          description: Açıklama. En fazla 255 karakter.
    ProductCriticalStockRequestDto:
      type: object
      properties:
        WarehouseId:
          type:
            - 'null'
            - string
          description: Zorunlu. GET /api/v1/stock/warehouses ile dönen bir deponun ID'si.
          format: uuid
        MinStock:
          type: number
          description: Asgari stok seviyesi. Negatif olamaz.
          format: double
          example: 10
        MaxStock:
          type: number
          description: >-
            Azami stok seviyesi. Negatif olamaz; 0 üst sınır olmadığı anlamına
            gelir. Sıfırdan büyükse MinStock'tan küçük olamaz.
          format: double
          example: 500
        MaxStockControl:
          type: integer
          description: >-
            MaxStock aşıldığında ne olacağı. 0: Devam et, 1: Kullanıcıyı uyar,
            2: İşlemi durdur.
          format: int32
          example: 1
        MinStockControl:
          type: integer
          description: >-
            Stok MinStock'un altına düştüğünde ne olacağı. 0: Devam et, 1:
            Kullanıcıyı uyar, 2: İşlemi durdur.
          format: int32
          example: 1
        NegativeStockControl:
          type: integer
          description: >-
            Stok negatife düşecekse ne olacağı. 0: Devam et, 1: Kullanıcıyı
            uyar, 2: İşlemi durdur.
          format: int32
          example: 2
    ProductDetailDto:
      type: object
      properties:
        Id:
          type: string
          description: Ürün ID'si.
          format: uuid
        UnitName:
          type:
            - 'null'
            - string
          description: Ana birimin adı.
          example: ADET
        VatRate:
          type:
            - 'null'
            - integer
          description: KDV oranı tanımından gelen, yüzde olarak KDV oranı.
          format: int32
          example: 20
        Code:
          type:
            - 'null'
            - string
          description: >-
            Zorunlu. Ürün kodu, şirket içinde benzersiz olmalıdır. "Next"
            gönderilirse kod "ÜRÜN" seri tanımından üretilir (yalnızca
            oluştururken). En fazla 50 karakter.
          example: URN-0001
        Name:
          type:
            - 'null'
            - string
          description: Zorunlu. Ürün tanımı. En fazla 255 karakter.
          example: VİDA 5X40 GALVANİZ
        UnitId:
          type:
            - 'null'
            - string
          description: Zorunlu. GET /api/v1/definitions/units ile dönen ana birimin ID'si.
          format: uuid
        Barcode:
          type:
            - 'null'
            - string
          description: Ana birimin barkodu. En fazla 30 karakter.
          example: '8690000000017'
        ProductType:
          type: integer
          description: >-
            Ürün tipi: 1 İlk madde, 2 Yarı mamül, 3 Mamül, 4 Ticari mal, 5
            Hizmet. Varsayılan 4.
          format: int32
          example: 4
        StockType:
          type: integer
          description: >-
            Stok tipi: 1 Stok tutma, 2 Stok tut, 3 Lot, 4 FIFO, 5 Seri, 6 LIFO,
            7 FEFO. Varsayılan 1.
          format: int32
          example: 2
        VatRateId:
          type:
            - 'null'
            - string
          description: GET /api/v1/definitions/vat-rates ile dönen KDV oranının ID'si.
          format: uuid
        AdditionalTaxCode1:
          type:
            - 'null'
            - string
          description: Ek vergi kodu 1. En fazla 15 karakter.
        AdditionalTaxRate1:
          type: number
          description: Yüzde olarak ek vergi oranı 1.
          format: double
        AdditionalTaxCode2:
          type:
            - 'null'
            - string
          description: Ek vergi kodu 2. En fazla 15 karakter.
        AdditionalTaxRate2:
          type: number
          description: Yüzde olarak ek vergi oranı 2.
          format: double
        AdditionalTaxCode3:
          type:
            - 'null'
            - string
          description: Ek vergi kodu 3. En fazla 15 karakter.
        AdditionalTaxRate3:
          type: number
          description: Yüzde olarak ek vergi oranı 3.
          format: double
        IsOutOfUse:
          type: boolean
          description: >-
            Ürünün kullanım dışı olup olmadığı. Kullanım dışı ürünler saklanır
            ama yeni kayıtlarda önerilmez.
          example: false
        ManufacturerCode:
          type:
            - 'null'
            - string
          description: Üretici kodu. En fazla 50 karakter.
        SupplierCode:
          type:
            - 'null'
            - string
          description: Tedarikçi kodu. En fazla 50 karakter.
        GroupDetailId1:
          type:
            - 'null'
            - string
          description: >-
            GET /api/v1/products/groups ile dönen 1. grup detayının ID'si. Grup
            1 detaylarının üstü olmadığı için hepsi seçilebilir.
          format: uuid
        GroupDetailId2:
          type:
            - 'null'
            - string
          description: >-
            2. grup detayının ID'si. Ya üstü boş olmalı ya da üstü
            GroupDetailId1 ile seçilen detay olmalıdır.
          format: uuid
        GroupDetailId3:
          type:
            - 'null'
            - string
          description: >-
            3. grup detayının ID'si. Ya üstü boş olmalı ya da üstü
            GroupDetailId2 ile seçilen detay olmalıdır.
          format: uuid
        GroupDetailId4:
          type:
            - 'null'
            - string
          description: >-
            4. grup detayının ID'si. Ya üstü boş olmalı ya da üstü
            GroupDetailId3 ile seçilen detay olmalıdır.
          format: uuid
        GroupDetailId5:
          type:
            - 'null'
            - string
          description: >-
            5. grup detayının ID'si. Ya üstü boş olmalı ya da üstü
            GroupDetailId4 ile seçilen detay olmalıdır.
          format: uuid
        ShelfNumber:
          type:
            - 'null'
            - string
          description: Raf numarası. En fazla 20 karakter.
          example: A-12
        Description:
          type:
            - 'null'
            - string
          description: Açıklama. En fazla 255 karakter.
        SerialNumberIndex:
          type: integer
          description: Seri takibinde kullanılan seri no indeksi.
          format: int32
        ECommerceProductCode:
          type:
            - 'null'
            - string
          description: >-
            E-ticaret entegrasyonunun kullandığı ürün kodu. En fazla 50
            karakter.
        IsFavourite:
          type: boolean
          description: Ürünün favori olarak işaretlenip işaretlenmediği.
          example: false
        Gtip:
          type:
            - 'null'
            - string
          description: >-
            İhracat faturalarında kullanılan GTİP numarası. En fazla 20
            karakter.
          example: '7318159000'
        DeliveryTerm:
          type:
            - 'null'
            - string
          description: >-
            İhracat faturalarında kullanılan teslim şekli kodu (Incoterms, ör.
            EXW, FCA, CIF). En fazla 10 karakter.
          example: EXW
        PackagingType:
          type:
            - 'null'
            - string
          description: >-
            İhracat faturalarında kullanılan paketleme tipi kodu. En fazla 10
            karakter.
          example: BX
        TransportMode:
          type: integer
          description: >-
            İhracat faturalarında kullanılan taşıma modu: 0 belirtilmemiş, 1
            Denizyolu, 2 Demiryolu, 3 Karayolu, 4 Havayolu, 5 Posta, 6 Çok
            araçlı, 7 Sabit taşıma tesisleri, 8 İç su yolu. Bu liste, sevkiyat
            tanımındaki TransportMode listesinden farklıdır.
          format: int32
          example: 3
        Brand:
          type:
            - 'null'
            - string
          description: Marka. En fazla 100 karakter.
        Model:
          type:
            - 'null'
            - string
          description: Model. En fazla 100 karakter.
        OriginCountryCode:
          type:
            - 'null'
            - string
          description: >-
            İhracat faturalarında kullanılan menşei ülke kodu (ISO 3166-1
            alpha-2). En fazla 10 karakter.
          example: TR
        Parameters:
          type: array
          items:
            $ref: '#/components/schemas/ProductParameterDto'
          description: Özel parametre değerleri.
        Prices:
          type: array
          items:
            $ref: '#/components/schemas/ProductPriceDto'
          description: Fiyatlar/indirimler.
        CriticalStock:
          type: array
          items:
            $ref: '#/components/schemas/ProductCriticalStockDto'
          description: Kritik stok tanımları.
      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ı.
    ProductParameterDto:
      type: object
      properties:
        Id:
          type: string
          description: Parametre ID'si.
          format: uuid
        ProductId:
          type: string
          description: Ürün ID'si.
          format: uuid
        ParameterDefinitionId:
          type:
            - 'null'
            - string
          description: Parametre tanımı ID'si.
          format: uuid
        ParameterName:
          type:
            - 'null'
            - string
          description: Parametre tanımının adı.
          example: Malzeme
        ParameterType:
          type:
            - 'null'
            - integer
          description: >-
            0: Metin, 1: Evet/Hayır, 2: Tamsayı, 3: Ondalık, 4: Tarih, 5: Saat,
            6: Tarih ve saat.
          format: int32
        Value:
          description: ParameterType alanının belirttiği biçimde değer.
    ProductPriceDto:
      type: object
      properties:
        Id:
          type: string
          description: Fiyat/indirim satırı ID'si.
          format: uuid
        ProductId:
          type: string
          description: Ürün ID'si.
          format: uuid
        CurrencyCode:
          type:
            - 'null'
            - string
          description: Döviz kodu.
          example: TRY
        UnitName:
          type:
            - 'null'
            - string
          description: UnitId doluysa, birimin adı.
        CustomerName:
          type:
            - 'null'
            - string
          description: CustomerId doluysa, carinin adı.
        CustomerGroupName:
          type:
            - 'null'
            - string
          description: CustomerGroupId doluysa, cari grubunun adı.
        CustomerGroupDetailName:
          type:
            - 'null'
            - string
          description: CustomerGroupDetailId doluysa, cari grup detayının adı.
        PriceType:
          type: integer
          description: 'Zorunlu. 1: Alış, 2: Satış.'
          format: int32
          example: 2
        Price:
          type: number
          description: Zorunlu. Sıfırdan büyük olmalıdır.
          format: double
          example: 450
        CurrencyId:
          type:
            - 'null'
            - string
          description: >-
            Zorunlu. GET /api/v1/definitions/currencies ile dönen bir dövizin
            ID'si.
          format: uuid
        IncludesVat:
          type: boolean
          description: Price alanının KDV dahil olup olmadığı.
          example: false
        Discount:
          type: number
          description: >-
            IsDiscountPercentage alanına göre indirim tutarı ya da yüzdesi.
            Negatif olamaz.
          format: double
          example: 10
        IsDiscountPercentage:
          type: boolean
          description: >-
            Discount alanının sabit tutar yerine yüzde (0-100) olup olmadığı.
            Varsayılan true.
          example: true
        UnitId:
          type:
            - 'null'
            - string
          description: >-
            Zorunlu. Ürünün kendi birimlerinden biri olmalıdır: ürünün ana
            birimi (UnitId) ya da, ürünün 2./3. birimi varsa onlardan biri.
          format: uuid
        StartDate:
          type:
            - 'null'
            - string
          description: Zorunlu. Geçerlilik döneminin başlangıcı.
          format: date-time
        EndDate:
          type:
            - 'null'
            - string
          description: Zorunlu. Geçerlilik döneminin bitişi. StartDate'ten sonra olmalıdır.
          format: date-time
        CustomerId:
          type:
            - 'null'
            - string
          description: >-
            Kapsam: yalnızca bu cariye uygulanır. CustomerGroupId ya da
            CustomerGroupDetailId ile birlikte gönderilemez. Genel fiyat için
            bütün kapsam alanlarını boş bırakın.
          format: uuid
        CustomerGroupId:
          type:
            - 'null'
            - string
          description: >-
            Kapsam: GET /api/v1/customers/groups ile dönen bu gruptaki her
            cariye uygulanır; CustomerGroupDetailId gönderilirse tek bir detaya
            daralır. CustomerId ile birlikte gönderilemez.
          format: uuid
        CustomerGroupDetailId:
          type:
            - 'null'
            - string
          description: >-
            Kapsam: CustomerGroupId'yi bu grup detayına sahip carilerle
            daraltır. CustomerGroupId'nin dolu olmasını gerektirir.
          format: uuid
        Description:
          type:
            - 'null'
            - string
          description: Açıklama. En fazla 255 karakter.
    ProductCriticalStockDto:
      type: object
      properties:
        Id:
          type: string
          description: Kritik stok tanımı ID'si.
          format: uuid
        ProductId:
          type: string
          description: Ürün ID'si.
          format: uuid
        WarehouseName:
          type:
            - 'null'
            - string
          description: Depo adı.
          example: A DEPO
        WarehouseId:
          type:
            - 'null'
            - string
          description: Zorunlu. GET /api/v1/stock/warehouses ile dönen bir deponun ID'si.
          format: uuid
        MinStock:
          type: number
          description: Asgari stok seviyesi. Negatif olamaz.
          format: double
          example: 10
        MaxStock:
          type: number
          description: >-
            Azami stok seviyesi. Negatif olamaz; 0 üst sınır olmadığı anlamına
            gelir. Sıfırdan büyükse MinStock'tan küçük olamaz.
          format: double
          example: 500
        MaxStockControl:
          type: integer
          description: >-
            MaxStock aşıldığında ne olacağı. 0: Devam et, 1: Kullanıcıyı uyar,
            2: İşlemi durdur.
          format: int32
          example: 1
        MinStockControl:
          type: integer
          description: >-
            Stok MinStock'un altına düştüğünde ne olacağı. 0: Devam et, 1:
            Kullanıcıyı uyar, 2: İşlemi durdur.
          format: int32
          example: 1
        NegativeStockControl:
          type: integer
          description: >-
            Stok negatife düşecekse ne olacağı. 0: Devam et, 1: Kullanıcıyı
            uyar, 2: İşlemi durdur.
          format: int32
          example: 2
  securitySchemes:
    Bearer:
      type: http
      description: Access token obtained from the Noyax auth service with your API key.
      scheme: bearer
      bearerFormat: JWT

````