Agendar demo
Atributos de categoría
Catálogo API v1

Atributos de categoría

Los atributos definen qué especificaciones y ejes de variante describe a los productos de una categoría. Se heredan a todas las subcategorías.

Campos

CampoTipoNotas
category_idnumberreq
keystringreqÚnico en la categoría. Snake_case recomendado
labelstringreqNombre visible al usuario
data_typeenumreqtext · number · boolean · enum
roleenumreqspec (describe) · axis (genera variantes)
optionsarraySolo para data_type: enum. Ej: [{"value":"s","label":"S"}]
unitstringUnidad de la medida, p. ej. cm, g
is_requiredbooleanDefault false
sort_orderinteger

Roles:

role: "spec" → el valor se asigna al grupo y lo heredan todas sus variantes. Usa este rol para propiedades comunes (material, color de base).

role: "axis" → el valor se asigna a cada producto/variante individualmente. Usa este rol para los ejes que distinguen las variantes (talla, capacidad).

Endpoints

POST /catalog/attributes

Request — atributo axis

{
  "category_id": 18,
  "key": "talla",
  "label": "Talla",
  "data_type": "enum",
  "role": "axis",
  "options": [
    { "value": "s", "label": "S" },
    { "value": "m", "label": "M" },
    { "value": "l", "label": "L" }
  ]
}

Response 201

{
  "id": 31,
  "category_id": 18,
  "key": "talla",
  "label": "Talla",
  "data_type": "enum",
  "role": "axis",
  "options": [
    { "value": "s", "label": "S" },
    { "value": "m", "label": "M" },
    { "value": "l", "label": "L" }
  ],
  "is_required": false,
  "sort_order": 0
}
PATCH /catalog/attributes/{id}

Edita label, options, unit, is_required, sort_order. El key, data_type y role son inmutables.

DELETE /catalog/attributes/{id}

Borra el atributo y todos sus valores asignados. 409 si el atributo es de tipo axis y tiene variantes activas generadas a partir de él.