Ürünler
Filtreleme Seçenekleri
Bu method ürün listeleme sayfasında listelenmek istenen filtreleme seçeneklerini getirir.
Renk, beden, kategori ağacı ve ürün sıralama seçeneklerini bu servis aracılığıyle listeleyebilirsiniz.
Bilgileri Listeleme
get
/api/shop/filters
Filtreleme seçenekleri servisine yapılan istek, kurgulanan frontend sayfa şablonuna göre değişiklik gösterebileceğinden dolayı tüm verileri almak istemeyebilirsiniz. Sadece Renk veya kategori bilgilerini almak veya hariç bırakmak isteyebilirsiniz.
Bunu sağlamak için servise allow ve exclude adında 2 adet query gönderebilirsiniz.
Bu parametreleri göndermediğiniz takdirde ön tanımlı olarak tüm bilgiler listelenecektir.
| Değerler | Zorunluluk | Açıklama |
|---|---|---|
| allow | hayır | color,size,category,brand,sorting verileri virgül ile ayrılarak gönderilebilir. Sadece gönderilen veriler listelenir. |
| exclude | hayır | color,size,category,brand,sorting verileri virgül ile ayrılarak gönderilebilir. Gönderilen veriler hariç bırakılır. |
Örnek İstek
axios.get('{baseUrl}/api/shop/filters?exclude=category')
Servis Cevabı ve Alan Açıklamaları
| Alan adı | Açıklama |
|---|---|
| name | Filtre adı |
| inputType | Frontend tarafında hangi input tipini kullanmanız gerektiğini bildirir |
| sortId | Filtrenin sıralama verisi |
| queryName | Backend servislerine yapılacak filtreleme isteklerinde queryName kullanılmalıdır |
| showTitle | Filtre adını göster/gösterme |
| options | Filtreleme seçeneğine ait veriler |
[
{
"name": "Markalar",
"inputType": "checkbox",
"sortId": 1,
"isOpen": false,
"queryName": "brand",
"showTitle": true,
"options": [
{
"value": "loreal",
"label": "Loreal"
},
{
"value": "borren",
"label": "Borren"
},
{
"value": "alterna",
"label": "ALTERNA"
},
{
"value": "matrix",
"label": "Matrix"
},
{
"value": "egyptian-magic",
"label": "Egyptian Magic"
}
]
},
{
"name": "Sıralama",
"inputType": "select",
"sortId": 4,
"isOpen": false,
"queryName": "sort",
"showTitle": true,
"options": [
{
"value": 0,
"label": "Önerilen sıralama"
},
{
"value": 1,
"label": "En düşük fiyat"
},
{
"value": 2,
"label": "En yüksek fiyat"
},
{
"value": 3,
"label": "En yeniler"
},
{
"value": 4,
"label": "En çok satanlar"
},
{
"value": 5,
"label": "En çok favorilenenler"
},
{
"value": 6,
"label": "En çok değerlendirilenler"
}
]
}
]