# Ürün Beslemesine Genel Bakış

Besleme neden gerekli
Kaynak: https://selwise.com/docs/product-feeds/overview

Ürün beslemesi, kataloğunuzu Selwise'e taşıyan bağlantıdır. Öneriler, arama, ürün kartları ve ürün zenginleştirme bu katalogdan beslenir — besleme kurulmadan hiçbiri ürün gösteremez.

## Panelde nerede

Sol menüde **Catalog** grubu: **Product Feed** (`/dashboard/feed`), **Products** (`/dashboard/channels/products`) ve — öneriler modülünüz varsa — **Product Roles** (`/dashboard/feed/roles`). **Catalog** başlığına tıklamak da besleme ekranını açar. Üç satır da seçili kanala bağlıdır; kanal seçili değilse gridir ("Select a channel first").

Besleme ve ürün listesi tek bir modül evinde, **Catalog & Feed** (Katalog ve Besleme) başlığı altında dört sekme olarak durur:

| Sekme | Ne gösterir | Dokümanı |
|---|---|---|
| **Overview** (Genel Bakış) | Besleme durumu, ürün sayısı, besleme türü, aktif yöntem, zamanlama, son senkronizasyon, kalite puanı, son hata | bu sayfa, [Kalite Puanı](/docs/product-feeds/quality-score) |
| **Configuration** (Yapılandırma) | Dört alt sekme: **Feed URL**, **Upload File** (Dosya Yükle), **API Access** (API Erişimi), **Field Mapping** (Alan Eşleme) | [Kurulum](/docs/product-feeds/setup), [Zamanlama](/docs/product-feeds/scheduling), [Alan Eşleştirme](/docs/product-feeds/field-mapping) |
| **Content** (İçerik) | Beslemenin yazdığı ürünler | [Ürün Kataloğu](/docs/product-feeds/catalog) |
| **Analytics** (Analitik) | Her senkronizasyonun çalışma geçmişi | [Çalışma Geçmişi](/docs/product-feeds/runs) |

Besleme başlığın sağındaki **Sync Now** (Şimdi Senkronize Et), silme simgesi ve **Visit Site** (Siteyi Ziyaret Et; yalnızca web kanalında) düğmeleri besleme sekmelerinde (**Overview**, **Configuration**, **Analytics**) durur. Bir senkronizasyon başlatıldığında üstte arka plan işi çubuğu ilerlemeyi gösterir — bkz. [Arka Plan İşleri](/docs/operations/background-jobs).

## Neden gerekli

Selwise sitenizin HTML'ini okuyup ürünleri çıkarmaz. Ürünün fiyatını, stok durumunu, kategorisini ve görselini yapılandırılmış bir kaynaktan alır. Bu kaynak besleme dosyanızdır.

| Modül | Besleme neye yarıyor |
|---|---|
| Öneriler | Ürün listesi, kategori, fiyat, indirim, stok, tamamlayıcı roller |
| Arama | Ürün adı, açıklama, kategori, marka — arama dizini besleme senkronize olurken yazılır |
| Ürün kartları | Görsel, fiyat, stok, rozet verisi |
| Ürün zenginleştirme | Ürün kodu eşleşmesi, `${attr.*}` alanları |
| Sipariş atfı ve raporlar | Sipariş satırlarındaki ürün kodunun katalogla eşleşmesi |

## Üç yöntem

Besleme, kataloğu üç yoldan alabilir; **aktif yöntem tek seferde birdir** ve panelde kartta **Active Method** (Aktif Yöntem) olarak yazar. Yöntem sekmesine kaydedince ya da yükleyince değişir — sekmeler arasında gezmek yöntemi değiştirmez; farklı bir yöntemin sekmesine geçtiğinizde "Current active method is X. Saving with this tab will switch it to Y mode." uyarısı çıkar.

| Yöntem | Nasıl çalışır | Ne zaman |
|---|---|---|
| **Feed URL** (pull) | Selwise belirlediğiniz adresi zamanlamaya göre okur | Varsayılan. Sitenizde bir besleme dosyası varsa |
| **Upload File** | Dosyayı panelden yüklersiniz; yükleme anında işlenir | Tek seferlik aktarım, dosyanız herkese açık bir adreste değilse |
| **API Access** (push) | Siz Selwise'e göndersiniz | Dosya yayınlayamıyor ya da anlık güncelleme istiyorsanız |

## Durum

Genel Bakış'taki rozet beslemenin son durumunu söyler:

| Durum | Anlamı |
|---|---|
| `pending` (beklemede) | Henüz hiç senkronize edilmedi — yeni kaydedilmiş ya da ayarı yeni değişmiş. Her kayıt durumu tekrar `pending` yapar |
| `syncing` (senkronize ediliyor) | Bir çalışma sürüyor |
| `synced` (senkronize) | Son çalışma başarılı |
| `error` (hata) | Son çalışma başarısız; **Error Details** (Hata ayrıntıları) kutusu nedeni yazar |

Kartın yanında ürün sayısı, besleme türü (**XML / JSON / CSV**), aktif yöntem, zamanlama (`Every 3h` ya da `4 times/day`) ve son senkronizasyon yazar.

> **Ürün sayısı beklediğinizden düşükse**
>
> Dosya okunup **hiç** ürün çıkarılamazsa çalışma başarısız olur ve durum `error` olur; hata şöyle yazar: "No usable products in the feed: all N row(s) were rejected. First reason: …". Bir kısmı çıkarılıp geri kalanı atlandıysa çalışma **başarılı** görünür ve katalog beslemenizden küçük olur — bunun tek belirtisi [Çalışma Geçmişi](/docs/product-feeds/runs)ndeki **Rows skipped** sayısıdır. Neredeyse her zaman alan eşleştirmesi sorunudur — bkz. [Alan Eşleştirme](/docs/product-feeds/field-mapping) ve [Sorun Giderme](/docs/product-feeds/troubleshooting).

## Neden boş, neden gri

| Belirti | Neden |
|---|---|
| "No Site Selected" (kanal seçili değil) | Üstteki kanal seçiciden bir kanal seçin |
| Kaydet, senkronize et, sil ve token düğmeleri gri; üstte mavi kutu | Kanal kataloğunu başka bir kanaldan okuyor ("This feed belongs to …"); feed'i o kanalın sahibi düzenler — bkz. [Paylaşılan Katalog](/docs/channels/shared-catalog) |
| **Sync Now** çalışmıyor | Aktif yöntem **URL** değil (dosya ya da API ile beslenen bir feed'i panelden "çekmek" anlamsızdır) ya da zaten bir çalışma sürüyor (`409`, "A sync of this feed is already running") |
| Kaydet düğmesi `403` | Beslemeyi değiştirmek `admin` rolünün işidir; `marketing` rolü beslemeyi ve ürünleri yalnızca görüntüler |
| İlk kayıtta `FEED_URL_REQUIRED` | Feed ilk kez bir **adresle** kurulur; dosya ve API ile beslenen bir feed ilk yükleme/gönderimle oluşur |
| `409` ve `LIMIT_REACHED` | Hesabınızın `product_feeds` ya da `products` (katalogdaki ürün) limiti dolu |

## Sırada ne var

- [Kurulum](/docs/product-feeds/setup)
- [Formatlar](/docs/product-feeds/formats)
- [Kalite Puanı](/docs/product-feeds/quality-score)
