Ana içeriğe geç

getProductsByIds

Birden fazla ürünü kimlikleriyle almak.

Açıklama

Bu yöntem, API'den kimliklerine (ids) dayanarak ürün nesnelerini alır. Ürün için bir IProductsEntity nesnesine çözülmekte olan bir Promise döndürür.

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",
"signPrice": "orders",
"templateMarker": "template_12345",
"statusMarker": "in_stock",
"conditionValue": "new",
"conditionMarker": "eq",
"attributeMarker": "color"
}

userQuery.offset(gerekli): number
Sayfalama için parametre. Varsayılan: 0.

userQuery.limit(gerekli): number
Sayfalama 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.signPrice: string
Fiyat işareti. 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"

userQuery.langCode: string
Dil kodu. Varsayılan: "en_US".

userQuery.ids: string
Virgülle ayrılmış ürün kimlikleri listesi — getProductsByIds tarafından kullanılır.
örnek: "1,2,3"

Varsayılan olarak, 10 nesne alabilirsiniz. Bu, modülün izin ayarlarındaki kayıt limitinden kaynaklanmaktadır.
Sayfalamanı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);
Belirli ürünleri bulmak için filtreleri kullanın:

attributeMarker: Değerlerin filtrelendiği dizinlenmiş niteliğin metin tanımlayıcısı. conditionMarker: Nitelik değerine uygulanacak koşul türü.

İşaretAnlamıÖrnek
eqEşitstatusId = 1 (sadece aktif)
neqEşit değilcategory ≠ "archived"
inİçerir (birinden)category in ["electronics", "books"]
ninİçermezbrand not in ["fake_brand"]
exsVardır (değeri var)Açıklama var
nexsYokturResim yok

conditionValue: Karşılaştırılacak değer.

Örnek yanıt

[
{
"id": 2954,
"attributeSetIdentifier": "products",
"localizeInfos": {
"title": "Box"
},
"statusLocalizeInfos": {
"title": "Sale"
},
"isVisible": true,
"statusIdentifier": "sale",
"position": 2,
"templateIdentifier": "my-template",
"shortDescTemplateIdentifier": "My template description",
"price": 51,
"additional": {
"prices": {
"min": 51,
"max": 150
}
},
"sku": null,
"isSync": true,
"categories": [
"catalog"
],
"paymentStages": [
{
"title": "Part A",
"marker": "part_a",
"value": 100
},
{
"title": "Part B",
"marker": "part_b",
"value": 200
}
],
"rating": {
"votes": 42,
"value": 4.5,
"like": 10,
"dislike": 2,
"method": "weighted"
},
"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",
"contentType": "image/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"
],
"signedPrice": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"moduleFormConfigs": [
{
"id": 12,
"formIdentifier": "review",
"moduleIdentifier": "catalog",
"isGlobal": false,
"isClosed": false,
"isModerate": false,
"viewOnlyMyData": false,
"commentOnlyMyData": false,
"entityIdentifiers": [
{
"id": "catalog",
"isNested": true
}
],
"formDataCount": 374,
"ratingCalculation": "average",
"allowHalfRatings": true,
"maxRatingScale": 5,
"isAnonymous": true,
"allowRerating": true,
"isRating": true,
"entityFormDataCount": {
"2954": 374
},
"nestedEntityIdentifiers": [
"catalog"
],
"exceptionIds": []
}
],
"discountConfig": {
"discounts": [
{
"id": 5,
"identifier": "summer-sale",
"type": "DISCOUNT",
"localizeInfos": {
"title": "Summer Sale"
},
"startDate": "2026-01-01T06:32:19.736Z",
"endDate": "2026-01-28T06:32:22.632Z",
"discountValue": {
"value": 30,
"maxAmount": 0,
"discountType": "FIXED_PRICE",
"applicability": "TO_PRODUCT"
},
"exclusions": [
{
"id": 2
}
],
"position": 3,
"conditionLogic": "OR",
"gifts": [
{
"id": 3,
"localizeInfos": {
"title": "hhh222"
},
"attributeSetIdentifier": "attr-set-1",
"statusIdentifier": null,
"statusLocalizeInfos": {},
"templateIdentifier": null,
"price": 90,
"sku": null,
"attributeValues": {
"price1": {
"type": "integer",
"value": "90",
"isIcon": false,
"position": 0,
"additionalFields": [],
"isProductPreview": false
}
},
"isVisible": true
}
],
"conditions": [
{
"conditionType": "PRODUCT",
"entityIds": [
{
"id": 4,
"isNested": false
},
{
"isNested": false
}
],
"value": null
},
{
"conditionType": "ATTRIBUTE",
"entityIds": [
{
"isNested": false
}
],
"value": {
"value": "100",
"condition": "eq"
}
}
]
}
],
"discountPrice": 90,
"settings": {
"allowStacking": true,
"maxDiscountValue": 30,
"allowGiftStacking": false
}
}
},
{
"id": 2955,
"attributeSetIdentifier": null,
"localizeInfos": {
"title": "Product"
},
"statusLocalizeInfos": {
"title": "Sale"
},
"isVisible": true,
"statusIdentifier": "sale",
"position": 1,
"templateIdentifier": null,
"shortDescTemplateIdentifier": null,
"price": null,
"additional": {
"prices": {
"min": 51,
"max": 150
}
},
"sku": null,
"isSync": false,
"categories": [
"catalog"
],
"paymentStages": null,
"rating": {},
"attributeValues": {},
"productPages": [
{
"id": 2848,
"pageId": 10,
"productId": 2955,
"positionId": 3191,
"categoryPath": "catalog"
}
],
"blocks": [
"product_block",
"product_block"
],
"moduleFormConfigs": [
{
"id": 12,
"formIdentifier": "review",
"moduleIdentifier": "catalog",
"isGlobal": false,
"isClosed": false,
"isModerate": false,
"viewOnlyMyData": false,
"commentOnlyMyData": false,
"entityIdentifiers": [
{
"id": "catalog",
"isNested": true
}
],
"formDataCount": 374,
"ratingCalculation": "average",
"allowHalfRatings": null,
"maxRatingScale": null,
"isAnonymous": null,
"allowRerating": null,
"isRating": null,
"entityFormDataCount": {
"2954": 374
},
"nestedEntityIdentifiers": [
"catalog"
],
"exceptionIds": []
}
],
"discountConfig": {}
}
]

