---
title: Online mağazalar
description: Online mağazaları, JS script'lerini ve mağaza politikalarını yönetin.
full: true
---

## Storefront nesnesi [#Storefront]

**`Storefront`** (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ığı. |
| `domains` | `[StorefrontDomain!]` |  |
| `id` | `String!` | Kaydın ID değeri. |
| `name` | `String!` | Online mağazanın adı. |
| `routings` | `[StorefrontRouting!]!` | Online mağazanın adı. |
| `salesChannelId` | `String!` |  |
| `updatedAt` | `Timestamp` | Kaydın son güncellenme zamanı (milisaniye cinsinden Unix zaman damgası). |

Örnek (temsili):

```json
{
  "createdAt": 1735725600000,
  "deleted": false,
  "domains": [
    {
      "createdAt": 1735725600000,
      "deleted": false,
      "id": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21",
      "isDefault": true,
      "merchantDomainId": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21",
      "name": "Örnek",
      "redirectDomainName": "Örnek",
      "updatedAt": 1735725600000
    }
  ],
  "id": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21",
  "name": "Örnek",
  "routings": [
    {
      "countryCodes": [
        "TR"
      ],
      "createdAt": 1735725600000,
      "currencyCode": "TRY",
      "currencySymbol": "₺",
      "deleted": false,
      "domain": "string",
      "dynamicCurrencySettings": null,
      "id": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21",
      "locale": "tr",
      "path": "string",
      "priceListId": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21",
      "updatedAt": 1735725600000
    }
  ],
  "salesChannelId": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21",
  "updatedAt": 1735725600000
}
```

## Online mağazaları listele [#listStorefront]

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

Parametreler:

| Alan | Tip | Açıklama |
| --- | --- | --- |
| `id` | `StringFilterInput` | Kaydın ID değeri. |
| `salesChannelId` | `StringFilterInput` |  |

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

Örnek istek - Online Mağazaları Listeleme (`POST https://api.myikas.com/api/v2/admin/graphql`):

```graphql
query ListStorefront {
  listStorefront {
    createdAt
    deleted
    id
    name
    routings {
      countryCodes
      createdAt
      currencyCode
      currencySymbol
      deleted
      domain
      dynamicCurrencySettings {
        roundingFormat
        targetCurrencyCode
        targetCurrencySymbol
      }
      id
      locale
      path
      priceListId
      updatedAt
    }
    salesChannelId
    updatedAt
  }
}
```

Örnek yanıt (temsili):

```json
{
  "data": {
    "listStorefront": [
      {
        "createdAt": 1735725600000,
        "deleted": false,
        "id": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21",
        "name": "Örnek",
        "routings": [
          {
            "countryCodes": [
              "TR"
            ],
            "createdAt": 1735725600000,
            "currencyCode": "TRY",
            "currencySymbol": "₺",
            "deleted": false,
            "domain": "string",
            "dynamicCurrencySettings": {
              "roundingFormat": "string",
              "targetCurrencyCode": "string",
              "targetCurrencySymbol": "string"
            },
            "id": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21",
            "locale": "tr",
            "path": "string",
            "priceListId": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21",
            "updatedAt": 1735725600000
          }
        ],
        "salesChannelId": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21",
        "updatedAt": 1735725600000
      }
    ]
  }
}
```

Örnek istek - Online mağazaları listeleme (`POST https://api.myikas.com/api/v2/admin/graphql`):

Script veya politika eklemeden önce online mağazanın ID'sini, alan adlarını ve dil/para birimi yönlendirmelerini alır.

```graphql
query ListStorefront($id: StringFilterInput) {
  listStorefront(id: $id) {
    id
    name
    salesChannelId
    domains {
      name
      isDefault
    }
    routings {
      id
      locale
      currencyCode
    }
  }
}
```

```json
{
  "id": {
    "eq": "20fbe415-b39d-426d-a964-34dcf6854adf"
  }
}
```

Örnek yanıt (temsili):

```json
{
  "data": {
    "listStorefront": [
      {
        "id": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21",
        "name": "Örnek",
        "salesChannelId": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21",
        "domains": [
          {
            "name": "Örnek",
            "isDefault": true
          }
        ],
        "routings": [
          {
            "id": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21",
            "locale": "tr",
            "currencyCode": "TRY"
          }
        ]
      }
    ]
  }
}
```

## Script'leri listele [#listStorefrontJSScript]

**`listStorefrontJSScript`** (query, v1)

`storefrontId` input'unu sağlayarak online mağaza JavaScript script'lerini listelemek için bu query'yi kullanın.

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

Parametreler:

| Alan | Tip | Açıklama |
| --- | --- | --- |
| `storefrontId` | `String` |  |

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

Örnek istek - Online mağaza script'lerini listeleme (`POST https://api.myikas.com/api/v1/admin/graphql`):

Uygulamanızın belirli bir online mağazaya eklediği script'leri listeler; yalnızca isteği yapan uygulamanın script'leri döner.

```graphql
query ListStorefrontJSScript($storefrontId: String) {
  listStorefrontJSScript(storefrontId: $storefrontId) {
    id
    name
    storefrontId
    contentType
    isActive
    isHighPriority
    scriptContent
    updatedAt
  }
}
```

```json
{
  "storefrontId": "20fbe415-b39d-426d-a964-34dcf6854adf"
}
```

Örnek yanıt (temsili):

```json
{
  "data": {
    "listStorefrontJSScript": [
      {
        "id": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21",
        "name": "Örnek",
        "storefrontId": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21",
        "contentType": "FILE",
        "isActive": true,
        "isHighPriority": true,
        "scriptContent": "string",
        "updatedAt": 1735725600000
      }
    ]
  }
}
```

## Script oluştur [#createStorefrontJSScript]

**`createStorefrontJSScript`** (mutation, v2)

Bu API ile online mağazaya JavaScript script'i kaydedebilirsiniz.

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

Parametreler:

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

Dönen değer: `StorefrontJSScript!`

Örnek istek - Online mağazaya script ekleme (`POST https://api.myikas.com/api/v2/admin/graphql`):

Analitik uygulaması, ziyaretçi takip script'ini online mağazaya ekler. Dönen `id` ile script'i daha sonra güncelleyebilirsiniz.

```graphql
mutation CreateStorefrontJSScript($input: CreateStorefrontJSScriptInput!) {
  createStorefrontJSScript(input: $input) {
    id
    name
    storefrontId
    contentType
    isActive
    isHighPriority
    scriptContent
    updatedAt
  }
}
```

```json
{
  "input": {
    "storefrontId": "20fbe415-b39d-426d-a964-34dcf6854adf",
    "name": "Ziyaretçi analitiği",
    "contentType": "SCRIPT",
    "isHighPriority": false,
    "scriptContent": "<script async src=\"https://cdn.uygulamam.example.com/analytics.js?store=ornek-magaza\"></script>"
  }
}
```

Örnek yanıt (temsili):

```json
{
  "data": {
    "createStorefrontJSScript": {
      "id": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21",
      "name": "Örnek",
      "storefrontId": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21",
      "contentType": "FILE",
      "isActive": true,
      "isHighPriority": true,
      "scriptContent": "string",
      "updatedAt": 1735725600000
    }
  }
}
```

## Script'i güncelle [#updateStorefrontJSScript]

**`updateStorefrontJSScript`** (mutation, v2)

Bu API ile online mağazaya JavaScript script'i kaydedebilirsiniz.

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

Parametreler:

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

Dönen değer: `StorefrontJSScript!`

Örnek istek - Online mağaza script'ini düzenleme (`POST https://api.myikas.com/api/v2/admin/graphql`):

Analitik uygulamasının yeni sürümü yayınlandığında mevcut script'in içeriğini günceller. Yalnızca değiştirmek istediğiniz field'ları `id` ile birlikte göndermeniz yeterlidir.

```graphql
mutation UpdateStorefrontJSScript($input: UpdateStorefrontJSScriptInput!) {
  updateStorefrontJSScript(input: $input) {
    id
    name
    storefrontId
    contentType
    isActive
    isHighPriority
    scriptContent
    updatedAt
  }
}
```

```json
{
  "input": {
    "id": "aa784677-5daa-436b-80aa-51626f679c77",
    "name": "Ziyaretçi analitiği v2",
    "scriptContent": "<script async src=\"https://cdn.uygulamam.example.com/analytics.v2.js?store=ornek-magaza\"></script>"
  }
}
```

Örnek yanıt (temsili):

```json
{
  "data": {
    "updateStorefrontJSScript": {
      "id": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21",
      "name": "Örnek",
      "storefrontId": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21",
      "contentType": "FILE",
      "isActive": true,
      "isHighPriority": true,
      "scriptContent": "string",
      "updatedAt": 1735725600000
    }
  }
}
```

## Script kaydet [#saveStorefrontJSScript]

**`saveStorefrontJSScript`** (mutation, v1)

Bu API ile online mağazaya JavaScript script'i kaydedebilirsiniz.

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

Parametreler:

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

Dönen değer: `StorefrontJSScript!`

Örnek istek - Online mağaza script'i kaydetme (`POST https://api.myikas.com/api/v1/admin/graphql`):

Canlı destek uygulaması, widget script'ini mağazanın online mağazasına ekler. `storefrontId` değerini `listStorefront` query'si ile alabilirsiniz.

```graphql
mutation SaveStorefrontJSScript($input: StorefrontJSScriptInput!) {
  saveStorefrontJSScript(input: $input) {
    id
    name
    storefrontId
    contentType
    isActive
    isHighPriority
    scriptContent
    updatedAt
  }
}
```

```json
{
  "input": {
    "storefrontId": "20fbe415-b39d-426d-a964-34dcf6854adf",
    "name": "Canlı destek widget'ı",
    "contentType": "SCRIPT",
    "scriptContent": "<script src=\"https://cdn.uygulamam.example.com/chat-widget.js\" defer></script>"
  }
}
```

Örnek yanıt (temsili):

```json
{
  "data": {
    "saveStorefrontJSScript": {
      "id": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21",
      "name": "Örnek",
      "storefrontId": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21",
      "contentType": "FILE",
      "isActive": true,
      "isHighPriority": true,
      "scriptContent": "string",
      "updatedAt": 1735725600000
    }
  }
}
```

## Script'i sil [#deleteStorefrontJSScript]

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

Uygulamanızın online mağazalara eklediği script'leri siler. v2'de argüman almaz ve uygulamanın tüm online mağazalardaki script'lerini siler; v1'de `storefrontIdList` ile mağazalar seçilir.

Parametreler:

| Alan | Tip | Açıklama |
| --- | --- | --- |
| `storefrontIdList` (zorunlu, yalnızca v1) | `[String!]!` |  |

Dönen değer: `Boolean!`

Örnek istek - Online mağaza script'lerini silme (`POST https://api.myikas.com/api/v2/admin/graphql`):

Uygulamanızın online mağazalara eklediği script'lerin tamamını kaldırır; örneğin mağaza yöneticisi uygulamanın ayarlarından widget'ı devre dışı bıraktığında. v2'de mutation argüman almaz ve yalnızca isteği yapan uygulamanın script'lerini siler.

```graphql
mutation DeleteStorefrontJSScript {
  deleteStorefrontJSScript
}
```

Örnek yanıt (temsili):

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

## Mağaza politikalarını listele [#listStorefrontPolicy]

**`listStorefrontPolicy`** (query, v1)

`StorefrontPolicyArgs` input'unu sağlayarak online mağaza politikalarını listelemek için bu query'yi kullanın.
Arama şu alanlarda yapılabilir: `name`, `slug`.
Örnek: search='test' ise bu alanlardan herhangi birinde 'test' içeren kayıtlarla eşleşir.

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

Parametreler:

| Alan | Tip | Açıklama |
| --- | --- | --- |
| `id` | `StringFilterInput` | Kaydın ID değeri. |
| `includeDeleted` | `Boolean` | `true` gönderilirse silinmiş kayıtlar da listelenir. |
| `language` | `StringFilterInput` |  |
| `name` | `StringFilterInput` |  |
| `pagination` | `PaginationInput` | Sayfalama ayarları (`page`, `limit`). Bkz. [Sayfalama](/docs/admin-api/pagination-and-filtering). |
| `search` | `String` | Serbest metin araması. |
| `updatedAt` | `DateFilterInput` | Kaydın son güncellenme zamanı (milisaniye cinsinden Unix zaman damgası). |

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

Örnek istek - Mağaza politikalarını listeleme (`POST https://api.myikas.com/api/v1/admin/graphql`):

Belirli bir tarihten sonra güncellenen politika sayfalarını sayfa sayfa çeker; örneğin yasal metinleri harici bir sistemle senkronize eden bir uygulama için.

```graphql
query ListStorefrontPolicy($updatedAt: DateFilterInput, $pagination: PaginationInput) {
  listStorefrontPolicy(updatedAt: $updatedAt, pagination: $pagination) {
    id
    name
    slug
    type
    locale
    storefrontId
    currentVersionId
    updatedAt
  }
}
```

```json
{
  "updatedAt": {
    "gt": 1760313600000
  },
  "pagination": {
    "page": 1,
    "limit": 50
  }
}
```

Örnek yanıt (temsili):

```json
{
  "data": {
    "listStorefrontPolicy": [
      {
        "id": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21",
        "name": "Örnek",
        "slug": "ornek-urun",
        "type": "IMPRINT",
        "locale": "tr",
        "storefrontId": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21",
        "currentVersionId": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21",
        "updatedAt": 1735725600000
      }
    ]
  }
}
```

## Mağaza politikası kaydet [#saveStorefrontPolicy]

**`saveStorefrontPolicy`** (mutation, v1)

Bu API ile online mağazaya bir politika kaydedebilirsiniz.

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

Parametreler:

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

Dönen değer: `StorefrontPolicy!`

Örnek istek - Mağaza politikası kaydetme (`POST https://api.myikas.com/api/v1/admin/graphql`):

Online mağazaya Türkçe iade ve değişim politikası sayfası ekler. `storefrontRoutingId` değerini `listStorefront` query'sindeki `routings` alanından alabilirsiniz; mevcut bir politikayı güncellemek için `id` gönderin.

```graphql
mutation SaveStorefrontPolicy($input: StorefrontPolicyInput!) {
  saveStorefrontPolicy(input: $input) {
    id
    name
    slug
    type
    locale
    storefrontId
    currentVersionId
    updatedAt
  }
}
```

```json
{
  "input": {
    "storefrontId": "20fbe415-b39d-426d-a964-34dcf6854adf",
    "name": "İade ve Değişim Politikası",
    "slug": "iade-ve-degisim-politikasi",
    "type": "RETURN_POLICY",
    "locale": "tr",
    "sendEmail": false,
    "content": "<h2>İade koşulları</h2><p>Satın aldığınız ürünleri teslim tarihinden itibaren 14 gün içinde, kullanılmamış ve orijinal ambalajında olmak koşuluyla iade edebilirsiniz.</p>",
    "storefrontRoutings": [
      {
        "storefrontId": "20fbe415-b39d-426d-a964-34dcf6854adf",
        "storefrontRoutingId": "1a2b173c-fdd1-44f0-83c8-0a3f9f59febf"
      }
    ]
  }
}
```

Örnek yanıt (temsili):

```json
{
  "data": {
    "saveStorefrontPolicy": {
      "id": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21",
      "name": "Örnek",
      "slug": "ornek-urun",
      "type": "IMPRINT",
      "locale": "tr",
      "storefrontId": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21",
      "currentVersionId": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21",
      "updatedAt": 1735725600000
    }
  }
}
```

## Mağaza politikalarını sil [#deleteStorefrontPolicyList]

**`deleteStorefrontPolicyList`** (mutation, v1)

Bu API ile online mağazadan bir politikayı silebilirsiniz.

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

Parametreler:

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

Dönen değer: `Boolean!`

Örnek istek - Mağaza politikalarını silme (`POST https://api.myikas.com/api/v1/admin/graphql`):

Artık kullanılmayan politika sayfalarını ID listesiyle siler. Silme işleminden sonra online mağazalar yeniden yayınlanır.

```graphql
mutation DeleteStorefrontPolicyList($idList: [String!]!) {
  deleteStorefrontPolicyList(idList: $idList)
}
```

```json
{
  "idList": [
    "8d93ca6c-50d8-4cbf-b1c4-ea02b01b7abd"
  ]
}
```

Örnek yanıt (temsili):

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