getWishlistSimilar
Obtenha produtos "semelhantes à lista de desejos" a partir da lista de desejos do contexto (usuário autorizado ou convidado).
Descrição
Este método retorna produtos semelhantes à lista de desejos obtida do contexto atual - um usuário autorizado ou um convidado (resolvido via o cabeçalho x-guest-id, veja Modo convidado). Ele retorna uma Promise que resolve para um objeto IProductsResponse - um contêiner com items (os produtos), total e totalFound - não um array simples.
Blocks.getWishlistSimilar(
marker*,
langCode,
signPrice,
limit
);
Esquema de parâmetros
Esquema
marker(obrigatório): string
Marcador de bloco
exemplo: "wishlist_similar_block"
langCode: string
Código do idioma. Padrão: "en_US"
exemplo: "en_US"
signPrice: string
Marcador de armazenamento de pedidos para fixação de preço. Se o parâmetro estiver definido, o preço é fixado por um certo tempo
veja: Fixação do preço
limit: number
Número máximo de produtos a serem retornados. Quando omitido, a configuração de quantidade do bloco se aplica
exemplo: 10
💲
signPricebloqueia o preço retornado por um tempo limitado — defina-o como seu marcador de armazenamento de pedidos. Veja Fixação do preço (signPrice).
Exemplos
Exemplo mínimo
const response = await Blocks.getWishlistSimilar('wishlist_similar_block');
Exemplo com atributos
const response = await Blocks.getWishlistSimilar('wishlist_similar_block', 'en_US');
Exemplo com limite
const response = await Blocks.getWishlistSimilar('wishlist_similar_block', 'en_US', undefined, 4);
🔢
limitlimita quantos produtos são retornados. Omiti-lo e a configuração de quantidade do bloco no painel de administração continua a se aplicar. Veja Limitando o número de produtos (limit).
Exemplo de resposta
{
"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": 688,
"ratingCalculation": "average",
"allowHalfRatings": null,
"maxRatingScale": null,
"isAnonymous": null,
"allowRerating": null,
"isRating": null,
"entityFormDataCount": {
"2954": 688
},
"nestedEntityIdentifiers": [
"catalog"
],
"exceptionIds": []
}
],
"discountConfig": {}
}
],
"total": 1,
"totalFound": 1
}
Esquema de resposta
Esquema: IProductsResponse
total: number
O número total de produtos encontrados.
exemplo: 100
items: IProductsEntity[]
Um array de entidades de produtos.
exemplo:
[
{
"id": 12345,
"title": "Product 1"
},
{
"id": 67890,
"title": "Product 2"
}
]
items.id: number
O identificador único.
exemplo: 12345
items.localizeInfos: ILocalizeInfo
O nome dos produtos, levando em conta a localização.
exemplo:
{}
items.statusIdentifier: string | null
Identificadores de status da página do produto (podem ser nulos).
exemplo: "in_stock"
items.statusLocalizeInfos: ILocalizeInfo
Nome de status localizado para o produto.
exemplo:
{ "title": "Sale" }
items.attributeSetIdentifier: string | null
ID do conjunto de atributos.
exemplo: "set_12345"
items.position: number
Número do item (para ordenação).
exemplo: 1
items.price: number | null
O valor do preço da página do produto obtido do índice.
exemplo: 150.00
items.additional: object
Valor adicional do índice.
exemplo:
{
"prices": {
"min": 5,
"max": 150
}
}
items.sku: string | null
SKU do produto (Unidade de Manutenção de Estoque), pode ser nulo.
exemplo: "SKU_12345"
items.isSync: boolean
Indicação de indexação da página.
exemplo: true
items.attributeValues: IAttributeValues
Array de valores de atributos do índice, representados.
exemplo:
[
{
"id": "color",
"value": "red"
}
]
items.categories: string[]
Categorias de produtos.
exemplo:
[
1,
2,
3
]
items.isVisible: boolean
Um sinal de visibilidade da página.
exemplo: true
items.moduleFormConfigs: Array<IFormConfig>
Configurações de formulário do módulo (opcional).
items.rating: IRating
Dados de avaliação.
items.isPositionLocked: boolean
Indicador de bloqueio da posição de ordenação (opcional).
exemplo: false
items.relatedIds: number[]
IDs das páginas de produtos relacionadas.
exemplo:
[
12345,
67890
]
items.paymentStages: unknown
Dados das etapas de pagamento (podem ser nulos).
exemplo: null
items.distance: number
Distância de relevância da busca vetorial (semântica). Presente apenas nos resultados da busca vetorial.
exemplo: 0.42
items.discountConfig: Record<string, unknown>
Objeto de configuração de desconto.
exemplo:
{}
items.templateIdentifier: string | null
ID do usuário do template vinculado.
exemplo: "template_12345"
items.shortDescTemplateIdentifier: string | null
ID do usuário do template vinculado para uma descrição curta.
exemplo: "short_desc_template_12345"
items.signedPrice: string
O preço assinado do produto é obtido junto com os dados do produto quando signPrice é definido.
veja: Preço fixo do produto
exemplo: "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
items.productPages: IProductPageRef[]
Array de referências de páginas de produtos vinculando o produto às suas páginas.
exemplo:
[
{
"id": 16,
"pageId": 4,
"productId": 15,
"positionId": 244,
"categoryPath": "products"
}
]
items.blocks: string[]
Array de identificadores de blocos.
exemplo:
[
"block_12345",
"block_67890"
]
totalFound: number
Número de produtos correspondentes antes que os limites sejam aplicados; retornado pelos endpoints de produtos do bloco (similarProducts, recomendações de carrinho/lista de desejos, pedidos frequentes). Opcional.
exemplo: 2
🔒
signedPriceé o token assinado que carrega o preço bloqueado — passe-o de volta quando você criar um pedido. Veja Preço fixo do produto (signedPrice).