getProductById
Ambil satu objek produk berdasarkan id.
Deskripsi
Metode ini mengambil satu objek produk berdasarkan pengidentifikasi (id) dari API. Ini mengembalikan sebuah Promise yang menyelesaikan menjadi objek untuk produk IProductsEntity.
Produk.getProductById(
id*,
langCode,
isNormalized
);
Skema parameter
Skema
id(required): number
Id produk
contoh: 12345
langCode: string
Kode bahasa. Default: "en_US"
contoh: "en_US"
isNormalized: boolean
Jika true, objek produk akan dinormalisasi
Contoh
Contoh minimal
const response = await Products.getProductById(1);
Contoh dengan atribut
const response = await Products.getProductById(1, 'en_US');
Contoh respons
{
"id": 2954,
"attributeSetIdentifier": "products",
"localizeInfos": {
"title": "Box"
},
"statusLocalizeInfos": {
"title": "Sale"
},
"isVisible": true,
"statusIdentifier": "sale",
"position": 1,
"templateIdentifier": null,
"shortDescTemplateIdentifier": "product_preview",
"price": 51,
"additional": {
"prices": {
"min": 51,
"max": 180
}
},
"sku": null,
"isSync": true,
"categories": [
"catalog"
],
"paymentStages": null,
"rating": {},
"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": 241636,
"filename": "files/project/product/2954/image/7e0a6a70-a23d-410f-8b6a-f8b4f7483244.png",
"contentType": "image/png",
"downloadLink": "https://your-project.oneentry.cloud/cloud-static/files/project/product/2954/image/7e0a6a70-a23d-410f-8b6a-f8b4f7483244.png"
},
"isIcon": false,
"position": 3,
"additionalFields": {},
"isProductPreview": false
}
},
"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": 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 (mungkin 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), 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 kunci 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.
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"
]
🔒
signedPriceadalah 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:
- Ambil produk berdasarkan ID — ambil satu produk berdasarkan ID numeriknya.
Coba secara langsung
Jalankan metode ini secara interaktif di JS SDK sandbox — sambungkan URL Proyek dan Token Aplikasi Anda pada kunjungan pertama, lalu buka:
- Ambil produk berdasarkan ID — ambil satu produk berdasarkan ID numeriknya.