Formatlar

XML, JSON ve push desteği

Selwise üç besleme formatını okur: XML, JSON ve CSV. Üçü de akış hâlinde okunur: belge asla bütünüyle belleğe alınmaz, bu yüzden büyük kataloglar sorun değildir.

Panelde nerede

Katalog → Ürün Beslemesi (Catalog → Product Feed) → Configuration → Feed URL sekmesi → Feed Type (XML / JSON / CSV). Dosya yüklemede ve push'ta format seçilmez; baytlardan anlaşılır.

Format seçimi bir bildirimdir

Panelde bir format seçersiniz, ama asıl belirleyici dosyanın kendisidir: ilk baytlara bakılır ve < ile başlıyorsa XML, { ya da [ ile başlıyorsa JSON, ilk satırında virgül, noktalı virgül veya sekme geçen bir tablo ise CSV okunur. Seçtiğinizle dosya uyuşmuyorsa Selwise doğru okuyucuyu kullanır ve panelde yazan formatı düzeltir; XML olarak işaretlenmiş bir JSON dışa aktarımı bu yüzden hata vermez. .gz ile sıkıştırılmış içerik, içerik türü ne derse desin kendiliğinden açılır. Beklenmedik bir uzantı (.txt, .tsv) da okunur.

XML

En yaygın format. Google Merchant uyumlu beslemeler dahil çoğu e-ticaret altyapısının ürettiği XML doğrudan okunur. Bir ürünü saran öğe şöyle bulunur:

  1. Belgenin ilk 256 KB'ında item, product, entry, offer, urun ya da record adlı bir öğe varsa ürün odur (bu sırayla).
  2. Yoksa en çok tekrar eden öğe seçilir (en az iki kez; eşitlikte en sığ olan).
  3. Hiçbir şey tekrar etmiyorsa "No products found in feed" olur.
<products>
  <product>
    <id>SKU-001</id>
    <name>Örnek Ürün</name>
    <price>299.90</price>
    <originalPrice>399.90</originalPrice>
    <stock>12</stock>
    <category>Kadın &gt; Ayakkabı</category>
    <image>https://magaza.com/img/1.jpg</image>
    <url>https://magaza.com/urun/ornek</url>
  </product>
</products>

Etiket adlarınız farklıysa sorun değil — eşleştirme ile bağlarsınız. Selwise'in kendiliğinden tanıdığı adlar için bkz. Otomatik Tanınan Alan Adları. Öneklenmiş etiketler (g:price, c:category_hierarchy) ve öznitelikler (id="…") öneksiz adla bulunur: eşleştirmede price ya da item_group_id yazmanız yeter.

JSON

Belge bir dizi olabilir ya da ürün dizisi şu anahtarlardan birinde durabilir: products, items, results (Akinon/Omnitron sayfalanmış dışa aktarımı), data, rows.

{
  "products": [
    {
      "id": "SKU-001",
      "name": "Örnek Ürün",
      "price": 299.90,
      "originalPrice": 399.90,
      "stock": 12,
      "category": "Kadın > Ayakkabı",
      "image": "https://magaza.com/img/1.jpg",
      "url": "https://magaza.com/urun/ornek"
    }
  ]
}

Ürünler başka bir anahtarın altındaysa belgeyi bu anahtarlardan birinde sarın ya da kökte bir dizi gönderin; ürün dizisinin yolu panelden ayarlanamaz.

CSV

Her PIM ve her elektronik tablo bu formatı dışa aktarabilir. İlk satır başlık satırıdır; sütun adları eşleştirmede kullandığınız alan adlarıdır.

sku;title;price;stock;image
SKU-001;Örnek Ürün;299,90;12;https://magaza.com/img/1.jpg

Ayırıcıyı siz seçmezsiniz: başlık satırından okunur (,, ;, sekme ya da |; tırnak içindeki ayırıcılar sayılmaz). Excel makinenin diline göre virgül ya da noktalı virgül yazdığı için Türkçe ve Almanca dışa aktarımlar noktalı virgüllüdür ve bu kendiliğinden anlaşılır. Başlıklar kırpılır, boş satırlar ve UTF-8 BOM atlanır; eksik ya da fazla hücreli bir satır tüm dosyayı düşürmez, eşlenebildiği kadar okunur (hiçbir şeye eşlenmeyen satır Rows skipped sayılır).

Fiyatta hem 1.299,90 hem 1299.90 doğru okunur: son nokta ya da virgül ondalık ayracıdır; arkasında tam üç hane varsa binlik ayracıdır (2.500 → 2500).

İç içe yapılar

Alanlarınız iç içe nesnelerde duruyorsa nokta gösterimiyle erişebilirsiniz:

{
  "sku": "SKU-001",
  "pricing": { "current": 299.90, "list": 399.90 },
  "media": { "primary": "https://..." }
}

Eşleştirmede pricing.current yazarsınız. Dizi elemanı için sıra numarası kullanılır (productimage_set.0.image ya da productimage_set[0].image); numara yazmazsanız ilk eleman alınır (productimage_set.image). En fazla 12 düzey derinliğe inilir. Bir yol nesneye ya da diziye inerse okunabilir ilk değer alınır (nesnede label, value, name, image, url anahtarları sırayla denenir). Ayrıntı: Alan Eşleştirme.

Gereksinimler

KonuKural
KodlamaUTF-8
Erişim (URL yöntemi)Herkese açık http ya da https adresi; kimlik bilgisi adresin içinde olamaz
BoyutURL: en fazla 200 MB ve 120 saniye. Dosya yükleme ve push: 50 MB. Feed başına en fazla 100.000 satır
Sıkıştırma.gz dosyalar kendiliğinden açılır
GüncellikFiyat ve stok değişiklikleri beslemede yansımalı; Selwise yalnızca senkronizasyon anında okur
Tekrarlayan kodAynı ürün kodunu taşıyan ikinci satır atlanır (Rows skipped artar); ilk satır kazanır

Google Merchant beslemesi

Google Merchant Center için ürettiğiniz beslemeyi olduğu gibi kullanabilirsiniz. Bu biçim satır başına bir satılabilir ürün taşır ve Selwise her satırı ayrı ürün olarak alır; item_group_id alanı ise hangi ürünlerin kardeş olduğunu söyler — bkz. Varyant Gruplama. Field Mapping sekmesindeki Google Merchant Center hazır eşlemesini uygulayın: Google'ın price alanı liste fiyatı, sale_price ödenecek fiyattır; hazır eşleme bunu doğru kurar.

Son güncelleme: 22 Ekim 2026