# Siparişlere, müşterilere ya da ürünlere toplu etiket ekleme

> tagsAdd ile tek bir kayda mevcut etiketlerini silmeden etiket ekleyin ya da tagsAdd’i bir bulk mutation içinde çalıştırıp binlerce kaydı birden etiketleyin.

Sayfa: https://lintelagency.com/tr/kaynaklar/graphql/toplu-etiket-ekleme

## Kısaca

Bir kaydı mevcut etiketlerine dokunmadan etiketlemek için tagsAdd’i kaydın ID’si ve yeni etiketlerle çağırın; siparişler, taslak siparişler, müşteriler, ürünler ve blog yazılarında çalışır. Binlerce kayıt için her kayda bir satır ({"id", "tags"}) yazdığınız JSONL dosyasını stagedUploadsCreate ile yükleyin ve tagsAdd’i bulkOperationRunMutation ile çalıştırın. tagsRemove da aynı şekilde çalışır.

## Bilgiler

- **API:** Admin GraphQL API
- **İşlemler:** tagsAdd, bulkOperationRunMutation
- **Erişim yetkisi:** Etiketlenen kayıt için yazma yetkisi (siparişler, müşteriler, ürünler vb.)
- **Yerini aldığı REST çağrısı:** Tüm etiket metniyle PUT /admin/api/orders/{id}.json
- **API sürümü:** 2026-10
- **Son kontrol:** 2 Kasım 2026

## Nasıl kullanılır

1. Tek bir kayıt için TagOrder’ı GID’si ve eklenecek etiketlerle gönderin.
2. Çok sayıda kayıt için her satırda bir {"id", "tags"} nesnesi olan tags.jsonl dosyasını yazın.
3. Dosyayı staged upload tarifindeki gibi yükleyin ve key değerini saklayın.
4. TagOrdersInBulk’u tagsAdd mutation metni ve key ile gönderin, ardından sonuç dosyasında satır bazında userErrors’ı kontrol edin.

## Kod

### tags-add.graphql

```graphql
mutation TagOrder($id: ID!, $tags: [String!]!) {
  tagsAdd(id: $id, tags: $tags) {
    node {
      id
    }
    userErrors {
      field
      message
    }
  }
}
```

### tags-add.variables.json

```json
{
  "id": "gid://shopify/Order/1234567890",
  "tags": ["wholesale", "priority"]
}
```

### tags-add.response.json

```json
{
  "data": {
    "tagsAdd": {
      "node": {
        "id": "gid://shopify/Order/1234567890"
      },
      "userErrors": []
    }
  }
}
```

### tags.jsonl

```text
{"id":"gid://shopify/Order/1111111111","tags":["wholesale"]}
{"id":"gid://shopify/Order/1111111112","tags":["wholesale"]}
{"id":"gid://shopify/Order/1111111113","tags":["wholesale","priority"]}
```

### bulk-operation-run-mutation.graphql

```graphql
mutation TagOrdersInBulk($mutation: String!, $stagedUploadPath: String!) {
  bulkOperationRunMutation(mutation: $mutation, stagedUploadPath: $stagedUploadPath) {
    bulkOperation {
      id
      status
    }
    userErrors {
      code
      field
      message
    }
  }
}
```

### bulk-operation-run-mutation.variables.json

```json
{
  "mutation": "mutation TagOrder($id: ID!, $tags: [String!]!) { tagsAdd(id: $id, tags: $tags) { node { id } userErrors { field message } } }",
  "stagedUploadPath": "tmp/1234567890/bulk/00000000-0000-0000-0000-000000000000/tags.jsonl"
}
```

### bulk-operation-run-mutation.response.json

```json
{
  "data": {
    "bulkOperationRunMutation": {
      "bulkOperation": {
        "id": "gid://shopify/BulkOperation/1234567892",
        "status": "CREATED"
      },
      "userErrors": []
    }
  }
}
```

## Sınırlar ve özel durumlar

- tagsAdd yalnızca ekler; kayıttaki mevcut etiketler kalır. Etiketleri orderUpdate ya da productUpdate ile güncellemek ise listenin tamamını değiştirir.
- tags, bir liste ya da virgülle ayrılmış tek bir metin kabul eder.
- ID etiketlenemeyen bir tipe aitse mutation bulunamadı (not found) hatası döner.
- Toplu çalıştırmada her satır bir tagsAdd çağrısıdır; sonuç dosyası kayıt başına başarıyı ya da userErrors’ı gösterir.

## Sorular

### Shopify’da siparişler toplu olarak nasıl etiketlenir?

tagsAdd’i, sipariş ID’leri ve etiketlerden oluşan bir JSONL dosyasıyla bulkOperationRunMutation üzerinden çalıştırın. Birkaç yüz sipariş için tagsAdd’i döngüde çağırmak da yeterlidir.

### tagsAdd mevcut etiketleri siler mi?

Hayır. Yalnızca gönderdiğiniz etiketleri ekler. Etiket kaldırmak için tagsRemove’u kullanın.

### tagsAdd ile hangi kayıtlar etiketlenebilir?

Siparişler, taslak siparişler, müşteriler, ürünler ve blog yazıları ile referansta listelenen diğer kayıtlar.

## Shopify belgeleri

- [tagsAdd](https://shopify.dev/docs/api/admin-graphql/latest/mutations/tagsAdd)
- [Bulk import data](https://shopify.dev/docs/api/usage/bulk-operations/imports)

## İlgili içerikler

- [Staged upload ve bulkOperationRunMutation ile toplu içe aktarma](https://lintelagency.com/tr/kaynaklar/graphql/staged-upload-ile-toplu-ice-aktarma)
- [Bir tarih aralığındaki siparişleri bulk operation ile dışa aktarma](https://lintelagency.com/tr/kaynaklar/graphql/siparisleri-tarihe-gore-toplu-disa-aktarma)

Lisans: MIT. Kendi mağazanızda da müşteri işlerinizde de ücretsiz kullanabilirsiniz.
