getFrequentlyOrderedProducts
Mendapatkan produk yang sering dipesan berdasarkan penanda blok dan id produk.
Deskripsi
Metode ini mengembalikan produk yang sering dipesan yang terkait dengan penanda blok tertentu dan id produk. Ini mengembalikan sebuah Promise yang menyelesaikan menjadi objek IProductsResponse.
Blocks.getFrequentlyOrderedProducts(
productId*,
marker*,
langCode,
signPrice,
limit
);
Skema parameter
Skema
productId(required): number
Id produk
contoh: 1
marker(required): string
Penanda blok
contoh: "frequently_ordered_block"
langCode: string
Kode bahasa. Default: "en_US"
contoh: "en_US"
signPrice: string
Penanda penyimpanan pesanan untuk penetapan harga. Jika parameter ini diatur, harga akan tetap untuk waktu tertentu
lihat: Menetapkan harga
limit: number
Jumlah maksimum produk yang akan dikembalikan. Jika diabaikan, pengaturan jumlah blok itu sendiri yang berlaku
contoh: 10
💲
signPricemengunci harga yang dikembalikan untuk waktu terbatas — atur ke penanda penyimpanan pesanan Anda. Lihat Menetapkan harga (signPrice).
Contoh
Contoh minimal
const response = await Blocks.getFrequentlyOrderedProducts(1, 'my-block');
Contoh dengan atribut
const response = await Blocks.getFrequentlyOrderedProducts(1, 'my-block', 'en_US');
Contoh dengan batas
const response = await Blocks.getFrequentlyOrderedProducts(1, 'my-block', 'en_US', undefined, 4);
🔢
limitmembatasi berapa banyak produk yang dikembalikan. Abaikan dan pengaturan jumlah blok itu sendiri dari panel admin tetap berlaku. Lihat Membatasi jumlah produk (limit).
Contoh respons
{
"items": [
{
"id": 2957,
"localizeInfos": {
"title": "Cosmo"
},
"statusIdentifier": "sale",
"statusLocalizeInfos": {
"title": "Sale"
},
"attributeSetIdentifier": "products",
"position": 1,
"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": 688,
"ratingCalculation": "average",
"allowHalfRatings": null,
"maxRatingScale": null,
"isAnonymous": null,
"allowRerating": null,
"isRating": null,
"entityFormDataCount": {
"2954": 688
},
"nestedEntityIdentifiers": [
"catalog"
],
"exceptionIds": []
}
],
"discountConfig": {}
}
],
"total": 1,
"totalFound": 1
}
Skema respons
Skema: IProductsResponse
total: number
Jumlah total produk yang ditemukan.
contoh: 100
items: IProductsEntity[]
Array entitas produk.
contoh:
[
{
"id": 12345,
"title": "Product 1"
},
{
"id": 67890,
"title": "Product 2"
}
]
items.id: number
Pengidentifikasi unik.
contoh: 12345
items.localizeInfos: ILocalizeInfo
Nama produk, dengan mempertimbangkan lokalisasi.
contoh:
{}
items.statusIdentifier: string | null
Pengidentifikasi status halaman produk (mungkin null).
contoh: "in_stock"
items.statusLocalizeInfos: ILocalizeInfo
Nama status yang dilokalisasi untuk produk.
contoh:
{ "title": "Sale" }
items.attributeSetIdentifier: string | null
Id set atribut.
contoh: "set_12345"
items.position: number
Nomor item (untuk pengurutan).
contoh: 1
items.price: number | null
Nilai harga halaman produk yang diambil dari indeks.
contoh: 150.00
items.additional: object
Nilai tambahan dari indeks.
contoh:
{
"prices": {
"min": 5,
"max": 150
}
}
items.sku: string | null
SKU produk (Stock Keeping Unit), mungkin null.
contoh: "SKU_12345"
items.isSync: boolean
Indikasi pengindeksan halaman.
contoh: true
items.attributeValues: IAttributeValues
Array nilai atribut dari indeks, yang direpresentasikan.
contoh:
[
{
"id": "color",
"value": "red"
}
]
items.categories: string[]
Kategori produk.
contoh:
[
1,
2,
3
]
items.isVisible: boolean
Tanda visibilitas halaman.
contoh: true
items.moduleFormConfigs: Array<IFormConfig>
Konfigurasi formulir modul (opsional).
items.rating: IRating
Data penilaian.
items.isPositionLocked: boolean
Indikator penguncian posisi pengurutan (opsional).
contoh: false
items.relatedIds: number[]
Id halaman produk terkait.
contoh:
[
12345,
67890
]
items.paymentStages: unknown
Data tahap pembayaran (mungkin null).
contoh: null
items.distance: number
Jarak relevansi pencarian vektor (semantik). Hanya ada dalam hasil pencarian vektor.
contoh: 0.42
items.discountConfig: Record<string, unknown>
Objek konfigurasi diskon.
contoh:
{}
items.templateIdentifier: string | null
Id pengguna dari template yang terhubung.
contoh: "template_12345"
items.shortDescTemplateIdentifier: string | null
Id pengguna dari template yang terhubung untuk deskripsi singkat.
contoh: "short_desc_template_12345"
items.signedPrice: string
Harga yang ditandatangani dari produk diperoleh bersama dengan data produk ketika signPrice diatur.
lihat: Harga produk tetap
contoh: "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
items.productPages: IProductPageRef[]
Array referensi halaman produk yang menghubungkan produk ke halamannya.
contoh:
[
{
"id": 16,
"pageId": 4,
"productId": 15,
"positionId": 244,
"categoryPath": "products"
}
]
items.blocks: string[]
Array pengidentifikasi blok.
contoh:
[
"block_12345",
"block_67890"
]
totalFound: number
Jumlah produk yang cocok sebelum batas diterapkan; dikembalikan oleh endpoint produk blok (similarProducts, rekomendasi keranjang/daftar keinginan, yang sering dipesan). Opsional.
contoh: 2
🔒
signedPriceadalah token yang ditandatangani yang membawa harga yang terkunci — kirimkan kembali saat Anda membuat pesanan. Lihat Harga produk tetap (signedPrice).