Es la entidad que almacena la información básica y descriptiva del producto como: nombre, descripción, marca, modelo, atributos, etc.
Cada producto contiene 1 variante master (se genera automáticamente al crear un producto), y opcionalmente, otras variantes dependiendo de su configuración. Por ejemplo: una camiseta (producto) puede tener múltiples tallas (variantes), y cada variante puede tener un precio específico, aunque pertenezcan al mismo producto.
La(s) variante(s) almacenan la información relacionada a precios e inventario. Por lo tanto, es importante guardar el ID de la variante master cuando se crea un producto, ya que las modificaciones posteriores de inventario y precio deben hacerse a través del objeto variantes (no el de productos).
Obtener productos
GEThttps://tiendagoshop.com/api/v1/products
Este endpoint permite obtener un listado de todos los productos.
{
"error": "The resource you were looking for could not be found."
}
Crear producto
POSThttps://tiendagoshop.com/api/v1/products
Este endpoint permite crear un producto.
Headers
Name
Type
Description
X-Spree-Token
string
Token generado desde el CMS de GS
Request Body
Name
Type
Description
stock_items_attributes
array
Array de objetos con los siguientes parametros, stock_location_id(id del stock, integer), count_on_hand(cantidad del producto, integer)
Ej. stock_items_attributes:[ {
"stock_location_id": 1, "count_on_hand": 99
}
]
related_products_attributes
array
Productos relacionados a través de un tipo de relación.
Array de objetos JSON con la siguiente estructura: [ { "relation_type_id": 1, "product_id": 2, "discount_amount": 0 } ]
ean
string
Código Universal de Producto
sku
string
Referencia / código interno único.
name
string
Nombre del producto.
brand
string
Marca del producto.
short_description
string
Descripción corta.
description
string
Descripción larga.
cost_price
number
Precio de lista. Se utiliza para indicar un precio superior al base y mostrar el producto con descuento.
price
number
Precio del producto.
gd_size_reference
string
Referencia de tamaño del paquete:
"document": Motor
"normal": Motor con caja
"medium": Carro
"big": Furgoneta
"pallet": Camión
Venezuela
"document": Paquete pequeño (máx. 0.1 m3)
"normal": Paquete mediano (máx. 1 m3)
"medium": Paquete grande (máx. 5 m3)
"big": Paquete extragrande (máx. 10 m3)
"pallet": Paleta (máx. 30 m3)
taxon_ids
array
:IDs del taxón(es) a los que pertenece el producto. Consulta el endpoint de taxones para saber los IDs de cada uno.
Array de IDs (integers) de taxones.
product_properties_attributes
array
Atributos descriptivos del producto.
Array de objetos JSON con la siguiente estructura:
[ { "property_name": "Material", "value": "Plástico" } ]
track_inventory
boolean
Controlar inventario.
fixed_stock
integer
Cantidad disponible en inventario.
(Deprecated).
Ver stock_items_attributes.
available_on
string
Fecha a partir del cual está disponible el producto.
String formato AAAA-MM-DD
images
array
Imágenes del producto.
Nota: este campo únicamente crea nuevas imágenes (no reemplaza existentes), para reemplazar una imagen esta debe ser primero eliminada utilizando el end-point de imágenes y volver a cargarla
Array de objetos JSON con la siguiente estructura: [{ "remote_url": "http://dominio.com/images/1.png" } ]
tax_category_id
integer
ID del tipo de impuesto.
Valores disponibles:
1 = ITBIS 18%
2 = ITBIS 16%
3 = Exento de ITBIS
option_types
array
Opciones de variantes. Se utiliza para definir los atributos configurables de un producto con variantes.
Array de strings: ["Talla", "Color"]
slug
string
Slug del producto
store_ids
array
Array de integer, con los id's de las tiendas en donde el producto estara disponible.
Ej:
stores_ids: [1, 2]
Observación: Solo aplica a multitiendas.
prices_attributes
array
Array de objetos, donde cada objeto debe estar compuesto por :
1- amount, (Precio)
2- compare_at_amount, (Precio de lista)
3- currency, (Moneda)
Ej:
"prices_attributes": [
{ "amount": 25, "compare_at_amount": 30, "currency": "USD" },
{ "amount": 35, "compare_at_amount": 45, "currency": "DOP" }
]
Observación: Solo aplica a multitiendas.
{
"error": "Invalid resource. Please fix errors and try again.",
"errors": {
"name": [
"no puede estar en blanco"
]
}
}
fixed_stock se encuentra obsoleto, favor utilizar stock_items_attributes
Modificar producto
PUThttps://tiendagoshop.com/api/v1/products/:id
Este endpoint permite modificar un producto.
Path Parameters
Name
Type
Description
id
integer
ID del producto
Headers
Name
Type
Description
X-Spree-Token
string
Token generado desde el CMS de GS
Request Body
Name
Type
Description
stock_items_attributes
array
Array de objetos con los siguientes parametros, stock_location_id(id del stock, integer), count_on_hand(cantidad del producto, integer)
Ej.
stock_items_attributes:[
{
"stock_location_id": 1,
"count_on_hand": 99
}
]
related_products_attributes
array
Productos relacionados a través de un tipo de relación. Array de objetos JSON con la siguiente estructura: [ { "relation_type_id": 1, "product_id": 2, "discount_amount": 0 } ]
ean
string
Código Universal de Producto
sku
string
Referencia / código interno único.
name
string
Nombre del producto.
brand
string
Marca del producto.
short_description
string
Descripción corta.
description
string
Descripción larga.
cost_price
number
Precio de lista. Se utiliza para indicar un precio superior al base y mostrar el producto con descuento.
price
number
Precio del producto.
gd_size_reference
string
Referencia de tamaño del paquete (para GoDelivery): document = Motor normal = Motor con caja medium = Carro big = Furgoneta o van pallet = Camión
taxon_ids
array
IDs del taxón(es) a los que pertenece el producto. Consulta el endpoint de taxones para saber los IDs de cada uno. Array de IDs (integers) de taxones.
product_properties_attributes
array
Atributos descriptivos del producto. Array de objetos JSON con la siguiente estructura: [ { "property_name": "Material", "value": "Plástico" } ]
track_inventory
boolean
Controlar inventario.
fixed_stock
string
Cantidad disponible en inventario.
(Deprecated).
Ver stock_items_attributes.
available_on
string
Fecha a partir del cual está disponible el producto.String formato AAAA-MM-DD
images
array
Imágenes del producto. Nota: este campo únicamente crea nuevas imágenes (no reemplaza existentes), para reemplazar una imagen esta debe ser primero eliminada utilizando el end-point de imágenes y volver a cargarla Array de objetos JSON con la siguiente estructura: [{ "remote_url": "http://dominio.com/images/1.png" } ]
tax_category_id
integer
ID del tipo de impuesto. Valores disponibles: 1 = ITBIS 18% 2 = ITBIS 16% 3 = Exento de ITBIS
option_types
array
Opciones de variantes. Se utiliza para definir los atributos configurables de un producto con variantes. Array de strings: ["Talla", "Color"]
Ten cuidado al modificar un producto y utilizar stock_items_attributes, ya que si el producto tiene 2 ó más variantes estarás actualizando el stock de todas las variantes relacionadas al producto con la misma cantidad.
Para actualizar una variante en particular favor utilizar actualizar variantes