# Katalog Koşulları

Kuralı marka, kategori ya da fiyata göre kurma
Kaynak: https://selwise.com/docs/product-enrichment/catalog-conditions

Kuralı ürünleri tek tek yazarak değil, **ne oldukları** üzerinden kurun: "markası Nike ve kategorisi Ayakkabı olan her ürün".

## Panelde nerede

Kural ekranında **Rules** (Kurallar) adımı → **Which products?** (Hangi ürünler?) → **Catalogue conditions** (Katalog koşulu) kartı. Kart seçilince **Catalogue conditions** bölümü açılır: koşul satırları, **Add condition** (Koşul ekle) düğmesi ve **How many products match?** (Kaç ürün eşleşiyor?) düğmesi. Kuralın tamamı için: [Kural Oluşturma](/docs/product-enrichment/rules).

## Neden var

Önceden iki seçenek vardı: kodları elle yapıştırmak ya da her ürünü hedeflemek. "Her Nike ayakkabı" demek, bir elektronik tablo dışa aktarıp dört yüz kod yapıştırmak demekti; o kural kataloğunuz değiştiği gün yanlış hâle gelirdi.

Katalog koşulu her besleme senkronizasyonunda **yeniden değerlendirilir**. Yeni gelen bir Nike ayakkabı kurala kendiliğinden girer; markası düzeltilen bir ürün kendiliğinden çıkar. Kural kaydedildiğinde de hemen bir kez değerlendirilir.

## Koşullar nasıl birleşir

Bir kuraldaki koşulların hepsi aynı anda sağlanmalıdır (VE). "Nike **veya** Adidas" gibi bir seçim için tek bir koşulda **is one of** (şunlardan biri) kullanın ve değerleri virgülle ayırın. Bir kuralda en fazla **10 koşul**, bir **şunlardan biri** listesinde en fazla **200 değer** olabilir.

## Hangi alanlar üzerinde koşul kurulur

Alan seçicisi iki gruba ayrılır: **Catalogue fields** (Katalog alanları) ve **Custom fields from your feed** (Beslemeden gelen özel alanlar).

| Tür | Alanlar |
|---|---|
| Metin | **Product code** (Ürün kodu), **SKU** (Stok kodu), **Cart code** (Sepet kodu), **Group code** (Grup kodu), **Title** (Ürün adı), **Brand** (Marka), **Categories** (Kategoriler), **Product type** (Ürün tipi), **Category hierarchy** (Kategori hiyerarşisi), **Currency** (Para birimi) |
| Sayı | **Price** (Satış fiyatı), **List price** (Liste fiyatı), **Discount rate** (İndirim oranı), **Stock** (Stok), **Rating** (Puan), **Review count** (Değerlendirme sayısı) |
| Evet ya da hayır | **In stock** (Stokta), **New** (Yeni ürün), **Bestseller** (Çok satan), **Has options** (Seçenekli) |

Bunların yanında **beslemenizin taşıdığı özel alanlar** da seçilebilir; bloklarınızda `${attr.kumas}` olarak yazdığınız alanın aynısıdır. Böylece "kumaşı pamuk olan her ürün" gibi bir kural yazabilirsiniz. Özel alanlar her zaman metindir; sayı gibi karşılaştırılmaz. Alan listesi yüklenemezse yalnızca katalog alanları seçilebilir ve panel bunu söyler. Özel alanların nasıl oluştuğu için: [Ürün Özellikleri](/docs/product-enrichment/product-attributes).

## Karşılaştırmalar

Alanın türüne göre farklı karşılaştırmalar sunulur:

| Karşılaştırma | Ne yapar | Hangi alanlarda |
|---|---|---|
| **equals** (eşittir) / **does not equal** (eşit değildir) | Tam eşleşme. "Eşit değildir" yalnızca alanı dolu olan ürünleri döndürür | Metin, sayı; evet/hayır alanında yalnızca eşittir |
| **is one of** (şunlardan biri) | Virgülle ayırdığınız değerlerden herhangi biri | Metin |
| **contains** (içerir) | Metnin içinde geçiyorsa | Metin |
| **starts with** (ile başlar) | Metnin başındaysa | Metin |
| **is present** (dolu) | Alanın bir değeri varsa | Her tür |
| **greater than** (büyüktür), **greater than or equal** (büyük veya eşittir), **less than** (küçüktür), **less than or equal** (küçük veya eşittir) | Sayısal karşılaştırma | Sayı |

Metin karşılaştırmaları büyük/küçük harf ve Türkçe karakter farkını yok sayar: `gomlek` yazmanız `Gömlek` ürünlerini bulur. Bu, ürün aramanın kullandığı katlamanın aynısıdır. Sayısal alanda "içerir" gibi anlamsız bir karşılaştırma sunulmaz; sunulsaydı hiçbir ürünle eşleşmeyen bir kural sessizce kaydedilirdi. Eksik ya da yanlış bir koşul satırı kaydedilmez; satırın altında nedeni yazılır (örneğin "Enter a value", "At most 200 values can be entered").

## Kaç ürün eşleştiğini kaydetmeden görün

**How many products match?** düğmesi, ekrandaki koşulları kanalın kataloğuna karşı çalıştırır ve eşleşen ürün sayısıyla (**N products match**, yani N ürün eşleşiyor; ya da **No products match**, hiçbir ürün eşleşmiyor) birkaç **Sample matches** (Örnek eşleşmeler) gösterir.

Bu sayı işin yarısıdır. Hiçbir ürünle eşleşmeyen bir koşul ile bütün kataloğu kapsayan bir koşul editörde birbirinin aynısı görünür ve ikisi de ancak canlı bir ürün sayfasında fark edilir. Sayım kaydedilmiş kuralla aynı sorguyu çalıştırır; tahmin değildir.

## Sınırlar

Bir kural en fazla **20.000 ürün** için içerik hazırlar. Bundan fazlasıyla eşleşen bir koşul için panel "İlk N ürün için içerik hazırlanır" (**Content is prepared for the first N products**) der. Bu kadar geniş bir koşul aslında **All products** demek istiyordur; o seçenek hiçbir ek kayıt tutmaz ve daha ucuzdur.

Koşulsuz bir "katalog koşulu" kuralı kaydedilmez; bütün kataloğu seçmek için **All products** kullanın.

## Kod listesiyle birlikte kullanma

Bir kural ya kod listesiyle ya katalog koşuluyla çalışır. Türü değiştirdiğinizde diğerinin seçtiği ürünler kuraldan çıkar; elle girdiğiniz kodlar silinmez, kural yeniden **Selected product codes**'a alındığında geri gelir.

## Koşul kuralı görünmüyorsa

Kural listesinde **Products** sütunu "N products match" (N ürün eşleşiyor) yazar. Bu sayı 0 ise koşul ürün bulamıyor demektir; koşulları gevşetin. Sayı doğruysa ama sayfada içerik yoksa: [Kural Görünmüyor](/docs/product-enrichment/not-showing).