Yanıt şeması

Şema: IProductsEntity[]

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

localizeInfos: ILocalizeInfo
Yerelleştirmeyi dikkate alarak ürünlerin adı.
örnek:

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

statusLocalizeInfos: ILocalizeInfo
Ürün için yerelleştirilmiş durum adı.
örnek: { "title": "İndirim" }

attributeSetIdentifier: string | null
Niteliklerin id seti.
örnek: "set_12345"

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

price: number | null
İndeksten alınan ürün sayfası fiyatının değeri.
örnek: 150.00

additional: object
İndeksten alınan ek değer.
örnek: { prices: { min: 5 max: 150 } }

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

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

attributeValues: AttributeType
İndeksten 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üğü göstergesi.
örnek: true

moduleFormConfigs: Array<IFormConfig>
Modül form yapılandırmaları (isteğe bağlı).

rating: IRating
Değerlendirme verileri.

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
]

paymentStages: unknown
Ödeme aşamaları verileri (null olabilir).
örnek: null

discountConfig: Record<string, unknown>
İndirim yapılandırma nesnesi.
örnek:

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"

signedPrice: string
Fiyat işareti.

productPages: IProductPageRef[]
Ürünü sayfalarına bağlayan ürün sayfası referanslarının dizisi.
örnek:

[
{
"id": 16,
"pageId": 4,
"productId": 15,
"positionId": 244,
"categoryPath": "products"
}
]

productPages.id: number
Ürün-sayfa bağlantı kaydının benzersiz tanımlayıcısı.
örnek: 16

productPages.pageId: number
Ürünün bağlandığı sayfanın tanımlayıcısı.
örnek: 4

productPages.productId: number
Ürün tanımlayıcısı.
örnek: 15

productPages.positionId: number
Sayfa içindeki sıralama pozisyonu tanımlayıcısı.
örnek: 244

productPages.categoryPath: string
Ürünün ait olduğu sayfanın kategori yolu.
örnek: "products"

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

[
"block_12345",
"block_67890"
]