getProductsByIds
Mengambil beberapa produk berdasarkan id-nya.
Deskripsi
Metode ini mengambil beberapa objek produk berdasarkan pengidentifikasi mereka (id yang dipisahkan dengan koma). Ini mengembalikan sebuah Promise yang menyelesaikan menjadi array dari objek IProductsEntity.
Produk.getProductsByIds(
ids,
langCode,
userQuery
);
Skema parameter
Skema
ids(required): string
Pengidentifikasi halaman produk untuk menemukan hubungan
contoh: "12345,67890"
langCode: string
Kode bahasa. Default "en_US"
userQuery: IProductsByIdsQuery
Parameter kueri set opsional
contoh:
{
"limit": 30,
"offset": 0,
"signPrice": "orders"
}
userQuery.signPrice: string
Penanda penyimpanan pesanan untuk penetapan harga.
Secara default, Anda dapat mengambil 10 objek. Ini disebabkan oleh batasan catatan dalam pengaturan izin modul.
Agar paginasi berfungsi dengan benar, Anda perlu mengonfigurasi Izin Modul sesuai kebutuhan Anda di bagian yang sesuai.
💲
signPricemengunci harga yang dikembalikan untuk waktu terbatas — atur ke penanda penyimpanan pesanan Anda. Lihat Memperbaiki harga (signPrice).
Contoh
Contoh minimal
const response = await Products.getProductsByIds('1, 5, 8');
Contoh dengan atribut
const userQuery = {
"offset": 0,
"limit": 30,
"sortOrder": "DESC",
"sortKey": "id"
};
const response = await Products.getProductsByIds('1, 5, 8', 'en_US', userQuery);
Gunakan filter untuk menemukan produk tertentu:
attributeMarker: Pengidentifikasi teks dari atribut yang diindeks berdasarkan mana nilai difilter. conditionMarker: Jenis kondisi yang diterapkan pada nilai atribut.
| Marker | Arti | Contoh |
|---|---|---|
| eq | Sama | statusId = 1 (hanya aktif) |
| neq | Tidak sama | kategori ≠ "arsip" |
| in | Mengandung (salah satu) | kategori in ["elektronik", "buku"] |
| nin | Tidak mengandung | merek tidak in ["merek_palsu"] |
| exs | Ada (memiliki nilai) | Memiliki deskripsi |
| nexs | Tidak ada | Tidak ada gambar |
| pat | Cocok dengan pola | judul cocok dengan "jaket" |
| same | Cocok dengan nilai persis | sku persis "ABC-123" |
| same_part | Cocok dengan sebagian nilai persis | bagian dari sku persis "ABC" |
conditionValue: Nilai untuk dibandingkan.
Contoh respons
[
{
"id": 2954,
"localizeInfos": {
"title": "Box"
},
"isVisible": true,
"isSync": true,
"sku": null,
"price": 51,
"additional": {
"prices": {
"min": 51,
"max": 180
}
},
"categories": [
"catalog"
],
"statusIdentifier": "sale",
"statusLocalizeInfos": {
"title": "Sale"
},
"templateIdentifier": null,
"shortDescTemplateIdentifier": "product_preview",
"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": 742690,
"filename": "files/project/product/2954/image/48853cbf-4462-42c6-8b99-d14f721c21a2.jpeg",
"contentType": "image/jpeg",
"previewLink": {
"default": [
"data:image/webp;base64,UklGRmwAAABXRUJQVlA4IGAAAADQAQCdASoQABAABUB8JbACdACZZ3P8AAD+wGsUXBs/r069WpdrcuaTNfVxqWIetuaIdIvOMkSp9iJRxE+KhA2YHbrVehhMRj/j5+DUdjWn1v5YtZ7vw0IgPi9R5vkAAAA=",
"https://your-project.oneentry.cloud/cloud-static/files/project/product/2954/image/48853cbf-4462-42c6-8b99-d14f721c21a2.preview.default.jpeg"
]
},
"downloadLink": "https://your-project.oneentry.cloud/cloud-static/files/project/product/2954/image/48853cbf-4462-42c6-8b99-d14f721c21a2.jpeg",
"defaultPreview": "default"
},
"isIcon": false,
"position": 3,
"additionalFields": {},
"isProductPreview": true
}
},
"attributeSetIdentifier": "products",
"isPositionLocked": false,
"position": 1,
"rating": {},
"paymentStages": null,
"productPages": [
{
"id": 2847,
"pageId": 10,
"productId": 2954,
"positionId": 3190,
"categoryPath": "catalog"
}
],
"blocks": [
"product_block",
"test",
"similar"
],
"moduleFormConfigs": [
{
"id": 12,
"formIdentifier": "review",
"moduleIdentifier": "catalog",
"isGlobal": false,
"isClosed": false,
"isModerate": false,
"viewOnlyMyData": false,
"commentOnlyMyData": false,
"entityIdentifiers": [
{
"id": "catalog",
"isNested": true
}
],
"formDataCount": 688,
"ratingCalculation": "average",
"allowHalfRatings": null,
"maxRatingScale": null,
"isAnonymous": null,
"allowRerating": null,
"isRating": null,
"entityFormDataCount": {
"2954": 688
},
"nestedEntityIdentifiers": [
"catalog"
],
"exceptionIds": []
}
],
"discountConfig": {}
},
{
"id": 2955,
"localizeInfos": {
"title": "Product"
},
"isVisible": true,
"isSync": true,
"sku": null,
"price": 150,
"additional": {
"prices": {
"min": 51,
"max": 180
}
},
"categories": [
"catalog"
],
"statusIdentifier": "sale",
"statusLocalizeInfos": {
"title": "Sale"
},
"templateIdentifier": null,
"shortDescTemplateIdentifier": null,
"attributeValues": {
"p": {
"type": "float",
"value": 150,
"isIcon": false,
"position": 0,
"additionalFields": {},
"isProductPreview": false
},
"p1": {
"type": "float",
"value": 50,
"isIcon": false,
"position": 1,
"additionalFields": {},
"isProductPreview": false
},
"p2": {
"type": "float",
"value": 50,
"isIcon": false,
"position": 2,
"additionalFields": {},
"isProductPreview": false
},
"p3": {
"type": "float",
"value": 50,
"isIcon": false,
"position": 3,
"additionalFields": {},
"isProductPreview": false
},
"currency": {
"type": "string",
"value": "USD",
"isIcon": false,
"position": 4,
"additionalFields": {},
"isProductPreview": false
}
},
"attributeSetIdentifier": "test",
"isPositionLocked": false,
"position": 2,
"rating": {},
"paymentStages": [
{
"title": "p1",
"value": 50,
"marker": "p1"
},
{
"title": "p2",
"value": 50,
"marker": "p2"
},
{
"title": "p3",
"value": 50,
"marker": "p3"
}
],
"productPages": [
{
"id": 2848,
"pageId": 10,
"productId": 2955,
"positionId": 3191,
"categoryPath": "catalog"
}
],
"blocks": [
"product_block",
"test",
"similar"
],
"moduleFormConfigs": [
{
"id": 12,
"formIdentifier": "review",
"moduleIdentifier": "catalog",
"isGlobal": false,
"isClosed": false,
"isModerate": false,
"viewOnlyMyData": false,
"commentOnlyMyData": false,
"entityIdentifiers": [
{
"id": "catalog",
"isNested": true
}
],
"formDataCount": 688,
"ratingCalculation": "average",
"allowHalfRatings": null,
"maxRatingScale": null,
"isAnonymous": null,
"allowRerating": null,
"isRating": null,
"entityFormDataCount": {
"2954": 688
},
"nestedEntityIdentifiers": [
"catalog"
],
"exceptionIds": []
}
],
"discountConfig": {}
}
]
Skema respons
Skema: IProductsEntity[]
id: number
Pengidentifikasi unik.
contoh: 12345
localizeInfos: ILocalizeInfo
Nama produk, dengan mempertimbangkan lokalisasi.
contoh:
{}
statusIdentifier: string | null
Pengidentifikasi status halaman produk (mungkin null).
contoh: "in_stock"
statusLocalizeInfos: ILocalizeInfo
Nama status yang dilokalisasi untuk produk.
contoh:
{ "title": "Sale" }
attributeSetIdentifier: string | null
Set id atribut.
contoh: "set_12345"
position: number
Nomor item (untuk pengurutan).
contoh: 1
price: number | null
Nilai harga halaman produk yang diambil dari indeks.
contoh: 150.00
additional: object
Nilai tambahan dari indeks.
contoh:
{
"prices": {
"min": 5,
"max": 150
}
}
sku: string | null
SKU produk (Stock Keeping Unit), mungkin null.
contoh: "SKU_12345"
isSync: boolean
Indikasi pengindeksan halaman.
contoh: true
attributeValues: IAttributeValues
Array nilai atribut dari indeks, yang direpresentasikan.
contoh:
[
{
"id": "color",
"value": "red"
}
]
categories: string[]
Kategori produk.
contoh:
[
1,
2,
3
]
isVisible: boolean
Tanda visibilitas halaman.
contoh: true
moduleFormConfigs: Array<IFormConfig>
Konfigurasi formulir modul (opsional).
rating: IRating
Data penilaian.
isPositionLocked: boolean
Indikator penguncian posisi pengurutan (opsional).
contoh: false
relatedIds: number[]
Id halaman produk terkait.
contoh:
[
12345,
67890
]
paymentStages: unknown
Data tahap pembayaran (mungkin null).
contoh: null
distance: number
Jarak relevansi pencarian vektor (semantik). Hanya ada dalam hasil pencarian vektor.
contoh: 0.42
discountConfig: Record<string, unknown>
Objek konfigurasi diskon.
contoh:
{}
templateIdentifier: string | null
Id pengguna dari template yang terhubung.
contoh: "template_12345"
shortDescTemplateIdentifier: string | null
Id pengguna dari template yang terhubung untuk deskripsi singkat.
contoh: "short_desc_template_12345"
signedPrice: string
Harga yang ditandatangani dari produk diperoleh bersamaan dengan data produk ketika signPrice diatur.
lihat: Harga produk tetap
contoh: "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
productPages: IProductPageRef[]
Array referensi halaman produk yang menghubungkan produk ke halamannya.
contoh:
[
{
"id": 16,
"pageId": 4,
"productId": 15,
"positionId": 244,
"categoryPath": "products"
}
]
productPages.id: number
Pengidentifikasi unik dari catatan tautan produk-ke-halaman.
contoh: 16
productPages.pageId: number
Pengidentifikasi halaman tempat produk terhubung.
contoh: 4
productPages.productId: number
Pengidentifikasi produk.
contoh: 15
productPages.positionId: number
Pengidentifikasi posisi pengurutan dalam halaman.
contoh: 244
productPages.categoryPath: string
Jalur kategori dari halaman tempat produk berada.
contoh: "produk"
blocks: string[]
Array pengidentifikasi blok.
contoh:
[
"block_12345",
"block_67890"
]
🔒
signedPriceadalah token yang ditandatangani yang membawa harga yang terkunci — kirimkan kembali saat Anda membuat pesanan. Lihat Harga produk tetap (signedPrice).
Contoh penggunaan
Panduan langkah demi langkah dalam dokumentasi:
- Dapatkan produk berdasarkan ID — ambil beberapa produk sekaligus dengan daftar ID yang dipisahkan dengan koma.
Coba secara langsung
Jalankan metode ini secara interaktif di JS SDK sandbox — sambungkan URL Proyek dan Token Aplikasi Anda pada kunjungan pertama, lalu buka:
- Dapatkan produk berdasarkan ID — ambil beberapa produk sekaligus dengan daftar ID yang dipisahkan dengan koma.