Aller au contenu principal

getBlocks

Récupération de tous les objets de bloc.

Description

Cette méthode retourne un tableau de tous les objets de bloc et le total. Elle renvoie une promesse qui se résout en un objet IBlocksResponse.

Blocks.getBlocks(

type, langCode, offset, limit

);

Schéma des paramètres

Schéma

type: BlockType
Type de bloc optionnel pour filtrer. Valeurs disponibles : "product" | "error_page" | "catalog_page" | "product_preview" | "similar_products_block" | "product_block" | "form" | "common_page" | "common_block" | "order" | "service" | "none". Lorsqu'il est omis, des blocs de tous types sont retournés
exemple : 'product'

langCode: string
Code de langue. Par défaut : "en_US"
exemple : "en_US"

offset: number
Paramètre pour la pagination. Par défaut : 0
exemple : 0

limit: number
Paramètre pour la pagination. Par défaut : 30
exemple : 30

Par défaut, vous pouvez récupérer 10 objets. Cela est dû à la limite d'enregistrement dans les paramètres de permissions du module.
Pour que la pagination fonctionne correctement, vous devez configurer les permissions du module selon vos besoins dans la section correspondante.

Exemples

Exemple minimal

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

Exemple avec des attributs

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

Exemple de réponse

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

Schéma de réponse

Schéma : IBlocksResponse

total: number
Nombre total d'enregistrements trouvés.
exemple : 100

items: IBlockEntity[]
Tableau des entités de bloc.
exemple :

[
{
"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
Carte des valeurs d'attributs indexées par marqueur ; objet vide s'il n'y en a pas.
exemple :

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

items.id: number
Identifiant unique du bloc.
exemple : 1234

items.localizeInfos: ILocalizeInfo
Informations de localisation pour le bloc.
exemple :

{
"key": "value"
}

items.version: number
Version de l'entité de bloc.
exemple : 1

items.identifier: string
Identifiant unique sous forme de chaîne pour le bloc.
exemple : "block1"

items.type: BlockType
Type du bloc.
exemple : "product"

items.position: number
Position du bloc pour le tri.
exemple : 1

items.templateIdentifier: string | null
Identifiant du modèle utilisé par le bloc, ou null si non applicable.
exemple : "template1"

items.isVisible: boolean
Indique si le bloc est visible.
exemple : true

items.countElementsPerRow: number
Nombre d'éléments affichés par ligne dans le bloc, si applicable.
exemple : 3

items.quantity: number
Quantité d'articles dans le bloc, si applicable.
exemple : 5

items.similarProducts: IProductsResponse
Réponse contenant des produits similaires associés au bloc.
exemple :

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

items.products: IProductsEntity[]
Tableau des entités de produit associées au bloc.
exemple :

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