getProductsByPageUrl
Seçilen kategori için (URL'sine göre) sayfalama ile tüm ürün nesnelerini arayın.
Açıklama
Bu yöntem, sağlanan sorgu parametrelerine (userQuery) dayanarak, seçilen kategori için sayfalama ile tüm ürün nesnelerini arar. Bir Promise döner ve bu Promise, IProductsResponse nesnesine çözülür.
Products.getProductsByPageUrl(
url,
body,
langCode,
userQuery
);
Parametreler şeması
Şema
url(zorunlu): string
Sayfa URL'si
örnek: "catalog"
body: IFilterParams[]
İstek gövdesi. Varsayılan: []
örnek:
[
{
"attributeMarker": "price",
"conditionMarker": "mth",
"statusMarker": "waiting",
"conditionValue": 1,
"pageUrls": [
"23-laminat-floorwood-maxima"
],
"isNested": false,
"title": ""
},
{
"attributeMarker": "price",
"conditionMarker": "lth",
"conditionValue": 3,
"pageUrls": [
"23-laminat-floorwood-maxima"
],
"isNested": false,
"title": ""
}
]
langCode: string
Dil kodu. Varsayılan: "en_US"
örnek: "en_US"
userQuery: IProductsQuery
İsteğe bağlı sorgu parametreleri
örnek:
{
"limit": 30,
"offset": 0,
"sortOrder": "DESC",
"sortKey": "id",
"statusId": 123,
"statusMarker": "in_stock",
"conditionValue": "new",
"conditionMarker": "equals",
"attributeMarker": "color"
}
userQuery.offset(zorunlu): number
Sayfalama için parametre. Varsayılan: 0.
userQuery.limit(zorunlu): number
Sayfalama için parametre. Varsayılan: 30.
userQuery.sortOrder(zorunlu): string
Sıralama düzeni "DESC" | "ASC". Varsayılan: "DESC".
userQuery.sortKey(zorunlu): string
Sıralama için alan (varsayılan - null). Olası değerler: "id", "position", "title", "date", "price". Varsayılan: null.
userQuery.templateMarker: string | null
Ürün sayfası şablon işareti, varsayılan null.
örnek: "template_12345"
userQuery.statusMarker: string | null
Ürün sayfası durum işareti, varsayılan null.
örnek: "in_stock"
userQuery.conditionValue: string | null
Aranan değer, varsayılan null.
örnek: "new"
userQuery.attributeMarker: string | null
Değerlerin filtrelendiği dizinlenmiş niteliğin metin tanımlayıcısı, varsayılan null.
örnek: "color"
userQuery.conditionMarker: string | null
Değerlerin filtrelendiği filtre koşulunun işareti, varsayılan null.
örnek: "equals"
Örnekler
Minimal örnek
const response = await Products.getProductsByPageUrl('catalog');
body parametresi ile örnek
const body = [ { "attributeMarker": "price", "conditionMarker": "mth", "conditionValue": 1, "statusMarker": "waiting", "pageUrls": [ "23-laminat-floorwood-maxima" ], "isNested": false, "title": "" }, { "attributeMarker": "price", "conditionMarker": "lth", "conditionValue": 3, "pageUrls": [ "23-laminat-floorwood-maxima" ], "isNested": false, "title": "" }];
const response = await Products.getProductsByPageUrl('catalog', body);
Örnek yanıt
{
"items": [
{
"id": 2954,
"attributeSetIdentifier": "products",
"localizeInfos": {
"title": "Kutu"
},
"statusLocalizeInfos": {
"title": "İndirim"
},
"isVisible": true,
"statusIdentifier": "sale",
"position": 1,
"templateIdentifier": null,
"shortDescTemplateIdentifier": "product_preview",
"price": 51,
"additional": {
"prices": {
"min": 51,
"max": 150
}
},
"sku": null,
"isSync": true,
"categories": [
"catalog"
],
"isPositionLocked": false,
"attributeValues": {
"product-name": {
"type": "string",
"value": "ürün-adı",
"isIcon": false,
"position": 0,
"additionalFields": [],
"isProductPreview": false
},
"price": {
"type": "integer",
"value": 51,
"isIcon": false,
"position": 1,
"additionalFields": [],
"isProductPreview": false
},
"currency_products": {
"type": "string",
"value": "usd",
"isIcon": false,
"position": 2,
"additionalFields": [],
"isProductPreview": false
},
"img": {
"type": "image",
"value": {
"size": 241636,
"filename": "files/project/product/2954/image/7e0a6a70-a23d-410f-8b6a-f8b4f7483244.png",
"downloadLink": "https://your-project.oneentry.cloud/cloud-static/files/project/product/2954/image/7e0a6a70-a23d-410f-8b6a-f8b4f7483244.png"
},
"isIcon": false,
"position": 3,
"additionalFields": [],
"isProductPreview": false
}
}
},
{
"id": 2955,
"attributeSetIdentifier": null,
"localizeInfos": {
"title": "Ürün"
},
"statusLocalizeInfos": {
"title": "İndirim"
},
"isVisible": true,
"statusIdentifier": "sale",
"position": 2,
"templateIdentifier": null,
"shortDescTemplateIdentifier": null,
"price": null,
"additional": {
"prices": {
"min": 51,
"max": 150
}
},
"sku": null,
"isSync": false,
"categories": [
"catalog"
],
"isPositionLocked": false,
"attributeValues": {}
},
{
"id": 2957,
"attributeSetIdentifier": "products",
"localizeInfos": {
"title": "Cosmo"
},
"statusLocalizeInfos": {
"title": "İndirim"
},
"isVisible": true,
"statusIdentifier": "sale",
"position": 3,
"templateIdentifier": null,
"shortDescTemplateIdentifier": null,
"price": 150,
"additional": {
"prices": {
"min": 51,
"max": 150
}
},
"sku": null,
"isSync": true,
"categories": [
"catalog"
],
"isPositionLocked": false,
"attributeValues": {
"product-name": {
"type": "string",
"value": "Cosmo",
"isIcon": false,
"position": 0,
"additionalFields": [],
"isProductPreview": false
},
"price": {
"type": "integer",
"value": 150,
"isIcon": false,
"position": 1,
"additionalFields": [],
"isProductPreview": false
},
"currency_products": {
"type": "string",
"value": "",
"isIcon": false,
"position": 2,
"additionalFields": [],
"isProductPreview": false
},
"img": {
"type": "image",
"value": [],
"isIcon": false,
"position": 3,
"additionalFields": [],
"isProductPreview": false
}
}
}
],
"total": 3
}
Yanıt şeması
Şema: IProductsResponse
total: number
Bulunan toplam ürün sayısı.
örnek: 100
items: IProductsEntity[]
Ürün varlıklarının bir dizisi.
örnek:
[
{
"id": 12345,
"title": "Ürün 1"
},
{
"id": 67890,
"title": "Ürün 2"
}
]