# Ürün XML feed

> Tedarikçi ürünlerini tek XML adresinde alın: varyant, barkod, beden/renk, maliyet ve satış fiyatı, stok ve görseller. Her istekte güncel üretilir.

Paket kapsamınızdaki tüm aktif ürünleri tek bir adresten, standart bir XML şemasıyla alın. Feed her istekte güncel veriden akış halinde üretilir; ayrıca bir dosya oluşturmanız gerekmez.

## Kaynak sitelerin taranması

### Zamanlanmış tarama

- Ne yapar: Her tedarikçi sitesi kendi aralığında otomatik taranır; varsayılan aralık 4 saattir.
- Nasıl çalışır: Zamanlayıcı dakikada bir sırası gelen siteyi başlatır. Yarıda kalan tarama, servis yeniden başladığında kaldığı yerden devam eder.
- Çözdüğü problem: Fiyatı veya stoğu değişen ürünün feed'e geç yansıması.
- Teknik detay: Site bazında aralık, eşzamanlılık ve istek gecikmesi ayarlanabilir; her tarama 'Taramalar' ekranında süre ve değişen ürün sayısıyla kayıtlıdır.

### Fiyat geçmişi

- Ne yapar: Maliyet fiyatı değiştiğinde eski ve yeni fiyat, yön (artış/düşüş) ve zamanla kaydedilir.
- Nasıl çalışır: Tarama ve canlı kontrol sırasında fiyat farkı tespit edilirse fiyat geçmişine satır eklenir.
- Çözdüğü problem: Tedarikçi zamlarını fark etmeden eski marjla satış yapmak.
- Teknik detay: Panelde ürün bazında fiyat geçmişi grafiği ve 'Fiyat izleme' ekranında son değişiklikler.

## Alan eşleme

Feed'deki her ürün aşağıdaki alanları taşır. Boş olan alanlar XML'de yer almaz.

| XML alanı | Açıklama |
| --- | --- |
| product@id | Giyimport ürün kimliği (UUID) — değişmez |
| title, brand | Ürün adı ve marka |
| category, categoryPath | Kategori ve kaynak sitedeki tam kategori yolu |
| barcode | Ürün barkodu |
| variants/variant | type (ör. beden), value, barcode, stock, price, image |
| color, groupKey | Renk ve aynı modelin renklerini bir araya getiren grup anahtarı |
| costPrice, listPrice | Kaynak sitedeki satış fiyatı (sizin maliyetiniz) ve liste fiyatı |
| salePrice | Fiyat kurallarıyla hesaplanmış önerilen satış fiyatı |
| vatRate, currency | KDV oranı (kaynakta varsa) ve para birimi |
| stock, inStock | Toplam stok ve stok durumu |
| images/image | Sıralı görsel adresleri (Giyimport sunucusunda barındırılır) |
| attributes/attribute | Kumaş, kalıp, yaka tipi gibi ürün özellikleri |
| description | Ürün açıklaması (CDATA) |
| updatedAt | Son tarama zamanı (ISO 8601) |

## Örnek XML

Kısaltılmış bir ürün kaydı (örnek veri):

```xml
<?xml version="1.0" encoding="UTF-8"?>
<catalog generator="giyimport" generatedAt="2026-11-07T09:00:00.000Z" version="1">
<products>
<product id="8f1c2d3e-…">
  <title>Örnek Keten Gömlek</title>
  <brand>Örnek Marka</brand>
  <category>Gömlek</category>
  <categoryPath>Kadın > Giyim > Gömlek</categoryPath>
  <barcode>8690000000017</barcode>
  <costPrice>450</costPrice>
  <salePrice>799.9</salePrice>
  <currency>TRY</currency>
  <stock>24</stock>
  <inStock>true</inStock>
  <images><image order="1">https://api.giyimport.com/images/…/1.webp</image></images>
  <variants>
    <variant><type>Beden</type><value>S</value><barcode>8690000000024</barcode><stock>8</stock></variant>
    <variant><type>Beden</type><value>M</value><barcode>8690000000031</barcode><stock>16</stock></variant>
  </variants>
  <attributes><attribute name="Kumaş">Keten</attribute></attributes>
</product>
</products>
<count>1</count>
</catalog>
```

## Erişim, formatlar ve güncelleme

| Konu | Ayrıntı |
| --- | --- |
| Adres | https://api.giyimport.com/api/v1/feed.xml |
| Kimlik doğrulama | x-api-key başlığı veya Authorization: Bearer; URL tabanlı tüketiciler için yalnızca feed adresinde ?key= parametresi |
| Formatlar | XML (feed), JSON (sayfalı ürün API'si) |
| Filtreler | supplier, category, changedSince (ISO tarih) |
| Kapsam | Yalnızca aktif ürünler; deneme ve ürün sınırlı paketlerde seçtiğiniz kategorilerdeki ürünler |
| Güncellik | Her istekte güncel veriden üretilir; kaynak veri tarama aralığında (varsayılan 4 saat) yenilenir |
| Önbellek | Yanıt 5 dakika istemci tarafında önbelleğe alınabilir (Cache-Control: private, max-age=300) |

## Hata ve uyarı yönetimi

### Pasif ürünler feed'e girmez

- Ne yapar: Stoğu biten, elle bloklanan veya görseli hazırlanmamış ürün otomatik olarak pasife düşer.
- Nasıl çalışır: Aktiflik kuralı her sorguda veritabanında hesaplanır; pasif ürün XML'de ve API'de görünmez.
- Çözdüğü problem: Satılamayan ürünün mağazada açık kalması.
- Teknik detay: Kural: stokta && bloklu değil && (görsel yer tutucu ise ilgili site kuralı kapalı).

### Tarama ve sistem kayıtları

- Ne yapar: Her taramanın sonucu, hata ve uyarılar panelde 'Loglar' ve 'Taramalar' ekranında görünür.
- Nasıl çalışır: Tarama, görsel senkronu ve zamanlayıcı olayları yapılandırılmış log olarak yazılır.
- Çözdüğü problem: Feed'in neden eksik ürün içerdiğini bilememek.
- Teknik detay: Son 24 saatin hata/uyarı özeti Genel Bakış ekranındaki 'Sistem' kartında yer alır.
