Pular para o conteúdo principal

getBlocks

Obtendo todos os objetos de bloco.

Descrição

Este método retorna um array de todos os objetos de bloco e o total. Ele retorna uma Promise que resolve para um objeto IBlocksResponse.

Blocks.getBlocks(

type*, langCode, offset, limit

);

Esquema de parâmetros

Esquema

type(obrigatório): BlockType
Valores disponíveis: "product" | "error_page" | "catalog_page" | "product_preview" | "similar_products_block" | "product_block" | "form" | "common_page" | "common_block" | "order" | "service" | "none"
exemplo: 'product'

langCode: string
Código do idioma. Padrão: "en_US"
exemplo: "en_US"

offset: number
Parâmetro para paginação. Padrão: 0
exemplo: 0

limit: number
Parâmetro para paginação. Padrão: 30
exemplo: 30

Por padrão, você pode recuperar 10 objetos. Isso se deve ao limite de registro nas configurações de permissões do módulo.
Para que a paginação funcione corretamente, você precisa configurar Permissões do módulo de acordo com suas necessidades na seção correspondente.

Exemplos

Exemplo mínimo

const response = await Blocks.getBlocks('forTextBlock');

Exemplo com atributos

const response = await Blocks.getBlocks('forTextBlock', 'en_US', 0, 30);

Exemplo de resposta

{
"items": [
{
"id": 3,
"localizeInfos": {
"title": "Block"
},
"version": 0,
"position": 1,
"identifier": "block",
"type": "common_block",
"templateIdentifier": null,
"isVisible": true,
"attributeValues": {}
},
{
"id": 4,
"localizeInfos": {
"title": "test"
},
"version": 31,
"position": 2,
"identifier": "test",
"type": "common_block",
"templateIdentifier": null,
"isVisible": true,
"attributeValues": {
"block-text": {
"type": "string",
"value": "some text",
"isIcon": false,
"position": 0,
"additionalFields": {},
"isProductPreview": false
},
"interval": {
"type": "timeInterval",
"value": [
{
"values": [
{
"id": "bbc82c9f-1bc4-4c86-b83c-c062016eb7cb",
"dates": [
"2025-04-14T00:00:00.000Z",
"2025-04-14T00:00:00.000Z"
],
"times": [
[
{
"hours": 9,
"minutes": 0
},
{
"hours": 10,
"minutes": 0
}
],
[
{
"hours": 10,
"minutes": 0
},
{
"hours": 11,
"minutes": 0
}
],
[
{
"hours": 11,
"minutes": 0
},
{
"hours": 12,
"minutes": 0
}
],
"..."
],
"intervals": [],
"exceptions": [],
"intervalId": "c6466cd8-c55d-4583-97c5-42b684210f12",
"inEveryWeek": true,
"inEveryMonth": true,
"timeIntervals": [
[
"2025-04-07T09:00:00.000Z",
"2025-04-07T10:00:00.000Z"
],
[
"2025-04-07T10:00:00.000Z",
"2025-04-07T11:00:00.000Z"
],
[
"2025-04-07T11:00:00.000Z",
"2025-04-07T12:00:00.000Z"
],
"..."
]
}
],
"intervalId": "c6466cd8-c55d-4583-97c5-42b684210f12"
}
],
"isIcon": false,
"position": 1,
"additionalFields": {},
"isProductPreview": false
}
}
}
],
"total": 2
}

Esquema de resposta

Esquema: IBlocksResponse

total: number
Número total de registros encontrados.
exemplo: 100

items: IBlockEntity[]
Array de entidades de bloco.
exemplo:

[
{
"attributeValues": [],
"id": 1,
"identifier": "block1",
"isVisible": true,
"localizeInfos": {
"key": "value"
},
"position": 1,
"templateIdentifier": null,
"type": "product",
"version": 1,
"countElementsPerRow": 3,
"quantity": 9,
"similarProducts": {
"total": 0,
"items": []
},
"products": [
{
"id": 1,
"name": "Product 1"
},
{
"id": 2,
"name": "Product 2"
}
]
}
]

items.attributeValues: IAttributeValues
Mapa de valores de atributos indexados por marcador; objeto vazio quando não houver.
exemplo:

{
"block-text": {
"type": "string",
"value": "some text",
"isIcon": false,
"position": 0,
"additionalFields": [],
"isProductPreview": false
}
}

items.id: number
Identificador único do bloco.
exemplo: 1234

items.localizeInfos: ILocalizeInfo
Informações de localização para o bloco.
exemplo:

{
"key": "value"
}

items.version: number
Versão da entidade de bloco.
exemplo: 1

items.identifier: string
Identificador de string único para o bloco.
exemplo: "block1"

items.type: BlockType
Tipo do bloco.
exemplo: "product"

items.position: number
Posição do bloco para ordenação.
exemplo: 1

items.templateIdentifier: string | null
Identificador do template usado pelo bloco, ou null se não aplicável.
exemplo: "template1"

items.isVisible: boolean
Indica se o bloco é visível.
exemplo: true

items.countElementsPerRow: number
Número de elementos exibidos por linha no bloco, se aplicável.
exemplo: 3

items.quantity: number
Quantidade de itens no bloco, se aplicável.
exemplo: 5

items.similarProducts: IProductsResponse
Resposta contendo produtos similares associados ao bloco.
exemplo:

{
"total": 10,
"items": []
}

similarProducts.total: number
O número total de produtos encontrados.
exemplo: 100

similarProducts.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 (pode ser null).
exemplo: "in_stock"

items.statusLocalizeInfos: ILocalizeInfo
Nome de status localizado para o produto.
exemplo: { "title": "Promoção" }

items.attributeSetIdentifier: string | null
Conjunto de identificadores 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 retirado 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 null.
exemplo: "SKU_12345"

items.isSync: boolean
Indicação de indexação da página.
exemplo: true

items.attributeValues: AttributeType
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 de páginas de produtos relacionadas.
exemplo:

[
12345,
67890
]

items.paymentStages: unknown
Dados das etapas de pagamento (pode ser null).
exemplo: null

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
Sinal do preço.

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"
}
]

productPages.id: number
Identificador único do registro de link produto-página.
exemplo: 16

productPages.pageId: number
Identificador da página à qual o produto está vinculado.
exemplo: 4

productPages.productId: number
Identificador do produto.
exemplo: 15

productPages.positionId: number
Identificador da posição de ordenação dentro da página.
exemplo: 244

productPages.categoryPath: string
Caminho da categoria da página à qual o produto pertence.
exemplo: "products"

items.blocks: string[]
Array de identificadores de bloco.
exemplo:

[
"block_12345",
"block_67890"
]

items.products: IProductsEntity[]
Array de entidades de produtos associadas ao bloco.
exemplo:

[
{
"id": 1,
"name": "Product 1"
},
{
"id": 2,
"name": "Product 2"
}
]