Atributos de una categoría
Gestión de atributos de una categoría particular. Los atributos de una categoría conforman su ficha técnica.
🔹 Crear atributos
Consulta: POST /v1/{marketplace_code}/categories/{category_code}/features
Deben ser enviados dentro de un Array<Object>.
Campos de cada atributo:
| Nombre | Descripción | Tipo de dato | Obligatorio | Valores permitidos |
|---|---|---|---|---|
code | Código | String | X | Ver abajo |
name | Nombre | String | X | |
type | Tipo de componente | String | X | textbox | select |
required | Si es un atributo requerido | Boolean | X | |
options | Opciones del atributo | Array<Object> | Ver abajo | |
options[].code | Código de la opción | String | X | |
options[].name | Nombre de la opción | String | X |
Aclaraciones:
- Formato del código (
code): Debe cumplir con la siguiente regex:/^[a-zA-Z0-9\-_]+$/. Es decir que sólo puede contener números, letras del alfabeto latino, guiones bajos y guiones medios. - Tipos de componente (
type):textbox: Texto ingresado por el vendedor.select: Lista desplegable. El vendedor sólo podrá seleccionar una opción.
- El campo
optionsdebe tener al menos una opción sitypeesselect.
Ejemplo de payload para la consulta:
[
{
"code": "brand",
"name": "Marca",
"type": "textbox",
"required": true,
"options": []
},
{
"code": "energy_efficiency",
"name": "Eficiencia energética",
"type": "select",
"required": false,
"options": [
{
"code": "a2",
"name": "A++"
},
{
"code": "a1",
"name": "A+"
},
{
"code": "a",
"name": "A"
},
{
"code": "b",
"name": "B"
},
// ...
]
}
]
Respuesta:
Código HTTP: 201
Devuelve las entidades creadas.
🔹 Índice de atributos
Consulta: GET /v1/{marketplace_code}/categories/{category_code}/features
Respuesta:
Código HTTP: 200
[
{
"code": "brand",
"name": "Marca",
"type": "textbox",
"required": true,
"options": []
},
{
"code": "energy_efficiency",
"name": "Eficiencia energética",
"type": "select",
"required": false,
"options": [
{
"code": "a2",
"name": "A++"
},
{
"code": "a1",
"name": "A+"
},
{
"code": "a",
"name": "A"
},
{
"code": "b",
"name": "B"
},
// ...
]
}
]
🔹 Obtener un atributo
Consulta: GET /v1/{marketplace_code}/categories/{category_code}/features/{code}
Respuesta:
Código HTTP: 200
{
"code": "brand",
"name": "Marca",
"type": "textbox",
"required": true,
"options": []
}
🔹 Actualizar atributos
Se imponen las mismas reglas que al crear atributos con la diferencia de que este endpoint sobreescribe a los atributos que ya existan.
Consulta: PUT /v1/{marketplace_code}/categories/{category_code}/features
Campos actualizables: Mismos que al crear atributos.
Ejemplo de payload para la consulta: Mismos que al crear atributos
Respuesta:
Código HTTP: 200
Devuelve las entidades actualizadas.
🔹 Actualizar un atributo
Consulta: PATCH /v1/{marketplace_code}/categories/{category_code}/features/{code}
Campos actualizables:
| Nombre | Descripción | Tipo de dato | Obligatorio |
|---|---|---|---|
name | Nombre | String | |
type | Tipo de componente | String | |
required | Si es un atributo obligatorio | Boolean | |
options | Opciones del atributo | Array<Object> | Ver abajo |
options[].code | Código de la opción | String | X |
options[].name | Nombre de la opción | String | X |
Aclaraciones: Mismas que al crear atributos
Ejemplo de payload para la consulta:
{
"name": "Marca",
"type": "textbox",
"required": true,
"options": []
}
Respuesta:
Código HTTP: 200
Devuelve la entidad actualizada.
🔹 Eliminar un atributo
Consulta: DELETE /v1/{marketplace_code}/categories/{category_code}/features/{code}
Respuesta:
Código HTTP: 204
Sin contenido.