---
title: Kategoriler
description: Ürün kategorilerini yönetin.
full: true
---

## Category nesnesi [#Category]

**`Category`** (v1 · v2)

| Alan | Tip | Açıklama |
| --- | --- | --- |
| `categoryPath` | `[String!]` | Kategorinin tüm üst kategorilerinin ID'lerini içeren liste. |
| `categoryPathItems` | `[CategoryPathItem!]` | Kategorinin tüm üst kategorileri; her öğe üst kategorinin ID ve adını içerir. |
| `conditions` | `[CategoryCondition!]` |  |
| `createdAt` | `Timestamp` | Kaydın oluşturulma zamanı (milisaniye cinsinden Unix zaman damgası). |
| `deleted` | `Boolean!` | Kaydın silinmiş olup olmadığı. |
| `description` | `String` | Ürünün kategorisinin açıklaması. |
| `id` | `String!` | Kaydın ID değeri. |
| `imageId` | `String` | Kategori görselinin sistemde tutulduğu ID. |
| `isAutomated` | `Boolean` |  |
| `metaData` | `HTMLMetaData` | Ürün kategorisinin metadata bilgisi. |
| `name` | `String!` | Ürünün bulunduğu kategorinin adı. |
| `orderType` | `CategoryProductsOrderTypeEnum` | Değerler: `BEST_SELLER`, `HIGHEST_DISCOUNT_RATIO`, `HIGHEST_PRICE`, `LOWEST_DISCOUNT_RATIO`, `LOWEST_PRICE`, `MANUALLY`, `NAME_ASC`, `NAME_DESC`, `NEWEST`, `OLDEST`. |
| `parentId` | `String` | Kategorinin üst kategorisinin ID'si. |
| `salesChannelIds` | `[String!]` | Ürün kategorisinin hangi satış kanalında yer aldığı bilgisi. |
| `salesChannels` | `[CategorySalesChannel!]` | Kategorinin gizli satış kanallarının listesi. |
| `shouldMatchAllConditions` | `Boolean` |  |
| `translations` | `[CategoryTranslation!]` | Ürün kategorisinin çeviri bilgisi. |
| `updatedAt` | `Timestamp` | Kaydın son güncellenme zamanı (milisaniye cinsinden Unix zaman damgası). |

Örnek (temsili):

```json
{
  "categoryPath": [
    "string"
  ],
  "categoryPathItems": [
    {
      "createdAt": 1735725600000,
      "deleted": false,
      "description": "Örnek açıklama",
      "id": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21",
      "imageId": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21",
      "isAutomated": true,
      "metaData": null,
      "name": "Örnek",
      "translations": null,
      "updatedAt": 1735725600000
    }
  ],
  "conditions": [
    {
      "conditionType": "CAMPAIGN",
      "method": "IN",
      "valueList": [
        "string"
      ]
    }
  ],
  "createdAt": 1735725600000,
  "deleted": false,
  "description": "Örnek açıklama",
  "id": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21",
  "imageId": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21",
  "isAutomated": true,
  "metaData": {
    "canonicals": [
      "string"
    ],
    "createdAt": 1735725600000,
    "deleted": false,
    "description": "Örnek açıklama",
    "disableIndex": true,
    "id": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21",
    "metadataOverrides": null,
    "pageTitle": "string",
    "redirectTo": "string",
    "slug": "ornek-urun",
    "targetId": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21",
    "targetType": "BRAND",
    "translations": null,
    "updatedAt": 1735725600000
  },
  "name": "Örnek",
  "orderType": "BEST_SELLER",
  "parentId": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21",
  "salesChannelIds": [
    "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21"
  ],
  "salesChannels": [
    {
      "id": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21",
      "status": "HIDDEN"
    }
  ],
  "shouldMatchAllConditions": true,
  "translations": [
    {
      "description": "Örnek açıklama",
      "locale": "tr",
      "name": "Örnek"
    }
  ],
  "updatedAt": 1735725600000
}
```

## Kategorileri listele [#listCategory]

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

Parametreler:

| Alan | Tip | Açıklama |
| --- | --- | --- |
| `id` | `StringFilterInput` | Kaydın ID değeri. |
| `search` | `String` | Listeleme API'lerinde belirtilen alanlarda arama yapılmasını sağlar. Örnek: searchableFields=['name', 'description'] ve search='AAA' ise, API name veya description alanında 'AAA' içeren kayıtları döndürür. |
| `updatedAt` | `DateFilterInput` | Kaydın son güncellenme zamanı (milisaniye cinsinden Unix zaman damgası). |
| `categoryPath` (yalnızca v1) | `CategoryPathFilterInput` | Ürünün kategori yoluna göre filtreleyebilirsiniz. |

Dönen değer: `[Category!]!`

Örnek istek - Kategorileri listeleme (`POST https://api.myikas.com/api/v2/admin/graphql`):

```graphql
{
  listCategory {
    id
    name
  }
}
```

Örnek yanıt:

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

## Kategori oluştur [#createCategory]

**`createCategory`** (mutation, v2)

Category oluşturan mutation.

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

Parametreler:

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

Dönen değer: `Category!`

Örnek istek - Kategori oluşturma (`POST https://api.myikas.com/api/v2/admin/graphql`):

Mevcut bir üst kategorinin altına yeni bir kategori ekler. Kategori sayfasının adresi `metaData.slug` ile belirlenir.

```graphql
mutation CreateCategory($input: CreateCategoryInput!) {
  createCategory(input: $input) {
    id
    name
    parentId
    categoryPath
    description
    orderType
    metaData {
      slug
      pageTitle
    }
    createdAt
  }
}
```

