---
title: Fiyat ve stok
description: Varyant fiyatlarını ve stok miktarlarını güncelleyin.
full: true
---

## ProductStockLocation nesnesi [#ProductStockLocation]

**`ProductStockLocation`** (v1 · v2)

| Alan | Tip | Açıklama |
| --- | --- | --- |
| `createdAt` | `Timestamp` | Kaydın oluşturulma zamanı (milisaniye cinsinden Unix zaman damgası). |
| `deleted` | `Boolean!` | Kaydın silinmiş olup olmadığı. |
| `id` | `String!` | Kaydın ID değeri. |
| `productId` | `String!` |  |
| `stockCount` | `Float!` |  |
| `stockLocationId` | `String!` |  |
| `updatedAt` | `Timestamp` | Kaydın son güncellenme zamanı (milisaniye cinsinden Unix zaman damgası). |
| `variantId` | `String!` |  |

Örnek (temsili):

```json
{
  "createdAt": 1735725600000,
  "deleted": false,
  "id": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21",
  "productId": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21",
  "stockCount": 1,
  "stockLocationId": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21",
  "updatedAt": 1735725600000,
  "variantId": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21"
}
```

## Varyant fiyatlarını güncelle [#updateVariantPrices]

**`updateVariantPrices`** (mutation, v2)

İşlemin durumunu belirten yanıt.

Yalnızca v2 endpoint'inde: `https://api.myikas.com/api/v2/admin/graphql`

Parametreler:

| Alan | Tip | Açıklama |
| --- | --- | --- |
| `input` (zorunlu) | `UpdateVariantPricesInput!` | Ürünün satış kanalı listesini güncellemek için input. |

Dönen değer: `UpdateVariantPricesResponse!`

Örnek istek - Ürün fiyatı güncelleme (`POST https://api.myikas.com/api/v2/admin/graphql`):

Varyantların varsayılan fiyatlarını toplu olarak günceller. Hatalı satırlar `errors` içinde `inputArrayIndex` ile döner, diğer satırlar güncellenir.

```graphql
mutation UpdateVariantPrices($input: UpdateVariantPricesInput!) {
  updateVariantPrices(input: $input) {
    errors {
      errorCode
      inputArrayIndex
      inputData {
        productId
        variantId
        price {
          sellPrice
          discountPrice
          buyPrice
        }
      }
    }
  }
}
```

```json
{
  "input": {
    "variantPriceInputs": [
      {
        "productId": "bdc9c8ca-c2dd-494a-a092-2c68bcef4463",
        "variantId": "7ef2034a-5000-4e05-994a-a22d8c6520dc",
        "price": {
          "sellPrice": 549.9,
          "discountPrice": 449.9,
          "buyPrice": 210
        }
      },
      {
        "productId": "bdc9c8ca-c2dd-494a-a092-2c68bcef4463",
        "variantId": "25a3a3d8-6d53-4284-9c1a-87860fce34e6",
        "price": {
          "sellPrice": 549.9,
          "discountPrice": 449.9,
          "buyPrice": 210
        }
      }
    ]
  }
}
```

Örnek yanıt (temsili):

```json
{
  "data": {
    "updateVariantPrices": {
      "errors": [
        {
          "errorCode": "string",
          "inputArrayIndex": 1,
          "inputData": {
            "productId": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21",
            "variantId": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21",
            "price": {
              "sellPrice": 129.9,
              "discountPrice": 129.9,
              "buyPrice": 129.9
            }
          }
        }
      ]
    }
  }
}
```

## Varyant fiyatlarını kaydet [#saveVariantPrices]

**`saveVariantPrices`** (mutation, v1)

Varyant fiyatlarını güncellemek için bu mutation'ı kullanın. `priceListId` gönderilirse o fiyat listesindeki fiyatlar, gönderilmezse varyantın varsayılan fiyatları güncellenir. Dinamik fiyat listeleri desteklenmez.

Yalnızca v1 endpoint'inde: `https://api.myikas.com/api/v1/admin/graphql`. v2 karşılığı: `updateVariantPrices`.

Parametreler:

| Alan | Tip | Açıklama |
| --- | --- | --- |
| `input` (zorunlu) | `SaveVariantPricesInput!` | Ürünün satış kanalı listesini güncellemek için input. |

Dönen değer: `Boolean!`

Örnek istek - Varyant fiyatlarını güncelleme (`POST https://api.myikas.com/api/v1/admin/graphql`):

Bir fiyat listesindeki varyant fiyatlarını günceller. `priceListId` gönderilmezse varsayılan fiyatlar güncellenir; yeni entegrasyonlarda v2 `updateVariantPrices` tercih edilmelidir.

```graphql
mutation SaveVariantPrices($input: SaveVariantPricesInput!) {
  saveVariantPrices(input: $input)
}
```

```json
{
  "input": {
    "priceListId": "8e1c4ae5-346c-4b93-90e4-0e78c8faff46",
    "variantPriceInputs": [
      {
        "productId": "bdc9c8ca-c2dd-494a-a092-2c68bcef4463",
        "variantId": "7ef2034a-5000-4e05-994a-a22d8c6520dc",
        "price": {
          "sellPrice": 399.9,
          "buyPrice": 210
        }
      },
      {
        "productId": "bdc9c8ca-c2dd-494a-a092-2c68bcef4463",
        "variantId": "25a3a3d8-6d53-4284-9c1a-87860fce34e6",
        "price": {
          "sellPrice": 399.9,
          "buyPrice": 210
        }
      }
    ]
  }
}
```

