# Paylaşılan Katalog

Bir kanalın kataloğunu başka kanallarda kullanma
Kaynak: https://selwise.com/docs/channels/shared-catalog

Bir kanal, ürünlerini **başka bir kanalın feed'inden** okuyabilir. Aynı katalog birden fazla kanala hizmet ediyorsa — tipik olarak web siteniz ve uygulamanız — feed'i iki kez kurmak yerine bir kez kurup paylaşın.

## Panelde nerede

Sol menüde **Kanallar → Kanal Özeti** (Channels → Channel Overview) → **Product Feed** kartı; kartın alt bölümü **Shared Catalogue** (Paylaşılan Katalog). Önce üstteki kanal seçiciden *okuyacak* kanalı (örneğin uygulamanızı) seçin. Bölümde **Read the catalogue from** (Kataloğu şu kanaldan oku) listesi ve **Save** (Kaydet) düğmesi vardır; değiştirmek `admin` rolünün yetkisidir.

## Neden

Aynı feed'i iki kanalda ayrı ayrı senkronize etmek üç şeye mal olur:

1. **Ürün satırları ikiye katlanır.** Planınızdaki `products` kotası bunu iki kanalın ürünü olarak sayar.
2. **Senkronizasyon maliyeti ikiye katlanır.** Aynı dosya iki kez indirilir ve ayrıştırılır.
3. **İki katalog birbirinden sapar.** Senkronizasyonlar aynı anda çalışmadığı için aynı arama, web'de ve uygulamada farklı stok gösterir.

## Nasıl çalışır

Paylaşılan katalog yalnızca **ürün okumalarını** yönlendirir: arama sonuçları, öneri ürünleri, ürün kartları, zenginleştirme eşleşmeleri ve ürün rolleri kaynak kanalın kataloğundan gelir. Bunlar kanalın kendisinde kalır:

- arama yapılandırması, eş anlamlılar, yönlendirmeler, öne çıkarma kuralları
- kampanyalar, widget'lar, öneri şeritleri
- segmentler, deneyler
- olaylar, siparişler, ciro ve tüm raporlar
- ücretsiz kargo eşiği ve para birimi

Yani uygulamanız web sitesinin kataloğunu okurken kendi alaka ayarlarını yapmaya ve kendi rakamlarını raporlamaya devam eder; kanalların ayrı olmasının sebebi budur.

Bir katalog değişikliği (senkronizasyon, silme) hem kaynak kanalın hem onu okuyan her kanalın önbelleğini temizler; senaryolardaki fiyat düşüşü, yeniden stokta ve düşük stok tetikleyicileri de okuyan kanallar için çalışır.

## Kaynak olarak hangi kanallar listelenir

Listede yalnızca şunlar çıkar:

- aynı organizasyondaki, silinmemiş kanallar,
- kendisi başka bir kanaldan **okumayan** kanallar (tek adım kuralı),
- bir **feed kaydı olan** kanallar — feed bağlanmış olması yeter, ilk senkronizasyonun bitmesi gerekmez.

Her satırda ürün sayısı ve para birimi yazar. Aday yoksa şu mesaj görünür: "No other channel has a synced product feed yet. Connect a feed on one channel first, then share it here." Önce kaynak kanalda feed kurun — bkz. [Besleme Kurulumu](/docs/product-feeds/setup).

## Tek adım kuralı

Kaynak kanal, feed'in **sahibi** olmalıdır. Zaten başka bir kanaldan okuyan bir kanalı kaynak seçmeye çalışırsanız API `400` döner ("That channel borrows its catalogue from a third channel. Pick the channel that owns the feed."). Bunun iki nedeni var: zincirli çözümleme aramanın her tuş vuruşunda tekrarlanırdı, ve iki ayrı kayıt tek tek geçerli olup birlikte döngü oluşturabilirdi (A→B ve B→A). Tersi de geçerlidir: başka kanalların okuduğu bir kanal kendisi bir başka kanaldan okuyamaz; API bunu da `400` ile reddeder ve kaç kanalın ondan okuduğunu söyler. Önce o kanalları başka bir kaynağa yönlendirin.

## Feed'i kim düzenler

Yalnızca sahibi. Okuyan kanalın **Product Feed** ekranı salt okunurdur ve üstünde kaynağı adlandıran bir bilgi kutusu görünür ("This feed belongs to … Open that channel to change it."). **Sync Now**, silme, **Save Feed**, **Regenerate Token**, hazır eşleme uygulama ve dosya yükleme çalışmaz; API aynı istekleri `409` ve `CHANNEL_FEED_BORROWED` koduyla reddeder:

```json
{
  "code": "CHANNEL_FEED_BORROWED",
  "message": "This channel reads its catalogue from magaza.com. Change the feed on that channel, or disconnect the shared catalogue first.",
  "sourceSiteId": "…"
}
```

Bu bilinçli bir seçim: uygulamanın feed ekranındaki **Save**'in sessizce web sitesinin eşleştirmesini değiştirmesi, burada olabilecek en kötü sonuçtur.

Ters yön de korunur: başka kanalların okuduğu bir feed'i silmeye çalışırsanız `409` ve `CHANNEL_FEED_IN_USE` döner; önce okuyan kanallarda paylaşımı kapatın.

## Para birimi farklıysa

Reddedilmez, uyarılır ("That channel prices in a different currency…"). Fiyatlar ürün kayıtlarından gelir, dolayısıyla katalog kaynağın para biriminde görünür — ama muhtemelen kastettiğiniz bu değildir. Kanalın kendi para birimi yalnızca kendi siparişlerinin raporlarında kullanılır.

## Paylaşımı kaldırmak

Aynı listeden **This channel's own feed** (Bu kanalın kendi feed'i) seçeneğini seçip **Save**'e basın. Kanalın kendi feed kaydı silinmemiştir; paylaşım açıkken yalnızca okunmaz. Geri döndüğünüzde feed URL'sini, alan eşleştirmesini ve senkronizasyon takvimini yeniden girmeniz gerekmez.

Kaynak kanalı silerseniz, onu okuyan kanallar otomatik olarak kendi feed'lerine döner (silme onayı bunu söyler: "Channels reading this one's catalogue lose it and fall back to their own").

## Rakamlar nerede görünür

- **Channels** listesinde okuyan kanalın **Catalogue** (Katalog) sütunu ürün sayısını ve **shared** yazısını gösterir; üstteki **Products** kartı paylaşılan kataloğu bir kez sayar.
- **Channel Overview** → **Product Feed** kartında "Catalogue from …" rozeti kaynağı adlandırır. Kartta görünen ürün sayısı, durum ve son senkronizasyon zamanı kaynak kanalın feed'ine aittir, okuyan kanalın değil.

## Sırada ne var

- [Ürün Beslemesi](/docs/product-feeds/overview)
- [Kanal Türleri](/docs/channels/channel-types)
- [Kanallar Ekranı](/docs/channels/all-channels)
