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.

results matching ""

    No results matching ""