```json
{
  "input": {
    "name": "Elbise",
    "parentId": "0ce2c410-d6b6-4107-bf80-6b79ba9f7eac",
    "description": "Günlük ve özel gün elbise modelleri.",
    "orderType": "NEWEST",
    "metaData": {
      "slug": "kadin-elbise",
      "pageTitle": "Kadın Elbise Modelleri"
    }
  }
}
```

Örnek yanıt (temsili):

```json
{
  "data": {
    "createCategory": {
      "id": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21",
      "name": "Örnek",
      "parentId": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21",
      "categoryPath": [
        "string"
      ],
      "description": "Örnek açıklama",
      "orderType": "BEST_SELLER",
      "metaData": {
        "slug": "ornek-urun",
        "pageTitle": "string"
      },
      "createdAt": 1735725600000
    }
  }
}
```

Örnek istek - Otomatik kategori oluşturma (`POST https://api.myikas.com/api/v2/admin/graphql`):

Ürünleri tek tek eklemek yerine koşula göre dolduran bir kategori oluşturur. Bu örnekte belirtilen markanın tüm ürünleri kategoriye otomatik olarak girer.

```graphql
mutation CreateCategory($input: CreateCategoryInput!) {
  createCategory(input: $input) {
    id
    name
    isAutomated
    conditions {
      conditionType
      method
      valueList
    }
    createdAt
  }
}
```

```json
{
  "input": {
    "name": "Kuzey Tekstil Koleksiyonu",
    "isAutomated": true,
    "conditions": [
      {
        "conditionType": "PRODUCT_BRAND",
        "method": "IN",
        "valueList": [
          "686c7335-8df5-409b-9531-848eee66528f"
        ]
      }
    ],
    "orderType": "BEST_SELLER"
  }
}
```

Örnek yanıt (temsili):

```json
{
  "data": {
    "createCategory": {
      "id": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21",
      "name": "Örnek",
      "isAutomated": true,
      "conditions": [
        {
          "conditionType": "CAMPAIGN",
          "method": "IN",
          "valueList": [
            "string"
          ]
        }
      ],
      "createdAt": 1735725600000
    }
  }
}
```

## Kategoriyi güncelle [#updateCategory]

**`updateCategory`** (mutation, v2)

Category güncelleyen mutation.

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

Parametreler:

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

Dönen değer: `Category!`

Örnek istek - Kategoriyi güncelleme (`POST https://api.myikas.com/api/v2/admin/graphql`):

Mevcut bir kategorinin açıklamasını, ürün sıralamasını ve SEO bilgilerini günceller. Yalnızca gönderdiğiniz field'lar değişir.

```graphql
mutation UpdateCategory($input: UpdateCategoryInput!) {
  updateCategory(input: $input) {
    id
    name
    description
    orderType
    metaData {
      slug
      pageTitle
      description
    }
    updatedAt
  }
}
```

```json
{
  "input": {
    "id": "024b80fb-34cc-428e-8db2-97b4fbd73d80",
    "description": "Yaz sezonu için keten ve pamuklu elbise modelleri.",
    "orderType": "BEST_SELLER",
    "metaData": {
      "pageTitle": "Yazlık Elbise Modelleri",
      "description": "Keten ve pamuklu yazlık elbiseler."
    }
  }
}
```

Örnek yanıt (temsili):

```json
{
  "data": {
    "updateCategory": {
      "id": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21",
      "name": "Örnek",
      "description": "Örnek açıklama",
      "orderType": "BEST_SELLER",
      "metaData": {
        "slug": "ornek-urun",
        "pageTitle": "string",
        "description": "Örnek açıklama"
      },
      "updatedAt": 1735725600000
    }
  }
}
```

## Kategori kaydet [#saveCategory]

**`saveCategory`** (mutation, v1)

Bu API ile ürün kategorisi oluşturabilir veya güncelleyebilirsiniz.

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

Parametreler:

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

Dönen değer: `Category!`

Örnek istek - Kategori kaydetme (`POST https://api.myikas.com/api/v1/admin/graphql`):

ERP'deki kategori ağacını v1 sürümünde ikas'a aktarır; `id` gönderildiğinde mevcut kategori güncellenir.

```graphql
mutation SaveCategory($input: CategoryInput!) {
  saveCategory(input: $input) {
    id
    name
    parentId
    categoryPath
    description
    updatedAt
  }
}
```

```json
{
  "input": {
    "name": "Gömlek",
    "parentId": "8b7de573-fc70-47c2-bdcc-04bc6001b8dd",
    "description": "Pamuklu ve keten erkek gömlek modelleri."
  }
}
```

Örnek yanıt (temsili):

```json
{
  "data": {
    "saveCategory": {
      "id": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21",
      "name": "Örnek",
      "parentId": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21",
      "categoryPath": [
        "string"
      ],
      "description": "Örnek açıklama",
      "updatedAt": 1735725600000
    }
  }
}
```

## Kategorileri sil [#deleteCategoryList]

**`deleteCategoryList`** (mutation, v1 · v2)

Category silen mutation.

Parametreler:

| Alan | Tip | Açıklama |
| --- | --- | --- |
| `idList` (zorunlu) | `[String!]!` | İşlem yapılacak kayıtların ID listesi. |

Dönen değer: `Boolean!`

Örnek istek - Kategorileri silme (`POST https://api.myikas.com/api/v2/admin/graphql`):

Kullanılmayan kategorileri tek istekte siler.

```graphql
mutation DeleteCategoryList($idList: [String!]!) {
  deleteCategoryList(idList: $idList)
}
```

```json
{
  "idList": [
    "829f8ec4-01e3-47f1-9eee-9391029a7d63",
    "41a27472-d093-4499-9144-377574ba98d8"
  ]
}
```

Örnek yanıt (temsili):

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