Items ​

Items


Los items son el elemento principal del market. Ellos son cargados y administrados por los distintos vendedores (tiendas generalmente).

Via api los items pueden ser administrados (CRUD) tanto por administradores como por vendedores cada uno con sus respectivos tokens y permisos.

Cada item tiene los siguientes datos:

Dato

Tipo

Observaciones

name

string

Es el nombre del item.

Obligatorio

store_id

integer

Es el identificador de la tienda.

Obligatorio si el en token es de un administrador

sku

string

Es el código interno (unico)

description

text

Es la descripcion

Obligatorio

category_id

integer

Es el identificador de la categoria.

Obligatorio

operation_type_id

integer

Es el identificador del tipo de operación del item. El tipo de operación debe ser permitido por la categoria del item

currency_id

integer

Es el identificador de la moneda. La obligatoriedad o no depende de la categoria

price

float

La obligatoriedad o no depende de la categoria

minimun_quantity

integer

weight_kg

integer

height_cm

integer

width_cm

integer

length_cm

integer

discount_rate

integer

Debe ser mayor a 0 y menor a 100.

images

array de urls de las imagenes

[

url_image1,

url_image2,

url_image3,

….

]

tags

array de strings

videos

array de urls de videos (youtube o vimeo)

[

url_video1,

url_video2,

url_video3,

….

]

variations

array

[
  {
      "price":100,
      "stock":3,
"sku":"YTGF-009, "attributes":[ { "id":3, "value":7 }, { "id":2, "value":5 } ] }, .... ]

Son las distintas variantes en las que se ofrece el item.

La obligatoriedad o no depende de la categoria

La obligatoriedad de cada campo dentro de cada variante pasada depende de la categoria.

wholesales

[
  {
    "from_qty":5,
    "discount_rate":10
  },
  ....
]

Son los descuentos por compras por mayor.

Para cada descuento se define el porcentaje y desde que cantidad se aplica

features

[
  {
    "id":5,
    "value":10
  },
  ....
]

son caracteristicas adicionales que puede tener un item dependiendo de la categoria.

Acciones

Listado de Items

URL: https://__URL_DE_TU_MARKET__/api/v1/items/

Verbo: GET

Parametros a enviar

En la tabla que se muestra a continuación se listan los parametros recibidos por la API para poder filtrar el listado del items.

Parametro

Descripción

Observaciones

store_id

Es el identificador de la tienda del vendedor

Si el token pertenece al un vendedor solo se muestran los productos de su tienda

sku

codigo interno asignador al item por el vendedor

state_id

Es el identificador del estado en el que se encuentran los items a listar

category_id

identificador de la categoria

operation_type_id

identificador del tipo de operación

 Ejemplo de llamada

curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' -d '{
    "category_id":52
}' 'https://__URL_DE_TU_MARKET__/api/v1/items/'

Crear un Item

URL: https://__URL_DE_TU_MARKET__/api/v1/items/

Verbo: POST

Parametros a enviar

Cuando se intenta crear un item hay q pasar todos los datos obligatorios establecidos en la tabla de arriba.

En primer lugar debes definir la categoría y el tipo de operación (este debe ser permitido por la categoría definida). La categoría definida tambien establece la obligatoriedad o no de cargar precio y de cargar variantes.

En el caso de cargar variantes se debe pasar un array con la estructura que se muestra a continuacion y considerando que para obtener el id y el valor de cada atributo que compone la variante deben obtenerlo haciendo una peticion API GET a http://__URL_DE_TU_MARKET__/api/v1/categories/$ID_CATEGORY/attributes

"variations":[
        {
            "sku":"GGGHG--09898",
            "price":100,             "stock":3,             "attributes":[                 {                     "id":3,                     "value":7                 },                 {                     "id":2,                     "value":5                 }                             ]         },         {
            "sku":"GGGHG--09899",             "price":100,             "stock":3,             "attributes":[                 {                     "id":2,                     "value":5                 },                 {                     "id":3,                     "value":8                 }                             ]         }             ],

Ejemplo de llamada

curl -X POST -H 'Authorization: Bearer $ACCESS_TOKEN' -d '{
    "category_id":52,
    "operation_type_id":1,
    "sku":"sku-api-004",
    "currency_id":1,
    "name": "Producto desde la API",
    "description": "Esta es la descripcion del producto desde la api. <h1>Titulo en h1</h1>",
    "images":[
        "https://ofelia.com.ar/images/origin/products/K9yjT2YWGQWOTFXVLeHIMekidb54V2BhJLznmGDI.jpeg",
        "https://ofelia.com.ar/images/origin/products/ovJpOowkKwD5hKw65rhJW7lTVQBoxoq9Pkb8H4eo.jpeg"
    ],
    "wholesales":[
        {
            "from_qty":5,
            "discount_rate":10
        }
    ],
    "variations":[
        {
            "sku":"GGGHG--09897",             "price":100,             "stock":3,             "attributes":[                 {                     "id":3,                     "value":7                 },                 {                     "id":2,                     "value":5                 }                             ]         },         {
            "sku":"GGGHG--09898",             "price":100,             "stock":3,             "attributes":[                 {                     "id":2,                     "value":5                 },                 {                     "id":3,                     "value":8                 }                             ]         }             ],     "features":[         {             "id":2,             "value":"tipo-chevrolet-corsa"         }     ] }' 'https://__URL_DE_TU_MARKET__/api/v1/items/'

Editar un Item

URL: https://__URL_DE_TU_MARKET__/api/v1/items/$ID_ITEM

Verbo: POST

Parametros a enviar

Cuando se intenta ediatr un item se puede pasar cualquiera de los datos establecidos en la tabla de arriba con excepcion de la categoria y el tipo de operación que no pueden ser editados.

Ejemplo de llamada para modificar el nombre del item #130

curl -X POST -H 'Authorization: Bearer $ACCESS_TOKEN' -d '{
    "name": "Producto Editado desde la API"
}' 'https://__URL_DE_TU_MARKET__/api/v1/items/130'

