getAttributes
Obtenir tous les ensembles d'attributs et leur nombre total.
Description
Renvoie un IAttributesSetsResponse : les ensembles d'attributs et leur nombre total, utilisable pour la pagination. Une boutique en ligne, par exemple, peut avoir un ensemble d'attributs pour les vêtements (taille, couleur, matière) et un autre pour l'électronique.
L'ensemble d'attributs n'inclut pas les valeurs des attributs ; elles sont stockées dans des entités spécifiques comme les pages et les produits. La seule exception est le type d'attribut
timeInterval, qui peut contenir des valeurs lorsque la case correspondante est cochée dans le panneau d'administration (ouvre dans un nouvel onglet).
.getAttributes(
,
,
,
,
);
Schéma des paramètres
Schéma
langCode: string
Code de langue. Par défaut : le langCode passé à defineOneEntry ("en_US" s'il n'y en a pas).
exemple : "en_US"
offset: number
Nombre d'enregistrements à ignorer. Par défaut : 0. offset + limit ne doit pas dépasser 200 ; une fenêtre plus grande est rejetée avec 400.
exemple : 0
limit: number
Nombre maximal d'enregistrements à renvoyer. Par défaut : 30.
exemple : 30
typeId: number
ID du type d'ensemble d'attributs pour filtrer. Par défaut : null.
sortBy: string
Champ de tri : id ou position. Par défaut : "id".
exemple : "id"
Limite d’enregistrements. Si la permission du groupe d’utilisateurs pour cette méthode n’autorise qu’une lecture restreinte, l’API renvoie au plus le nombre d’enregistrements défini dans les paramètres du projet (10 par défaut), quelle que soit la valeur de limit. Avec un accès complet en lecture, limit fonctionne normalement. Voir Module permissions (ouvre dans un nouvel onglet).
Tant que ce plafond s'applique, l'API ignore actuellement offset : chaque requête renvoie à nouveau les premiers enregistrements.
Exemples
Exemple minimal
const response = await AttributesSets.getAttributes();
Exemple avec tous les paramètres
const response = await AttributesSets.getAttributes('en_US', 0, 30, null, 'id');
Exemple de réponse
{
"total": 21,
"items": [
{
"id": 38,
"createdDate": "2026-06-09T06:06:13.667Z",
"updatedDate": "2026-06-09T06:12:00.790Z",
"version": 0,
"identifier": "subscription",
"title": "Subscription",
"schema": {
"price": {
"id": 2,
"type": "integer",
"isPrice": true,
"original": true,
"isVisible": true,
"splitUnit": "percent",
"identifier": "price",
"isCurrency": false,
"splitPrice": false,
"initialValue": null,
"localizeInfos": {
"title": "price"
},
"value": null
},
"currency_products": {
"id": 4,
"type": "string",
"isPrice": false,
"original": true,
"isVisible": true,
"splitUnit": false,
"identifier": "currency_products",
"isCurrency": true,
"splitPrice": false,
"validators": {
"defaultValueValidator": {
"customErrorText": "Custom error",
"fieldDefaultValue": "usd",
"fieldDefaultValue2": ""
}
},
"initialValue": null,
"localizeInfos": {
"title": "Currency"
}
}
},
"isVisible": true,
"type": {
"id": 5,
"type": "forProducts"
},
"position": 1
},
{
"id": 33,
"createdDate": "2026-04-22T16:28:05.346Z",
"updatedDate": "2026-04-23T10:57:26.245Z",
"version": 1,
"identifier": "percent_split",
"title": "Percent split",
"schema": {
"s0": {
"id": 1,
"type": "float",
"isPrice": true,
"original": true,
"isVisible": true,
"splitUnit": "percent",
"identifier": "s0",
"splitParts": [
2,
3
],
"splitPrice": true,
"localizeInfos": {
"title": "s0"
},
"value": null
},
"s1": {
"id": 2,
"type": "float",
"isPrice": false,
"original": true,
"isVisible": true,
"splitUnit": false,
"identifier": "s1",
"splitParts": false,
"splitPrice": false,
"localizeInfos": {
"title": "s1"
},
"value": null
},
"s2": {
"id": 3,
"type": "float",
"isPrice": false,
"original": true,
"isVisible": true,
"splitUnit": false,
"identifier": "s2",
"splitParts": false,
"localizeInfos": {
"title": "s2"
},
"value": null
},
"currency": {
"id": 4,
"type": "string",
"isPrice": false,
"original": true,
"isVisible": true,
"splitUnit": false,
"identifier": "currency",
"isCurrency": true,
"validators": {
"defaultValueValidator": {
"fieldDefaultValue": "usd",
"fieldDefaultValue2": ""
}
},
"localizeInfos": {
"title": "currency"
}
}
},
"isVisible": true,
"type": {
"id": 5,
"type": "forProducts"
},
"position": 2
},
{
"id": 31,
"createdDate": "2026-03-14T14:53:28.721Z",
"updatedDate": "2026-03-14T14:53:52.760Z",
"version": 0,
"identifier": "discounts",
"title": "Discounts",
"schema": {
"example_discount": {
"id": 1,
"type": "string",
"original": true,
"isVisible": true,
"identifier": "example_discount",
"localizeInfos": {
"title": "example_discount"
}
}
},
"isVisible": true,
"type": {
"id": 11,
"type": "forDiscounts"
},
"position": 3
}
]
}
Schéma de réponse
Schéma : IAttributesSetsResponse
total: number
Nombre total d'ensembles d'attributs.
exemple : 100
items: IAttributeSetsEntity[]
Ensembles d'attributs de cette réponse.
exemple :
[
{
"id": 1,
"identifier": "set1"
},
{
"id": 2,
"identifier": "set2"
}
]
items.id: number
ID de l'ensemble d'attributs.
exemple : 123
items.createdDate: string
Date de création de l'ensemble d'attributs.
exemple : "2023-10-01T12:00:00Z"
items.updatedDate: string
Date de la dernière mise à jour de l'ensemble d'attributs.
exemple : "2023-10-01T12:00:00Z"
items.version: number
Numéro de version de l'ensemble d'attributs ; change à chaque mise à jour.
exemple : 1
items.identifier: string
Marqueur de l'ensemble d'attributs.
exemple : "attributeSet1"
items.title: string
Nom de l'ensemble d'attributs.
exemple : "Attributs de produit"
items.schema: Record<string, IAttributeSchemaItem>
Champs de schéma indexés par marqueur.
exemple :
{
"attribute1": {
"id": 1,
"type": "string",
"isPrice": false,
"original": true,
"identifier": "string",
"localizeInfos": {
"en_US": {
"title": "String"
}
}
}
}
items.isVisible: boolean
Indique si l'ensemble d'attributs est visible.
exemple : true
items.type: string
Type de l'ensemble d'attributs.
example: "product"
items.position: number
Index, à partir de 1, de l'ensemble dans la réponse (1 pour un ensemble unique).
exemple : 1