getCartSimilarByProductIds
Dapatkan produk "mirip dengan keranjang" berdasarkan daftar eksplisit productIds.
Deskripsi
Metode ini mengembalikan produk yang mirip dengan daftar eksplisit pengenal produk yang diberikan dalam body permintaan (alih-alih menggunakan keranjang dari konteks). Ini mengembalikan sebuah Promise yang menyelesaikan menjadi array objek IProductsEntity.
Blocks.getCartSimilarByProductIds(
marker*,
body*
);
Skema parameter
Skema
marker(required): string
Penanda blok
contoh: "cart_similar_block"
body(required): IBlockProductsLookup
Body lookup
contoh:
{
"productIds": [
1,
2
],
"langCode": "en_US"
}
body.productIds(required): number[]
Pengenal produk untuk dicari.
contoh: [1, 2, 3]
body.langCode: string
Kode bahasa. Default: "en_US".
body.limit: number
Jumlah maksimum produk yang akan dikembalikan.
contoh: 10
body.signPrice: string
Penanda penyimpanan pesanan untuk penetapan harga. Jika parameter ini diatur, harga akan tetap untuk waktu tertentu.
💲
signPricemengunci harga yang dikembalikan untuk waktu terbatas — atur ke penanda penyimpanan pesanan Anda. Lihat Memperbaiki harga (signPrice).
Contoh
Contoh minimal
const response = await Blocks.getCartSimilarByProductIds('cart_similar_block', {
productIds: [1, 2, 3],
});
Contoh dengan atribut
const response = await Blocks.getCartSimilarByProductIds('cart_similar_block', {
productIds: [1, 2, 3],
langCode: 'en_US',
limit: 10,
});
Contoh respons
{
"items": [
{
"id": 2954,
"localizeInfos": {
"title": "Box"
},
"statusIdentifier": "sale",
"statusLocalizeInfos": {
"title": "Sale"
},
"attributeSetIdentifier": "products",
"position": 1,
"templateIdentifier": null,
"shortDescTemplateIdentifier": "product_preview",
"price": 51,
"additional": {
"prices": {
"min": 51,
"max": 180
}
},
"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": [
{
"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
}
},
"categories": [
"catalog"
],
"rating": {},
"isVisible": true,
"moduleFormConfigs": [
{
"id": 12,
"formIdentifier": "review",
"moduleIdentifier": "catalog",
"isGlobal": false,
"isClosed": false,
"isModerate": false,
"viewOnlyMyData": false,
"commentOnlyMyData": false,
"entityIdentifiers": [
{
"id": "catalog",
"isNested": true
}
],
"formDataCount": 582,
"ratingCalculation": "average",
"allowHalfRatings": null,
"maxRatingScale": null,
"isAnonymous": null,
"allowRerating": null,
"isRating": null,
"entityFormDataCount": {
"2954": 582
},
"nestedEntityIdentifiers": [
"catalog"
],
"exceptionIds": []
}
],
"discountConfig": {}
},
{
"id": 2957,
"localizeInfos": {
"title": "Cosmo"
},
"statusIdentifier": "sale",
"statusLocalizeInfos": {
"title": "Sale"
},
"attributeSetIdentifier": "products",
"position": 2,
"templateIdentifier": null,
"shortDescTemplateIdentifier": null,
"price": 150,
"additional": {
"prices": {
"min": 51,
"max": 180
}
},
"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": "USD",
"isIcon": false,
"position": 2,
"additionalFields": {},
"isProductPreview": false
},
"img": {
"type": "image",
"value": "",
"isIcon": false,
"position": 3,
"additionalFields": {},
"isProductPreview": true
}
},
"categories": [
"catalog"
],
"rating": {},
"isVisible": true,
"moduleFormConfigs": [
{
"id": 12,
"formIdentifier": "review",
"moduleIdentifier": "catalog",
"isGlobal": false,
"isClosed": false,
"isModerate": false,
"viewOnlyMyData": false,
"commentOnlyMyData": false,
"entityIdentifiers": [
{
"id": "catalog",
"isNested": true
}
],
"formDataCount": 582,
"ratingCalculation": "average",
"allowHalfRatings": null,
"maxRatingScale": null,
"isAnonymous": null,
"allowRerating": null,
"isRating": null,
"entityFormDataCount": {
"2954": 582
},
"nestedEntityIdentifiers": [
"catalog"
],
"exceptionIds": []
}
],
"discountConfig": {}
},
{
"id": 2960,
"localizeInfos": {
"title": "Percent split"
},
"statusIdentifier": "sale",
"statusLocalizeInfos": {
"title": "Sale"
},
"attributeSetIdentifier": "percent_split",
"position": 5,
"templateIdentifier": null,
"shortDescTemplateIdentifier": "product_preview",
"price": 180,
"additional": {
"prices": {
"min": 51,
"max": 180
}
},
"sku": null,
"isSync": true,
"attributeValues": {
"s0": {
"type": "float",
"value": 180,
"isIcon": false,
"position": 0,
"additionalFields": {},
"isProductPreview": false
},
"s1": {
"type": "float",
"value": 60,
"isIcon": false,
"position": 1,
"additionalFields": {},
"isProductPreview": false
},
"s2": {
"type": "float",
"value": 40,
"isIcon": false,
"position": 2,
"additionalFields": {},
"isProductPreview": false
},
"currency": {
"type": "string",
"value": "",
"isIcon": false,
"position": 3,
"additionalFields": {},
"isProductPreview": false
}
},
"categories": [
"catalog"
],
"rating": {},
"isVisible": true,
"moduleFormConfigs": [
{
"id": 12,
"formIdentifier": "review",
"moduleIdentifier": "catalog",
"isGlobal": false,
"isClosed": false,
"isModerate": false,
"viewOnlyMyData": false,
"commentOnlyMyData": false,
"entityIdentifiers": [
{
"id": "catalog",
"isNested": true
}
],
"formDataCount": 538,
"ratingCalculation": "average",
"allowHalfRatings": null,
"maxRatingScale": null,
"isAnonymous": null,
"allowRerating": null,
"isRating": null,
"entityFormDataCount": {
"2954": 538
},
"nestedEntityIdentifiers": [
"catalog"
],
"exceptionIds": []
}
],
"discountConfig": {}
},
"..."
],
"total": 5
}
Skema respons
Skema: IProductsEntity[]
id: number
Pengenal unik.
contoh: 12345
localizeInfos: ILocalizeInfo
Nama produk, dengan mempertimbangkan lokalisasi.
contoh:
{}
statusIdentifier: string | null
Pengenal status halaman produk (bisa null).
contoh: "in_stock"
statusLocalizeInfos: ILocalizeInfo
Nama status yang dilokalisasi untuk produk.
contoh:
{ "title": "Sale" }
attributeSetIdentifier: string | null
ID set 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), bisa 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 (bisa 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.
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
Pengenal unik dari catatan tautan produk-ke-halaman.
contoh: 16
productPages.pageId: number
Pengenal halaman yang terhubung dengan produk.
contoh: 4
productPages.productId: number
Pengenal produk.
contoh: 15
productPages.positionId: number
Pengenal posisi pengurutan dalam halaman.
contoh: 244
productPages.categoryPath: string
Jalur kategori dari halaman tempat produk berada.
contoh: "products"
blocks: string[]
Array pengenal 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).