Kategori ağacı nasıl gelir?
product-category yanıtı iç içe bir dizidir. Her düğümün alt kategorileri subs alanındadır. subs boşsa o kategori yapraktır ve ürün açmada kullanılabilir. Servis sayfalı değildir; ağacın tamamı tek yanıtta döner.
| Alan | Anlamı |
|---|---|
| id | Kategorinin idefix ID'si; ürün açarken categoryId olur |
| name | Kategori adı |
| parentId | Bir üst kategori; kök kategoride 0 |
| subs | Alt kategoriler; yoksa boş dizi |
| topCategory | Bağlı olduğu birinci seviye kategori |
Dokümandaki örnekte 522 numaralı kök kategorinin altında 1192 "Salopet & Tulum", onun altında 545 "Salopet" ve 546 "Tulum" yer alır. Ürün 545 ya da 546'ya açılır; 1192'ye açılamaz, çünkü onun alt kategorileri vardır.
Kategori özellikleri
Yaprak kategoriyi seçtikten sonra o kategorinin özellik listesini çekersiniz. Her özelliğin zorunlu olup olmadığı ve hangi değerleri kabul ettiği bu listede yazar.
| Alan | Anlamı | Ürün açarken ne yapılır |
|---|---|---|
| attributeId | Özelliğin ID'si | attributes içinde attributeId olarak gönderilir |
| attributeTitle | Özelliğin adı | Kendi alanlarınızla eşleştirmede kullanılır |
| required | Zorunlu mu | true ise mutlaka gönderilir |
| allowCustom | Serbest metin kabul eder mi | true ise ID yerine customAttributeValue metni gönderilir |
| attributeValues | İzin verilen değerler (id, name) | Seçilen değerin id'si attributeValueId olur |
| isVariant | Varyant özelliği mi | Aynı productMainId altındaki ürünleri ayırır |
| isSlicer | Vitrinde ayrıştırıcı mı | idefix.com'da ürünler bu özelliğe göre ayrı listelenir |
Özellik nasıl gönderilir?
Ürün oluşturma isteğinde her özellik attributes dizisine bir nesne olarak eklenir. Nesnenin üç alanı vardır:
- attributeId: kategori özellik listesindeki ID.
- attributeValueId: attributeValues listesinden seçilen değerin ID'si.
- customAttributeValue: allowCustom=true ise serbest metin; değilse null.
Aynı özelliği iki kez göndermek ATTRIBUTE_MULTIPLE_NOT_ALLOWED, listede olmayan bir değer ATTRIBUTEVALUE_NOT_DEFINED, kategoride olmayan bir özellik CUSTOM_ATTRIBUTE_NOT_SUPPORTED_YET hatası verir. Kendi ürün verinizdeki "renk" ya da "malzeme" gibi alanları idefix'in değer listesiyle bir kez eşleştirip saklamak, her üründe yeniden aramaktan çok daha hızlıdır. Bu eşleştirmenin mantığı kategori eşleştirme rehberinde anlatılıyor.
Sık hatalar ve çözümleri
| Hata | Neden | Çözüm |
|---|---|---|
| Ürün oluşmuyor, CATEGORY_MANDATORY_ATTRIBUTE_MISSED | Zorunlu özellik eksik | required=true özelliklerin hepsini gönderin |
| Üst kategoriye ürün açma | subs dolu bir kategori seçilmiş | Ağacın en altına inin |
| VENDOR_CATEGORY_ACCESS_DENIED | Mağazanın o kategoriye yetkisi yok | Kategori yetkisini idefix'ten isteyin |
| Serbest metin reddediliyor | allowCustom=false özelliğe metin yazılmış | Listeden bir attributeValueId seçin |
| CATEGORY_FAILED_TO_MATCH | Ürün katalogda başka kategoride | Yanıtta dönen doğru kategori ID'sini kullanın |
Kategori ağacı büyüktür. Her ürün için yeniden çekmek yerine önbellekte tutun ve belirli aralıklarla yenileyin. Özellik listesini de kategori başına bir kez çekip saklamak yeterlidir.
Sık sorulanlar
idefix kategori ID'si nereden bulunur?
GET https://merchantapi.idefix.com/pim/product-category servisinden. Yanıttaki her kategorinin id alanı, ürün oluştururken categoryId olarak gönderilir.
Neden üst kategoriye ürün açamıyorum?
idefix yalnız alt kategorisi olmayan kategoriye ürün açılmasına izin verir. subs alanı dolu olan kategorinin altına inin.
allowCustom ne demek?
Özelliğin serbest metin kabul ettiğini gösterir. true ise değer ID yerine customAttributeValue alanında metin olarak gönderilir.
Kategori servisi Satıcı ID ister mi?
Hayır. product-category ve category-attribute yollarında {vendorId} yoktur; X-API-KEY başlığı yeterlidir.
Kaynaklar
İlgili idefix API konuları
Son güncelleme: 27.10.2026 · idefix API rehberinin tamamı


