Saltar al contenido principal

getProductById

Obtiene un objeto de producto por id.

Descripción

Este método recupera un único objeto de producto basado en su identificador (id) de la API. Devuelve una Promesa que se resuelve en un objeto para el producto IProductsEntity.

Products.getProductById(

id*, langCode, isNormalized

);

Esquema de parámetros

Esquema

id(requerido): número
Id del producto
ejemplo: 12345

langCode: cadena
Código de idioma. Predeterminado: "en_US"
ejemplo: "en_US"

isNormalized: booleano
Si es verdadero, el objeto del producto será normalizado

Ejemplos

Ejemplo mínimo

const response = await Products.getProductById(1);

Ejemplo con atributos

const response = await Products.getProductById(1, 'en_US');

Ejemplo de respuesta

{
"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": {}
}

Esquema de respuesta

Esquema: IProductsEntity

id: número
El identificador único.
ejemplo: 12345

localizeInfos: ILocalizeInfo
El nombre de los productos, teniendo en cuenta la localización.
ejemplo:

{}

statusIdentifier: cadena | nulo
Identificadores de estado de la página del producto (puede ser nulo).
ejemplo: "in_stock"

statusLocalizeInfos: ILocalizeInfo
Nombre de estado localizado para el producto.
ejemplo:

{ "title": "Sale" }

attributeSetIdentifier: cadena | nulo
Id del conjunto de atributos.
ejemplo: "set_12345"

position: número
Número de ítem (para ordenamiento).
ejemplo: 1

price: número | nulo
El valor del precio de la página del producto tomado del índice.
ejemplo: 150.00

additional: objeto
Valor adicional del índice.
ejemplo:

{
"prices": {
"min": 5,
"max": 150
}
}

sku: cadena | nulo
SKU del producto (Unidad de Mantenimiento de Stock), puede ser nulo.
ejemplo: "SKU_12345"

isSync: booleano
Indicación de indexación de página.
ejemplo: verdadero

attributeValues: IAttributeValues
Array de valores de atributos del índice, representados.
ejemplo:

[
{
"id": "color",
"value": "red"
}
]

categories: cadena[]
Categorías de productos.
ejemplo:

[
1,
2,
3
]

isVisible: booleano
Un signo de visibilidad de la página.
ejemplo: verdadero

moduleFormConfigs: Array<IFormConfig>
Configuraciones de formularios del módulo (opcional).

rating: IRating
Datos de calificación.

isPositionLocked: booleano
Indicador de bloqueo de posición de ordenamiento (opcional).
ejemplo: falso

relatedIds: número[]
Ids de páginas de productos relacionadas.
ejemplo:

[
12345,
67890
]

paymentStages: desconocido
Datos de etapas de pago (puede ser nulo).
ejemplo: nulo

distance: número
Distancia de relevancia de búsqueda vectorial (semántica). Presente solo en resultados de búsqueda vectorial.
ejemplo: 0.42

discountConfig: Record<string, unknown>
Objeto de configuración de descuento.
ejemplo:

{}

templateIdentifier: cadena | nulo
Id de usuario de la plantilla vinculada.
ejemplo: "template_12345"

shortDescTemplateIdentifier: cadena | nulo
Id de usuario de la plantilla vinculada para una descripción corta.
ejemplo: "short_desc_template_12345"

signedPrice: cadena
El precio firmado del producto se obtiene junto con los datos del producto cuando signPrice está configurado.
ejemplo: "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."

productPages: IProductPageRef[]
Array de referencias de páginas de productos que vinculan el producto a sus páginas.
ejemplo:

[
{
"id": 16,
"pageId": 4,
"productId": 15,
"positionId": 244,
"categoryPath": "products"
}
]

productPages.id: número
Identificador único del registro de enlace producto-página.
ejemplo: 16

productPages.pageId: número
Identificador de la página a la que está vinculado el producto.
ejemplo: 4

productPages.productId: número
Identificador del producto.
ejemplo: 15

productPages.positionId: número
Identificador de posición de ordenamiento dentro de la página.
ejemplo: 244

productPages.categoryPath: cadena
Ruta de categoría de la página a la que pertenece el producto.
ejemplo: "products"

blocks: cadena[]
Array de identificadores de bloques.
ejemplo:

[
"block_12345",
"block_67890"
]

🔒 signedPrice es el token firmado que lleva el precio bloqueado — devuélvelo cuando crees un pedido. Consulta Precio de producto fijo (signedPrice).


Ejemplos de uso

Guía paso a paso en la documentación:

Pruébalo en vivo

Ejecuta este método de forma interactiva en el sandbox de JS SDK — conecta tu URL de Proyecto y Token de Aplicación en la primera visita, luego abre: