Ana içeriğe geç

getBlocks

Getting all block objects.

Description

This method return array of all blocks object and total. It returns a Promise that resolves to an IBlocksResponse object.

Blocks.getBlocks(

type, langCode, offset, limit

);

Parameters schema

Schema

type: BlockType
Optional block type to filter by. Available values: "product" | "error_page" | "catalog_page" | "product_preview" | "similar_products_block" | "product_block" | "form" | "common_page" | "common_block" | "order" | "service" | "none". When omitted, blocks of all types are returned
example: 'product'

langCode: string
Language code. Default: "en_US"
example: "en_US"

offset: number
Parameter for pagination. Default: 0
example: 0

limit: number
Parameter for pagination. Default: 30
example: 30

By default, you can retrieve 10 objects. This is due to the record limit in the module's permissions settings.
For pagination to work correctly, you need to configure Module permissions according to your needs in the corresponding section.

Examples

Minimal example

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

Example with attributes

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

Example response

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

Response schema

Schema: IBlocksResponse

total: number
Total number of found records.
example: 100

items: IBlockEntity[]
Array of block entities.
example:

[
{
"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
Map of attribute values keyed by marker; empty object when none.
example:

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

items.id: number
Unique identifier of the block.
example: 1234

items.localizeInfos: ILocalizeInfo
Localization information for the block.
example:

{
"key": "value"
}

items.version: number
Version of the block entity.
example: 1

items.identifier: string
Unique string identifier for the block.
example: "block1"

items.type: BlockType
Type of the block.
example: "product"

items.position: number
Position of the block for sorting.
example: 1

items.templateIdentifier: string | null
Identifier for the template used by the block, or null if not applicable.
example: "template1"

items.isVisible: boolean
Indicates whether the block is visible.
example: true

items.countElementsPerRow: number
Number of elements displayed per row in the block, if applicable.
example: 3

items.quantity: number
Quantity of items in the block, if applicable.
example: 5

items.similarProducts: IProductsResponse
Response containing similar products associated with the block.
example:

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

items.products: IProductsEntity[]
Array of product entities associated with the block.
example:

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