Ürünler
Ürün Listeleme Servisi
Kategori, marka ve koleksiyon bilgilerine göre ürünleri listeleme ve filtreleme işlemlerine ait ilgili metod açıklamalarını bu başlık altında bulabilirsiniz.
Ürünleri Listeleme
Ürünleri listelerken slug ve page değerlerinin gönderilmesi zorunludur. Slug değeri, kategori, marka yada koleksiyona ait eşsiz URL bilgisidir. Frontend tarafı ile uyumlu çalışma amacıyla, API isteği yapılan sayfadaki pathname servise gönderilirse, kategori, koleksiyon ve marka filtrelemesi yapılabilir.
Önemli Not: productIds gönderildiğinde slug zorunlu değildir; productIds gönderilmediği durumlarda slug gönderilmesi zorunludur. Sadece productIds gönderilerek belirli id'ye sahip ürünler filtrelenebilir.
Bearer Token ile üye token bilgisi gönderilirse, üyeye özel sonuçlar dönülebilir. Örneğin ürünün favoriye eklenme durumu, üyeye özel indirim yada fiyatlandırma vb.
Parametre Tanımlamaları
Aşağıdaki parametreler ile ürün listeleme servisine istek yapabilirsiniz.
| Değerler | Zorunluluk | Ön Tanımlı | Açıklama |
|---|---|---|---|
| slug | evet | Kategori, marka yada koleksiyona ait eşsiz URL bilgisidir. Örnek: "esofman-alti" | |
| lang | hayır | tr | Servisten beklenen dil bilgisidir. Merchant'a tanımlı dil bilgileri ile istek yapılabilir. |
| warehouseId | hayır | Çoklu depo kullanan satıcılar için depo id bilgisidir. Gönderilen depo id'sine ait deponun fiyat ve stok bilgileri listelenir. Veri gönderilmezse, ön tanımlı depoya ait ürünler listelenir. | |
| page | evet | 1 | Sayfalama işlemi için gönderilmesi gereken sayfa bilgisidir. |
| limit | hayır | 20 | Bir sayfa içerisine en fazla kaç adet ürünün listeleneceğini ifade eder. |
| brand | hayır | Marka filtrelemesi yapılmak istenirse marka id bilgisi gönderilebilir. Virgülle ayrılmış değerler gönderilebilir. | |
| sort | hayır | Sıralama yöntemi değiştirmek istenirse filtreleme servisinden çekilen sıralama verisi gönderilerek ürün sıralaması değiştirilebilir | |
| hideOutOfStock | hayır | Stokta olmayan ürünleri göster/gizle. Satıcı hesabı tarafından "Stok adedi filtresini son kullanıcıya göster" işaretlenirse uygulanır, aksi durumda filtre çalışmaz. | |
| productIds | hayır | Belirli ürünlerin listelenmesi isteniyorsa virgül ile ayrılarak product id'ler verilebilir. Örnek : 63554,63562 | |
| expectProductIds | hayır | Hariç bırakılmak istenen ürünler varsa ise virgül ile ayrılarak product id'ler verilebilir. | |
| withXYImage | hayır | Ürün görseli olarak XY vitrin görsellerinin listelenmesi isteniyorsa bu seçenek true gönderilmelidir. |
Örnek İstek
axios.post('{baseUrl}/api/shop/products', {
slug : 'anne-bebek-bakim',
page : 1,
limit : 50,
})
Servis Cevabı ve Alan Açıklamaları
| Alan adı | Açıklama |
|---|---|
| results | İstek sonucu, ürün listesi |
| limit | Sayfa başına listelenen ürün sayısı |
| currentPage | Mevcut sayfa |
| totalProducts | Toplam ürün |
| totalPage | Toplam sayfa |
| head | Frontend ve SEO için gerekli olan bilgileri içerir |
| head->title | SEO başlık bilgisi |
| head->description | SEO açıklaması |
| head->htmlContent | Varsa sayfaya özel HTML içeriği |
| head->canonicalUrl | SEO canonical URL bilgisi |
| head->breadcrumbList | Sayfa breadcrumb bilgisi |
| head->customData | Kategori adı, sayfa görseli ve ikon bilgileri |
{
"results": [
{
"productId": 82081,
"modelSku": "TYB171300106D210630101152",
"productType": "bundle",
"productTitle": "Mustela Hair Styler - Skin Freshener 200 Ml IYI-101391",
"productSubTitle": null,
"brandName": "Mustela",
"manufacturedCountry": null,
"variants": [
{
"variantId": 151731,
"colorCode": "",
"colorName": null,
"url": "/mustela-hair-styler-skin-freshener-200-ml-iyi-101391-tyb171300106d210630101152",
"quantity": 478,
"currency": "TRY",
"price": "84.00",
"discount": [],
"status": 1,
"images": [],
"thumbnail": "https://static-labs.s3-eu-central-1.amazonaws.com/assets/no-image.jpg",
"isFavorited": false,
"isNew": false,
"isFreeShipping": false,
"active": true
}
],
"selectedVariant": {
"variantId": 151731,
"colorCode": "",
"colorName": null,
"url": "/mustela-hair-styler-skin-freshener-200-ml-iyi-101391-tyb171300106d210630101152",
"quantity": 478,
"currency": "TRY",
"price": "84.00",
"discount": [],
"status": 1,
"images": [],
"thumbnail": "https://static-labs.s3-eu-central-1.amazonaws.com/assets/no-image.jpg",
"isFavorited": false,
"isNew": false,
"isFreeShipping": false,
"active": true
}
}
],
"limit": 5,
"currentPage": 1,
"totalProducts": 1,
"totalPage": 1,
"head": {
"title": "Anne & Bebek Bakım Ürünleri ve Fiyatları",
"description": "null",
"htmlContent": "Anne & Bebek Bakım Ürünleri ve Fiyatları",
"canonicalUrl": "",
"breadcrumbList": [
{
"url": "anne-bebek-bakim",
"label": "Anne & Bebek Bakım",
"sort": 0
}
],
"customData" : {
"pageTitle" : "Anne & Bebek Bakım",
"pageIcon" : "",
"pageBanner" : "",
}
}
}
Diğer Kullanım Amaçları
Bu servisi Son Görüntülenen Ürünler gibi özellikler için de kullanabilirsiniz. Bunun için kullanıcının ziyaret ettiği ürünlerin id'sini localstorage veya cookie'de saklayıp ürün detay sayfasında spesifik ürün id'leri ile istek yaparak kullanıcının son ziyaret ettiği ürünleri listeleyebilirsiniz.
Örnek İstek
axios.post('{baseUrl}/api/shop/products', {
productIds : '63554,63562',
expectProductIds : '52366', // mevcut sayfadaki ürünü hariç bırakıyoruz
limit : 12,
lang: 'tr'
})