Örnek yanıt (temsili):

```json
{
  "data": {
    "saveVariantPrices": true
  }
}
```

## Varyant stoklarını kaydet [#saveVariantStocks]

**`saveVariantStocks`** (mutation, v2)

Yeni stok tanımlamak veya stokları lokasyona göre güncellemek için bu mutation'ı kullanın.

Yalnızca v2 endpoint'inde: `https://api.myikas.com/api/v2/admin/graphql`

Parametreler:

| Alan | Tip | Açıklama |
| --- | --- | --- |
| `input` (zorunlu) | `SaveVariantStocksInput!` | İşlemin girdi nesnesi. |

Dönen değer: `SaveVariantStockResponse!`

Örnek istek - Ürün stok adedi güncelleme (`POST https://api.myikas.com/api/v2/admin/graphql`):

```graphql
mutation SaveVariantStocks($input: SaveVariantStocksInput!) {
  saveVariantStocks(input: $input) {
    errors {
      errorCode
      inputArrayIndex
      inputData {
        productId
        variantId
      }
    }
  }
}
```

```json
{
  "input": {
    "stockInputs": [
      {
        "productId": "bdc9c8ca-c2dd-494a-a092-2c68bcef4463",
        "variantId": "7ef2034a-5000-4e05-994a-a22d8c6520dc",
        "stockLocationId": "a19251e4-4edd-4005-9e93-15b4de91dcfb",
        "stockCount": 42
      },
      {
        "productId": "719421dd-f13d-4354-a2aa-2f2437f6ab02",
        "variantId": "02bb8363-2336-4b8a-ad57-e2c685f48ce3",
        "stockLocationId": "a19251e4-4edd-4005-9e93-15b4de91dcfb",
        "stockCount": 18
      }
    ]
  }
}
```

Örnek yanıt (temsili):

```json
{
  "data": {
    "saveVariantStocks": {
      "errors": [
        {
          "errorCode": "string",
          "inputArrayIndex": 1,
          "inputData": {
            "productId": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21",
            "variantId": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21"
          }
        }
      ]
    }
  }
}
```

## Ürün stoklarını listele [#listProductStockLocation]

**`listProductStockLocation`** (query, v1 · v2)

Parametreler:

| Alan | Tip | Açıklama |
| --- | --- | --- |
| `id` | `StringFilterInput` | Kaydın ID değeri. |
| `pagination` (yalnızca v1) | `PaginationInput` | Sayfalama ayarları (`page`, `limit`). Bkz. [Sayfalama](/docs/admin-api/pagination-and-filtering). |
| `productId` (yalnızca v1) | `StringFilterInput` |  |
| `sort` (yalnızca v1) | `String` | Sıralama alanı. Azalan sıralama için başına `-` ekleyin, örneğin `-createdAt`. |
| `stockLocationId` (yalnızca v1) | `StringFilterInput` |  |
| `updatedAt` (yalnızca v1) | `DateFilterInput` | Kaydın son güncellenme zamanı (milisaniye cinsinden Unix zaman damgası). |
| `variantId` (yalnızca v1) | `StringFilterInput` |  |

Dönen değer: `[ProductStockLocation!]!` (v1: `ProductStockLocationPaginationResponse!`)

Örnek istek - Ürün stoklarını listeleme (`POST https://api.myikas.com/api/v2/admin/graphql`):

```graphql
{
  listProductStockLocation {
    createdAt
    deleted
    id
    productId
    stockCount
    stockLocationId
    updatedAt
    variantId
  }
}
```

Örnek yanıt:

```json
{
  "data": {
    "listProductStockLocation": {}
  }
}
```

## Ürün stoklarını kaydet [#saveProductStockLocations]

**`saveProductStockLocations`** (mutation, v1)

Yeni stok tanımlamak veya stokları lokasyona göre güncellemek için bu mutation'ı kullanın.

Yalnızca v1 endpoint'inde: `https://api.myikas.com/api/v1/admin/graphql`.

Parametreler:

| Alan | Tip | Açıklama |
| --- | --- | --- |
| `input` (zorunlu) | `SaveStockLocationsInput!` | İşlemin girdi nesnesi. |

Dönen değer: `Boolean!`

Örnek istek - Ürün stoklarını oluşturma veya güncelleme (`POST https://api.myikas.com/api/v1/admin/graphql`):

Varyantların lokasyon bazlı stok adetlerini tanımlar veya günceller. Yeni entegrasyonlarda v2 `saveVariantStocks` tercih edilmelidir.

```graphql
mutation SaveProductStockLocations($input: SaveStockLocationsInput!) {
  saveProductStockLocations(input: $input)
}
```

```json
{
  "input": {
    "productStockLocationInputs": [
      {
        "productId": "bdc9c8ca-c2dd-494a-a092-2c68bcef4463",
        "variantId": "7ef2034a-5000-4e05-994a-a22d8c6520dc",
        "stockLocationId": "a19251e4-4edd-4005-9e93-15b4de91dcfb",
        "stockCount": 42
      },
      {
        "productId": "bdc9c8ca-c2dd-494a-a092-2c68bcef4463",
        "variantId": "25a3a3d8-6d53-4284-9c1a-87860fce34e6",
        "stockLocationId": "a19251e4-4edd-4005-9e93-15b4de91dcfb",
        "stockCount": 35
      }
    ]
  }
}
```

Örnek yanıt (temsili):

```json
{
  "data": {
    "saveProductStockLocations": true
  }
}
```
