Taxones
API para el tratamiento taxones.
Vista de una taxon
GET /api/taxons/:id
La vista default devuelve la info de los hijos directos y de los padres.
{
"id": 1752,
"name": "AIRES",
"pretty_name": "Categories - Clastia -> AIRES",
"permalink": "categorias/aires",
"parent_id": 1469,
"taxonomy_id": 33,
"image_link": null,
"description": "",
"starred": false,
"meta_title": "",
"meta_description": "",
"meta_keywords": "",
"position": 0,
"public": false,
"complete_permalink": "https://clastia.com.ar/c/aires/1752",
"image": "/spree/spree/taxons/1752/clastia_normal/L1-Aire.jpg?1481035749",
"icon": null,
"banner": null,
"view_mode": null,
"taxons": [
{
"id": 2652,
"name": "SPLIT INVERTER",
"pretty_name": "Categories - Clastia -> AIRES -> SPLIT INVERTER",
"permalink": "categorias/aires/split-inverter",
"parent_id": 1752,
"taxonomy_id": 33,
"image_link": null,
"description": "",
"starred": false,
"meta_title": "",
"meta_description": "",
"meta_keywords": "",
"position": 0,
"public": true,
"complete_permalink": "https://clastia.com.ar/c/aires/split-inverter/2652",
"image": "/spree/spree/taxons/2652/clastia_normal/Aire-Split.jpg?1490720383",
"icon": null,
"banner": null,
"view_mode": null
},
{
"id": 1766,
"name": "SPLIT TRADICIONAL",
"pretty_name": "Categories - Clastia -> AIRES -> SPLIT TRADICIONAL",
"permalink": "categorias/aires/split-tradicional",
"parent_id": 1752,
"taxonomy_id": 33,
"image_link": null,
"description": "",
"starred": false,
"meta_title": "",
"meta_description": "",
"meta_keywords": "",
"position": 1,
"public": true,
"complete_permalink": "https://clastia.com.ar/c/aires/split-tradicional/1766",
"image": "/spree/spree/taxons/1766/clastia_normal/Aire-Split.jpg?1481035784",
"icon": null,
"banner": null,
"view_mode": null
},
{
"id": 1767,
"name": "VENTANA",
"pretty_name": "Categories - Clastia -> AIRES -> VENTANA",
"permalink": "categorias/aires/ventana",
"parent_id": 1752,
"taxonomy_id": 33,
"image_link": null,
"description": "",
"starred": false,
"meta_title": "",
"meta_description": "",
"meta_keywords": "",
"position": 2,
"public": true,
"complete_permalink": "https://clastia.com.ar/c/aires/ventana/1767",
"image": "/spree/spree/taxons/1767/clastia_normal/Aire-Ventana.jpg?1481035983",
"icon": null,
"banner": null,
"view_mode": null
}
],
"parents": [
{
"id": 1469,
"name": "Categories - Clastia",
"pretty_name": "Categories - Clastia",
"permalink": "categorias",
"parent_id": null,
"taxonomy_id": 33,
"image_link": null,
"description": null,
"starred": false,
"meta_title": null,
"meta_description": null,
"meta_keywords": null,
"position": 0,
"public": false,
"complete_permalink": "https://clastia.com.ar/c/1469",
"image": null,
"icon": null,
"banner": null,
"view_mode": null
}
]
}
Creación
POST /api/taxonomies/:taxonomy_id/taxons
Body:
{
"taxon": {
"name": "Nuevo taxon",
"parent_id": 1234
}
}
Para crear un taxon debemos enviar el id de la taxonomía a la cual va a pertenecer.
Si la creación fue exitosa, la respuesta es la vista de la taxonomía creada, que contiene el id del mismo, necesario para posteriores modificaciones.
El campo "parent_id" debe ser el ID de un taxón válido perteneciente a la misma taxonomía. Si no se envía este atributo el nuevo taxón se creará en el primer nivel de taxonomía.
Update
PUT /api/v2/taxons/:id
Body:
{
"taxon": {
"name": "New name",
"meta_title": "Accesorios"
}
}
Los datos que se pueden actualizar son:
- name
permalink_part -> El permalink está compuesto por los ancestros del taxon. Este atributo permite editar la parte propia del permalink del taxon.
public
meta_title
meta_description
meta_keywords
description
parent_id -> id del taxon padre
icon_id, banner_id, image_id -> Para saber el id de las imagenes primero debemos hacer el upload.
Upload de imagenes.
POST /api/upload
Body:
POST multipart/form-data con los siguientes campos:
- file_type: Content Type de la imagen. Por ej: image/jpeg o image/png
- file: Imagen a subir
Ejemplo:
curl -X POST \
'https://dev-avalancha.herokuapp.com//api/upload' \
-H 'content-type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW' \
-H 'x-api-secret: API_SECRET' \
-H 'x-spree-token: SPREE_TOKEN' \
-F file_type=image/jpeg \
-F [email protected]
Response:
{
"id": 55585,
"url": "/uploaded_images/55585/original/image1.jpeg?1507302962"
}
La respuesta nos vuelve un id que es el que vamos a utilizar para crear/modificar el taxon.
Delete
DELETE /api/taxons/:id
Atención: Al borrar un taxon se eliminan todos sus taxones hijos.
Aclaración: Tanto la taxonomía como el taxon no podrá ser borrado si hay existe producto que lo está usando.