Menüler
Mağaza panelinde tanımlanan navigasyon menülerini (üst menü, mobil menü vb.) döndürür. Her menü, iç içe (ağaç) yapıda menü öğeleri içerir; öğeler hedef türü ve hazır URL ile gelir — istemcinin link kurması gerekmez. Salt-okunur bir kaynaktır.
storefront:read — herkese açık, token isteğe bağlı.id değeri sayısal değil, menü kodudur (büyük harf, rakam ve alt çizgi — örn. MENU_MOBILE). Tek kayıt isterken bu kodu kullanın.Listeleme
curl -s 'https://<domain>/api/v3/storefront/2026-01/menus' \
-H 'Accept: application/vnd.api+json' \
-H 'Authorization: Bearer <TOKEN>'
Örnek bir menü kaydı:
{
"type": "menus",
"id": "MENU_MOBILE",
"attributes": {
"name": "Mobil Menü",
"items": [
{ "label": "Kadın", "targetType": "category", "targetId": "335", "url": "https://<domain>/kadin", "opensInNewTab": false, "imageUrl": "", "sortOrder": 1, "children": [
{ "label": "Elbise", "targetType": "category", "targetId": "340", "url": "https://<domain>/kadin-elbise", "opensInNewTab": false, "imageUrl": "", "sortOrder": 1, "children": [] }
] },
{ "label": "Kampanya", "targetType": "url", "targetId": null, "url": "https://<domain>/kampanya", "opensInNewTab": true, "imageUrl": "https://<domain>/Data/menu/kampanya.png", "sortOrder": 2, "children": [] }
]
}
}
Tek menü
curl -s 'https://<domain>/api/v3/storefront/2026-01/menus/MENU_MOBILE' \
-H 'Accept: application/vnd.api+json' \
-H 'Authorization: Bearer <TOKEN>'
Yanıt yapısı listeleme ile aynıdır; data tekil obje döner. Tanımsız kod → 404.
Menü öğesi alanları
items en fazla 5 seviye derinliğe iner; her öğe şu alanları taşır:
| Alan | Açıklama |
|---|---|
label | Menüde görünen metin (mağazanın aktif diline göre) |
targetType | Hedef türü: category, brand, page, content, product, model, blog, news veya url |
targetId | Hedef kaydın id'si (string) — targetType: url gibi kayda bağlanmayan öğelerde null |
url | Hazır tam URL — doğrudan yönlendirmede kullanın |
opensInNewTab | Yeni sekmede açılmalı mı |
imageUrl | Öğeye tanımlı görselin tam URL'i; görsel yoksa boş string |
sortOrder | Menü içindeki sıra |
displayInMobile | Öğe mobil uygulamada gösterilmek üzere işaretli mi |
hasChildren | Alt öğesi var mı — children dizisini açmadan önce kontrol edilebilir |
children | Alt öğeler (aynı yapı, boş dizi olabilir) |
- Yalnızca aktif öğeler döner; pasif öğeler ve boş menü grupları öğesiz gelir.
targetType: categoryöğelerdetargetId, Kategoriler kaynağındakiidile eşleşir;brandöğelerde Markalar kaynağıyla.
Mobil görünürlük
Mobil uygulamada kategori menüsü, mağazanın "mobilde göster" işaretine göre daraltılır. Bu daraltma iki durumda devreye girer:
MENU_MOBILEkodlu menü istendiğinde,- ya da istekte
X-Storefront-Platform: iosveyaX-Storefront-Platform: androidbaşlığı gönderildiğinde.
curl "https://<domain>/api/v3/storefront/2026-01/menus?filter[id]=MENU_MOBILE" \
-H "Accept: application/vnd.api+json" \
-H "X-Storefront-Platform: ios" \
-H "Authorization: Bearer <access_token>"
Daraltma açıkken mobilde gösterilmeyen kategoriler menüden düşer; başlık gönderilmezse ve menü kodu MENU_MOBILE değilse tüm menü öğeleri döner. displayInMobile alanı her iki durumda da yanıtta yer alır.
Üst kategoriye dönüş öğesi
Alt öğesi olan bir kategori öğesinin children dizisinin başına, ebeveynin kendisine giden bir kısayol eklenir: kullanıcı "Gömlek" grubunu açtığında listenin ilk satırından doğrudan "Gömlek" kategorisine gidebilir. Kısayolun hedefi ebeveynle aynıdır, hasChildren değeri false ve children dizisi boştur.
Kısayolun metni mağazanın tema sözlüğünden gelir. Sözlükte karşılığı tanımlı değilse kısayol hiç eklenmez — istemcide etiketsiz bir satır oluşmaz.
Filtreler
| Filtre | Örnek | Davranış |
|---|---|---|
filter[id] | filter[id]=MENU_MOBILE,MENU_TOP | Menü koduyla sınırla — virgülle birden fazla kod |