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 |
|---|---|---|
external_id | Este valor es para identificar el producto y sirve para casos donde se quiere guardar un identificador externo para usar en otras operaciones | este campo tiene prioridad por sobre el producto indicado en el endpoint de modo que en caso de pasarlo y que exista un producto con ese external_id se asumirá q se esta referiando al mismo y no al indicado en la url del endpoint |
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 |
stock | integer | en el caso de no controlar stock (stock infinito) el valor debe ser -1 |
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, | 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'
Desactivar un Item
URL: https://__URL_DE_TU_MARKET__/api/v1/items/$ID_ITEM/deactivate
Verbo: POST
Ejemplo de llamada para desactivar el item #130
curl -X POST -H 'Authorization: Bearer $ACCESS_TOKEN' -d 'https://__URL_DE_TU_MARKET__/api/v1/items/130/deactivate'
Aactivar un Item
URL: https://__URL_DE_TU_MARKET__/api/v1/items/$ID_ITEM/activate
Verbo: POST
Ejemplo de llamada para desactivar el item #130
curl -X POST -H 'Authorization: Bearer $ACCESS_TOKEN' -d 'https://__URL_DE_TU_MARKET__/api/v1/items/130/activate'
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'