getAttributes
Obtener todos los conjuntos de atributos y su número total.
Descripción
Se resuelve en un IAttributesSetsResponse: los conjuntos de atributos más su recuento total, que puedes usar para la paginación. Una tienda online, por ejemplo, podría tener un conjunto de atributos para ropa (talla, color, material) y otro para electrónica.
El conjunto de atributos no incluye los valores de los atributos; estos se encuentran en entidades concretas, como páginas y productos. La única excepción es el tipo de atributo
timeInterval, que puede contener valores cuando la casilla correspondiente está marcada en el panel de administración (abre en una nueva pestaña).
.getAttributes(
,
,
,
,
);
Esquema de parámetros
Esquema
langCode: cadena
Código de idioma. Predeterminado: el langCode pasado a defineOneEntry ("en_US" si no se pasó ninguno).
ejemplo: "en_US"
offset: number
Número de registros que se omiten. Predeterminado: 0. offset + limit no debe superar 200; una ventana mayor se rechaza con 400.
ejemplo: 0
limit: number
Número máximo de registros que se devuelven. Predeterminado: 30.
ejemplo: 30
typeId: number
ID del tipo de conjunto de atributos por el que filtrar. Predeterminado: null.
sortBy: string
Campo de ordenación: id o position. Predeterminado: "id".
ejemplo: "id"
Límite de registros. Si el permiso del grupo de usuarios para este método solo permite lectura restringida, la API devuelve como máximo el número de registros configurado en los ajustes del proyecto (10 por defecto), sin importar el limit que pases. Con acceso de lectura completo, limit funciona con normalidad. Consulta Module permissions (abre en una nueva pestaña).
Mientras este límite esté vigente, la API ignora actualmente offset: cada solicitud vuelve a devolver los primeros registros.
Ejemplos
Ejemplo mínimo
const response = await AttributesSets.getAttributes();
Ejemplo con todos los parámetros
const response = await AttributesSets.getAttributes('en_US', 0, 30, null, 'id');
Ejemplo de respuesta
{
"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
}
]
}
Esquema de respuesta
Esquema: IAttributesSetsResponse
total: número
Número total de conjuntos de atributos.
ejemplo: 100
items: IAttributeSetsEntity[]
Conjuntos de atributos de esta respuesta.
ejemplo:
[
{
"id": 1,
"identifier": "set1"
},
{
"id": 2,
"identifier": "set2"
}
]
items.id: número
ID del conjunto de atributos.
ejemplo: 123
items.createdDate: cadena
Fecha de creación del conjunto de atributos.
ejemplo: "2023-10-01T12:00:00Z"
items.updatedDate: cadena
Fecha de la última actualización del conjunto de atributos.
ejemplo: "2023-10-01T12:00:00Z"
items.version: number
Número de versión del conjunto de atributos; cambia con cada actualización.
ejemplo: 1
items.identifier: string
Marcador del conjunto de atributos.
ejemplo: "attributeSet1"
items.title: string
Nombre del conjunto de atributos.
ejemplo: "Atributos del producto"
items.schema: Record<string, IAttributeSchemaItem>
Campos del esquema indexados por marcador.
ejemplo:
{
"attribute1": {
"id": 1,
"type": "string",
"isPrice": false,
"original": true,
"identifier": "string",
"localizeInfos": {
"en_US": {
"title": "String"
}
}
}
}
items.isVisible: boolean
Indica si el conjunto de atributos es visible.
ejemplo: true
items.type: string
Tipo del conjunto de atributos.
example: "product"
items.position: number
Índice del conjunto en la respuesta, empezando por 1 (1 para un único conjunto).
ejemplo: 1