Lewati ke konten utama

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.

💲 signPrice mengunci 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"
]

🔒 signedPrice adalah token yang ditandatangani yang membawa harga yang terkunci — kirimkan kembali saat Anda membuat pesanan. Lihat Harga produk tetap (signedPrice).