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, | 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'