T-SOFT/Storefront API/Kategoriler

Kategoriler

Yetki:storefront:read — herkese açık, token isteğe bağlı.

Ana kategoriler

En üst seviye kategorileri listelemek için filter[parentId]=0 kullan:

GET /categories
curl -s 'https://<domain>/api/v3/storefront/2026-01/categories?filter[parentId]=0' \
  -H 'Accept: application/vnd.api+json' \
  -H 'Authorization: Bearer <TOKEN>'

Örnek bir kategori kaydı:

{
  "type": "categories",
  "id": "335",
  "attributes": {
    "code": "mobilya",
    "name": "Mobilya",
    "slug": "mobilya",
    "seoTitle": "Mobilya | Mağaza",
    "seoDescription": "…",
    "shortDescription": "Ev ve ofis için mobilya çeşitleri.",
    "image": "https://<domain>/Data/EditorFiles/kategoriler/mobilya.jpg",
    "parentId": 0,
    "productCount": 128,
    "hasChild": true,
    "isActive": true
  }
}
Kategori ID'lerini uygulamaya sabit değer olarak gömme (335 gibi) — mağazadan mağazaya değişir. Ana kategorileri her zaman filter[parentId]=0 ile sorgula.

Tek kategori

GET categories/{id}
curl -s 'https://<domain>/api/v3/storefront/2026-01/categories/340' \
  -H 'Accept: application/vnd.api+json' \
  -H 'Authorization: Bearer <TOKEN>'

Yanıt, listedeki kaydın aynısıdır (data tekil obje olarak döner). Kategori sayfası açılışında ağaç konumunu çözmek için parentId ve hasChild alanlarını kullan; alt dalları listelemek için filter[parentId]={id} ile sorgula.

Yayında olmayan veya görünürlüğü kapalı bir kategori istendiğinde 404 alınır.

Alanlar

AlanAçıklama
codeKategori kodu
nameGörünen ad
slugURL parçası
seoTitle, seoDescription, shortDescriptionSEO/kart metinleri
imageTam URL, yoksa boş string
parentIdÜst kategori id'si (kök için 0)
productCountKategorideki yayın ürün sayısı
hasChildAlt kategori var mı?
isActiveKategori aktif mi? Yanıtta yalnızca görünür kategoriler döndüğü için pratikte her zaman true'dur; bu alana bakarak eleme yapmana gerek yok
Kategori listesi ile Menüler kaynağı aynı görünürlük kümesini kullanır: menüde gizlenmiş ama mobilde gösterilmek üzere işaretlenmiş bir kategori her ikisinde de döner. Mağaza kategoriyi tamamen kapattıysa hiçbirinde görünmez.

Ağaçta drill-down

hasChild: true olan bir kategorinin alt dalları için tekrar filter[parentId]=<id> ile sorgu at:

categories?filter[parentId]=335

Sıralama

SortAnlamı
sortOrderYönetim panelinden verilen manuel sıra
nameAlfabetik
idKayıt numarası

sort verilmezse kategoriler mağazanın verdiği manuel sıraya, eşitlikte id'ye göre döner — aynı istek her çağrıldığında aynı sırayı verir.

productCount bazı mağazalarda güncel olmayabilir — kategoride ürün olmasına rağmen 0 dönebilir. "Bu kategoride şu kadar ürün var" rozetini bu alana doğrudan bağlarken bu ihtimali göz önünde bulundur.