Saltar al contenido principal

getBlocks

Obteniendo todos los objetos de bloque.

Descripción

Este método devuelve un array de todos los objetos de bloque y el total. Devuelve una Promesa que se resuelve en un objeto IBlocksResponse.

Blocks.getBlocks(

type*, langCode, offset, limit

);

Esquema de parámetros

Esquema

type(requerido): BlockType
Valores disponibles: "product" | "error_page" | "catalog_page" | "product_preview" | "similar_products_block" | "product_block" | "form" | "common_page" | "common_block" | "order" | "service" | "none"
ejemplo: 'product'

langCode: string
Código de idioma. Por defecto: "en_US"
ejemplo: "en_US"

offset: number
Parámetro para la paginación. Por defecto: 0
ejemplo: 0

limit: number
Parámetro para la paginación. Por defecto: 30
ejemplo: 30

Por defecto, puedes recuperar 10 objetos. Esto se debe al límite de registros en la configuración de permisos del módulo.
Para que la paginación funcione correctamente, necesitas configurar permisos del módulo de acuerdo a tus necesidades en la sección correspondiente.

Ejemplos

Ejemplo mínimo

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

Ejemplo con atributos

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

Ejemplo de respuesta

{
"items": [
{
"id": 3,
"localizeInfos": {
"title": "Bloque"
},
"version": 0,
"position": 1,
"identifier": "block",
"type": "common_block",
"templateIdentifier": null,
"isVisible": true,
"attributeValues": {}
},
{
"id": 4,
"localizeInfos": {
"title": "prueba"
},
"version": 31,
"position": 2,
"identifier": "test",
"type": "common_block",
"templateIdentifier": null,
"isVisible": true,
"attributeValues": {
"block-text": {
"type": "string",
"value": "algún texto",
"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 respuesta

Esquema: IBlocksResponse

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

items: IBlockEntity[]
Array de entidades de bloque.
ejemplo:

[
{
"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": "Producto 1"
},
{
"id": 2,
"name": "Producto 2"
}
]
}
]

items.attributeValues: AttributeType
Tipo de atributos utilizados en el bloque.
ejemplo:

{
"block-text": {
"type": "string",
"value": "algún texto",
"isIcon": false,
"position": 0,
"additionalFields": [],
"isProductPreview": false
}
}

items.id: number
Identificador único del bloque.
ejemplo: 1234

items.localizeInfos: ILocalizeInfo
Información de localización para el bloque.
ejemplo:

{
"key": "value"
}

items.version: number
Versión de la entidad de bloque.
ejemplo: 1

items.identifier: string
Identificador único en forma de cadena para el bloque.
ejemplo: "block1"

items.type: string
Tipo del bloque, como 'product', 'error_page', etc.
ejemplo: "product"

items.templateIdentifier: string | null
Identificador para la plantilla utilizada por el bloque, o null si no aplica.
ejemplo: "template1"

items.isVisible: boolean
Indica si el bloque es visible.
ejemplo: true

items.countElementsPerRow: number
Número de elementos mostrados por fila en el bloque, si aplica.
ejemplo: 3

items.quantity: number
Cantidad de artículos en el bloque, si aplica.
ejemplo: 5

items.similarProducts: IProductsResponse
Respuesta que contiene productos similares asociados con el bloque.
ejemplo:

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

items.products: IProductsEntity[]
Array de entidades de productos asociadas con el bloque.
ejemplo:

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