Ana içeriğe geç

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 body `= [
{
"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": ""
}
]

const response = await Products.getProductsByPageUrl('catalog', body)

Örnek yanıt

{
"items": [
{
"id": 2954,
"localizeInfos": {
"title": "Kutu"
},
"statusIdentifier": "sale",
"statusLocalizeInfos": {
"title": "Satış"
},
"attributeSetIdentifier": "products",
"position": 3,
"templateIdentifier": null,
"shortDescTemplateIdentifier": "product_preview",
"price": 51,
"additional": {
"prices": {
"min": 51,
"max": 150
}
},
"sku": null,
"isSync": true,
"attributeValues": {
"product-name": {
"type": "string",
"value": "product-name",
"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": [],
"isIcon": false,
"position": 3,
"additionalFields": [],
"isProductPreview": false
}
},
"categories": [
"catalog"
],
"isVisible": true,
"isPositionLocked": false
},
{
"id": 2955,
"localizeInfos": {
"title": "Ürün"
},
"statusIdentifier": "sale",
"statusLocalizeInfos": {
"title": "Satış"
},
"attributeSetIdentifier": null,
"position": 2,
"templateIdentifier": null,
"shortDescTemplateIdentifier": null,
"price": null,
"additional": {
"prices": {
"min": 51,
"max": 150
}
},
"sku": null,
"isSync": false,
"attributeValues": {},
"categories": [
"catalog"
],
"isVisible": true,
"isPositionLocked": false
},
{
"id": 2957,
"localizeInfos": {
"title": "Cosmo"
},
"statusIdentifier": "sale",
"statusLocalizeInfos": {
"title": "Satış"
},
"attributeSetIdentifier": "products",
"position": 1,
"templateIdentifier": null,
"shortDescTemplateIdentifier": null,
"price": 150,
"additional": {
"prices": {
"min": 51,
"max": 150
}
},
"sku": null,
"isSync": true,
"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
}
},
"categories": [
"catalog"
],
"isVisible": true,
"isPositionLocked": 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 dizisi.
örnek:

[
{
"id": 12345,
"title": "Ürün 1"
},
{
"id": 67890,
"title": "Ürün 2"
}
]