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