Lewati ke konten utama

searchProduct

Pencarian cepat untuk objek halaman dengan output terbatas.

Deskripsi

Metode ini melakukan pencarian cepat untuk objek halaman produk berdasarkan nama kueri teks. Pencarian dilakukan pada bidang judul dari objek localizeInfos, dengan mempertimbangkan kode bahasa yang ditentukan. Ini mengembalikan Promise yang menyelesaikan menjadi array objek Produk yang terindeks IProductsEntity.

Produk.searchProduct(

name*, langCode

);

Skema parameter

Skema

name(diperlukan): string
Teks untuk mencari objek halaman produk (pencarian didasarkan pada bidang judul dari objek localizeInfos dengan mempertimbangkan bahasa)
contoh: "laminat"

langCode: string
Kode bahasa. Default: "en_US"
contoh: "en_US"

Contoh

Contoh minimal

const response = await Products.searchProduct('cup');

Contoh dengan atribut langCode

const response = await Products.searchProduct('cup', 'en_US');

Contoh respons

[
{
"id": 2957,
"attributeSetIdentifier": "products",
"localizeInfos": {
"title": "Cosmo"
},
"statusLocalizeInfos": {
"title": "Sale"
},
"isVisible": true,
"statusIdentifier": "sale",
"position": 1,
"templateIdentifier": null,
"shortDescTemplateIdentifier": null,
"price": 150,
"additional": {
"prices": {
"min": 51,
"max": 180
}
},
"sku": null,
"isSync": true,
"categories": [
"catalog"
],
"paymentStages": null,
"rating": {},
"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": "",
"isIcon": false,
"position": 2,
"additionalFields": {},
"isProductPreview": false
},
"img": {
"type": "image",
"value": "",
"isIcon": false,
"position": 3,
"additionalFields": {},
"isProductPreview": false
}
},
"productPages": [
{
"id": 2850,
"pageId": 10,
"productId": 2957,
"positionId": 3193,
"categoryPath": "catalog"
}
],
"blocks": [
"product_block",
"similar"
],
"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": {}
}
]

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 (bisa 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), 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 kunci 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 bersama dengan data produk saat 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
Pengidentifikasi unik dari catatan tautan produk-ke-halaman.
contoh: 16

productPages.pageId: number
Pengidentifikasi halaman yang terhubung dengan produk.
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: "products"

blocks: string[]
Array pengidentifikasi blok.
contoh:

[
"block_12345",
"block_67890"
]

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


Contoh penggunaan

Panduan langkah demi langkah dalam dokumentasi:

  • Cari produk — cari produk dengan cepat berdasarkan judul.

Coba secara langsung

Jalankan metode ini secara interaktif di JS SDK sandbox — sambungkan URL Proyek dan Token Aplikasi Anda pada kunjungan pertama, lalu buka:

  • Cari produk — cari produk dengan cepat berdasarkan judul.