Detalle de un Item

URL: https://__URL_DE_TU_MARKET__/api/v1/items/$ID_ITEM

Verbo: GET

Ejemplo de llamada para borrar el nombre del item #130

curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' -d 'https://__URL_DE_TU_MARKET__/api/v1/items/130'

Borrar un Item

URL: https://__URL_DE_TU_MARKET__/api/v1/items/$ID_ITEM

Verbo: DELETE

Ejemplo de llamada para borrar el nombre del item #130

curl -X DELETE -H 'Authorization: Bearer $ACCESS_TOKEN' -d 'https://__URL_DE_TU_MARKET__/api/v1/items/130'

Editar una Variante de un Item

URL: https://__URL_DE_TU_MARKET__/api/v1/items/$ID_ITEM/variations/$ID_VARIANT

Verbo: POST

Una variante puede ser editada desde la API. Los datos que pueden ser editados son el:

  • stock
  • price

El identificador de una variante se obtiene desde el detalle de un item (GET: https://__URL_DE_TU_MARKET__/api/v1/items/$ID_ITEM/)

Ejemplo de llamada

curl -X POST -H 'Authorization: Bearer $ACCESS_TOKEN' -d '{
    "stock": 5
}' 'https://__URL_DE_TU_MARKET__/api/v1/items/130/variations/13'

Borrar una Variante de un Item

URL: https://__URL_DE_TU_MARKET__/api/v1/items/$ID_ITEM/variations/$ID_VARIANT

Verbo: DELETE

El identificador de una variante se obtiene desde el detalle de un item (GET: https://__URL_DE_TU_MARKET__/api/v1/items/$ID_ITEM/)

Ejemplo de llamada

curl -X DELETE -H 'Authorization: Bearer $ACCESS_TOKEN' -d ''https://__URL_DE_TU_MARKET__/api/v1/items/130/variations/13'

Editar un Precio Mayorista de un Item

URL: https://__URL_DE_TU_MARKET__/api/v1/items/$ID_ITEM/wholesales/$ID_WHOLESALE

Verbo: POST

Un precio mayorista puede ser editado desde la API. Los datos que pueden ser editados son el:

  • from_qty
  • discount_rate

El identificador de un precio mayorista se obtiene desde el detalle de un item (GET: https://__URL_DE_TU_MARKET__/api/v1/items/$ID_ITEM/)

Ejemplo de llamada

curl -X POST -H 'Authorization: Bearer $ACCESS_TOKEN' -d '{
    "discount_rate": 25
}' 'https://__URL_DE_TU_MARKET__/api/v1/items/130/wholesales/49'

Borrar un Precio Mayorista de un Item

URL: https://__URL_DE_TU_MARKET__/api/v1/items/$ID_ITEM/wholesales/$ID_VARIANT

Verbo: DELETE

El identificador de un precio mayorista se obtiene desde el detalle de un item (GET: https://__URL_DE_TU_MARKET__/api/v1/items/$ID_ITEM/)

Ejemplo de llamada

curl -X DELETE -H 'Authorization: Bearer $ACCESS_TOKEN' -d ''https://__URL_DE_TU_MARKET__/api/v1/items/130/wholesales/49'