Saltar al contenido principal

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:

NombreDescripciónTipo de datoObligatorioValores permitidos
codeCódigoStringXVer abajo
nameNombreStringX
typeTipo de componenteStringXtextbox | select
requiredSi es un atributo requeridoBooleanX
optionsOpciones del atributoArray<Object>Ver abajo
options[].codeCódigo de la opciónStringX
options[].nameNombre de la opciónStringX

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 options debe tener al menos una opción si type es select.

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:

NombreDescripciónTipo de datoObligatorio
nameNombreString
typeTipo de componenteString
requiredSi es un atributo obligatorioBoolean
optionsOpciones del atributoArray<Object>Ver abajo
options[].codeCódigo de la opciónStringX
options[].nameNombre de la opciónStringX

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.