Ana içeriğe geç

getProductsByIds

Birden fazla ürünü kimlikleriyle almak.

Açıklama

Bu yöntem, API'den kimliklerine (ids) dayalı olarak ürün nesnelerini alır. Ürün için bir IProductsEntity nesneleri döndüren bir Promise döner.

Products.getProductsByIds( ids, langCode, userQuery );

Parametreler şeması

Şema

ids(gerekli): string
İlişkileri bulmak için ürün sayfası kimlikleri
örnek: "12345,67890"

langCode: string
Dil kodu. Varsayılan "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(gerekli): number
Sayfalandırma için parametre. Varsayılan: 0.

userQuery.limit(gerekli): number
Sayfalandırma için parametre. Varsayılan: 30.

userQuery.sortOrder(gerekli): string
Sıralama düzeni "DESC" | "ASC". Varsayılan: "DESC".

userQuery.sortKey(gerekli): 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"

Varsayılan olarak, 10 nesne alabilirsiniz. Bu, modülün izin ayarlarında kayıt limitinden kaynaklanmaktadır.
Sayfalandırmanın doğru çalışması için, ihtiyaçlarınıza göre Modül izinlerini ilgili bölümde yapılandırmanız gerekir.

Örnekler

Minimal örnek

const response = await Products.getProductsByIds('1, 5, 8');

Nitelikler ile örnek

const userQuery = {
"offset": 0,
"limit": 30,
"sortOrder": "DESC",
"sortKey": "id"
};
const response = await Products.getProductsByIds('1, 5, 8', 'en_US', userQuery);

Örnek yanıt

[
{
"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"
],
"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": {
"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
}
},
"productPages": [
{
"id": 2847,
"pageId": 10,
"productId": 2954,
"positionId": 3190,
"categoryPath": "catalog"
}
],
"blocks": [
"product_block",
"product_block"
]
},
{
"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"
],
"attributeValues": {},
"productPages": [
{
"id": 2848,
"pageId": 10,
"productId": 2955,
"positionId": 3191,
"categoryPath": "catalog"
}
],
"blocks": [
"product_block",
"product_block"
]
}
]

Yanıt şeması

Şema: IProductsEntity[]

id: number
Benzersiz tanımlayıcı.
örnek: 12345

localizeInfos: ILocalizeInfo
Ürünlerin adları, yerelleştirme dikkate alınarak.
örnek:

statusIdentifier: string | null
Ürün sayfası durum tanımlayıcıları (null olabilir).
örnek: "in_stock"

statusLocalizeInfos: any
Dil dikkate alınarak öğe durumu nesnesinin JSON tanımı.
örnek:

attributeSetIdentifier: string | null
Nitelik seti kimliği.
örnek: "set_12345"

position: number
Öğe numarası (sıralama için).
örnek: 1

templateIdentifier: string | null
Bağlı şablonun kullanıcı kimliği.
örnek: "template_12345"

shortDescTemplateIdentifier: string | null
Kısa açıklama için bağlı şablonun kullanıcı kimliği.
örnek: "short_desc_template_12345"

price: number
İndeksden alınan ürün sayfası fiyatının değeri.
örnek: 150

additional: object
İndeksden ek değer.
örnek:

{
"en": "Stokta",
"de": "Auf Lager"
}

sku: string | null
Ürün SKU'su (Stok Tutma Birimi), null olabilir.
örnek: "SKU_12345"

isSync: boolean
Sayfa indeksleme göstergesi.
örnek: true

attributeValues: AttributeType
İndeksden temsil edilen nitelik değerleri dizisi.
örnek:

[
{
"id": "color",
"value": "red"
}
]

categories: string[]
Ürün kategorileri.
örnek:

[
1,
2,
3
]

isVisible: boolean
Sayfa görünürlüğü işareti.
örnek: true

productPages: any
Ürün sayfaları dizisi veya tek bir ürün sayfası nesnesi.
örnek: []

blocks: string[]
Blok tanımlayıcıları dizisi.
örnek:

[
"block_12345",
"block_67890"
]

isPositionLocked: boolean
Sıralama pozisyonu kilit göstergesi (isteğe bağlı).
örnek: false

relatedIds: number[]
İlgili ürün sayfalarının kimlikleri.
örnek:

[
12345,
67890
]