Saltar al contenido principal

Productos

Un Producto es un artículo a la venta en una tienda de Tienda Negocio. Puede ser un bien o un servicio.

Propiedades

PropiedadExplicación
idIdentificador numérico único del producto
nameNombre del producto
handleURL del producto
product_linkLink del producto
publishedIndica si el producto está visible en la tienda
free_shippingIndica si el producto tiene envío gratis
created_atFecha de creación del producto
updated_atFecha de última actualización del producto
requires_shippingIndica si el producto requiere envío físico
descriptionDescripción del producto
variantsLista de variantes del producto. Siempre incluida en las respuestas GET e incluye variantes ocultas. Si el producto no tiene variantes, incluye un único elemento con id: null que contiene precio, stock, sku y dimensiones del producto. Cada variante incluye published e image_id.
imagesLista de imágenes asociadas al producto
categoriesCategorías a las que pertenece el producto
brandMarca del producto
video_urlURL de un video asociado al producto
seo_titleTítulo SEO del producto
seo_descriptionDescripción SEO del producto
attributesLista de atributos del producto (ej: color, talla)

Nota: Los campos price, promotional_price, stock, sku y dimensions no se devuelven a nivel de producto. Siempre están dentro de variants. Para productos sin variantes, variants contiene un solo objeto con id: null sin el campo values.

Nota: Las variantes ocultas se devuelven con published: false. Las variantes visibles tienen published: true.


Endpoints

GET /products

ParámetroExplicación
idsLista de IDs separados por coma (max 30)
since_idRestringir los resultados a después del ID especificado
qBuscar Productos que contengan el texto indicado en su título o sku
handleHandle del producto
category_idID de categoría para filtrar
publishedFiltrar por estado publicado (true o false)
free_shippingFiltrar por envío gratis (true o false)
pagePágina a mostrar
per_pageCantidad de resultados
created_at_minFecha mínima de creación (ISO 8601)
created_at_maxFecha máxima de creación (ISO 8601)
with_imagesIncluir imágenes en la respuesta (true o false)
with_categoriesIncluir categorías en la respuesta (true o false)
with_descriptionIncluir descripción en la respuesta (true o false)
with_totalIncluir total de registros en la respuesta (true o false)
slimModo slim: omitir información adicional (true o false)

GET /products?published=true&with_images=true&with_categories=true&with_description=true

HTTP/1.1 200 OK

{
"pagination": {
"total": 120,
"page": 1,
"per_page": 50,
"next_page": "https://developers.tiendanegocio.com/v1/products?page=2&per_page=50"
},
"results": [
{
"id": 2,
"name": {
"es": "Remera Lino"
},
"handle": {
"es": "Remera Lino"
},
"product_link": "https://example.tiendanegocio.com/producto/example",
"published": true,
"free_shipping": false,
"created_at": "2026-03-19T09:59:07.000Z",
"updated_at": "2026-03-19T09:59:07.000Z",
"requires_shipping": true,
"description": {
"es": "<h1>Remesa bonita<h1>"
},
"variants": [
{
"id": 1,
"promotional_price": null,
"created_at": "2026-03-20T13:33:31.777Z",
"values": [
{
"es": "S"
}
],
"price": "2000",
"curency": "ARS",
"product_id": 2,
"published": true,
"stock_management": false,
"stock": null,
"sku": "Remera lino",
"updated_at": "2026-03-20T13:33:31.777Z",
"image_id": null,
"cost": null,
"dimensions": {
"weight": 1,
"depth": 1,
"width": 7,
"height": 7
}
},
{
"id": 3,
"promotional_price": null,
"created_at": "2026-03-20T13:33:31.777Z",
"values": [
{
"es": "L"
}
],
"price": "2000",
"curency": "ARS",
"product_id": 2,
"stock_management": false,
"stock": null,
"sku": "Remera lino",
"updated_at": "2026-03-20T13:33:31.777Z",
"image_id": null,
"cost": null,
"dimensions": {
"weight": 1,
"depth": 1,
"width": 7,
"height": 7
}
},
{
"id": 4,
"promotional_price": null,
"created_at": "2026-03-20T13:33:31.777Z",
"values": [
{
"es": "S"
},
{
"es": "Gris"
}
],
"price": "2000",
"curency": "ARS",
"product_id": 2,
"stock_management": false,
"stock": null,
"sku": "Remera lino",
"updated_at": "2026-03-20T13:33:31.777Z",
"image_id": null,
"cost": null,
"dimensions": {
"weight": 1,
"depth": 1,
"width": 7,
"height": 7
}
}
],
"images": [
{
"id": 1,
"src": "https://cdn.v2.tiendanegocio.com/gallery/76/img_76_1920a8a3edf.webp",
"position": 0,
"product_id": 2
}
],
"categories": [
{
"id": 1,
"name": {
"es": "Remeras"
},
"description": {
"es": "Remeras"
},
"handle": {
"es": "Remera1"
},
"parent": null,
"subcategories": [],
"google_shopping_category": null,
"created_at": "2026-03-19T16:27:08.000Z",
"updated_at": "2026-03-20T13:33:31.777Z"
}
],
"brand": null,
"video_url": null,
"seo_title": "remeta lino",
"seo_description": "puro lujo y calidad",
"attributes": [
{
"es": "Talle"
}
]
}
]
}

GET /products/{id}

Recibir un único producto.

Cuando el producto no tiene variantes, la respuesta incluye un único elemento en variants con id: null que contiene precio, stock, sku y dimensiones del producto. No incluye el campo values.

GET /products/5

HTTP/1.1 200 OK

{
"id": 5,
"name": {
"es": "Taza de cerámica"
},
"handle": {
"es": "taza-de-ceramica"
},
"product_link": "https://example.tiendanegocio.com/producto/taza-de-ceramica",
"published": true,
"free_shipping": false,
"created_at": "2026-03-19T09:59:07.000Z",
"updated_at": "2026-03-19T09:59:07.000Z",
"requires_shipping": true,
"description": {
"es": "Taza artesanal"
},
"variants": [
{
"id": null,
"promotional_price": null,
"created_at": "2026-03-19T09:59:07.000Z",
"price": "3500",
"product_id": 5,
"stock_management": true,
"stock": 25,
"sku": "TAZA-001",
"updated_at": "2026-03-19T09:59:07.000Z",
"image_id": null,
"dimensions": {
"weight": 0.3,
"depth": 10,
"width": 8,
"height": 12
}
}
],
"images": [],
"categories": [],
"brand": null,
"video_url": null,
"seo_title": null,
"seo_description": null,
"attributes": []
}

Producto con variantes:

GET /products/2

HTTP/1.1 200 OK

{
"id": 2,
"name": {
"es": "Remera Lino"
},
"handle": {
"es": "producto-ejemplo"
},
"product_link": "https://example.tiendanegocio.com/producto/example",
"published": true,
"free_shipping": false,
"created_at": "2026-03-19T09:59:07.000Z",
"updated_at": "2026-03-19T09:59:07.000Z",
"requires_shipping": true,
"description": {
"es": "<h1>Remesa bonita<h1>"
},
"variants": [
{
"id": 1,
"promotional_price": null,
"created_at": "2026-03-20T13:33:31.777Z",
"values": [
{
"es": "S"
}
],
"price": "2000",
"curency": "ARS",
"product_id": 2,
"published": true,
"stock_management": false,
"stock": 6,
"sku": "Remera lino",
"updated_at": "2026-03-20T13:33:31.777Z",
"cost": null,
"dimensions": {
"weight": 1,
"depth": 1,
"width": 7,
"height": 7
}
},
{
"id": 3,
"promotional_price": null,
"created_at": "2026-03-20T13:33:31.777Z",
"values": [
{
"es": "L"
}
],
"price": "2000",
"curency": "ARS",
"product_id": 2,
"stock_management": false,
"stock": null,
"sku": "Remera lino",
"updated_at": "2026-03-20T13:33:31.777Z",
"cost": null,
"dimensions": {
"weight": 1,
"depth": 1,
"width": 7,
"height": 7
}
},
{
"id": 4,
"promotional_price": null,
"created_at": "2026-03-20T13:33:31.777Z",
"values": [
{
"es": "S"
},
{
"es": "Gris"
}
],
"price": "2000",
"curency": "ARS",
"product_id": 2,
"published": false,
"stock_management": false,
"stock": null,
"sku": "Remera lino",
"updated_at": "2026-03-20T13:33:31.777Z",
"cost": null,
"dimensions": {
"weight": 1,
"depth": 1,
"width": 7,
"height": 7
}
}
],
"images": [
{
"id": 1,
"src": "https://cdn.v2.tiendanegocio.com/gallery/76/img_76_1920a8a3edf.webp",
"position": 0,
"product_id": 2
}
],
"categories": [
{
"id": 1,
"name": {
"es": "Remeras"
},
"description": {
"es": "Remeras"
},
"handle": {
"es": "Remera1"
},
"parent": null,
"subcategories": [],
"google_shopping_category": null,
"created_at": "2026-03-19T16:27:08.000Z",
"updated_at": "2026-03-20T13:33:31.777Z"
}
],
"brand": null,
"video_url": null,
"seo_title": null,
"seo_description": null,
"attributes": [
{
"es": "Talla"
}
]
}

GET /history-stock/${id}

Recibir el historial del stock de un producto

ParámetroExplicación
variant_idId de la variante (opcional)

GET /history-stock/2?variant_id=1

HTTP/1.1 200 OK

{
"pagination": {
"total": 2,
"page": 1,
"per_page": 10,
"next_page": null
},
"results": [
{
"stock_before": 9,
"stock_after": 6,
"stock_change": -3,
"variant_id": 1,
"reason": "Edición de stock",
"date": "2026-06-04T14:16:00.000Z"
},
{
"stock_before": 0,
"stock_after": 9,
"stock_change": 9,
"variant_id": 1,
"reason": "Creacion de variante",
"date": "2026-06-04T13:42:35.000Z"
}
]
}

POST /products

Crea un nuevo producto

POST /products

{
"name": {
"es": "Remera"
},
"description": {
"es": "Remera"
},
"handle": {
"es": "Remera"
},
"categories_id": [],
"brand": "string",
"published": true,
"free_shipping": false,
"video_url": "",
"seo_title": "Remera",
"seo_description": "Remera",
"requires_shipping": true,
"price": "5",
"stock": 0,
"sku": "string",
"weight": 0,
"depth": 0,
"width": 0,
"height": 0,
"cost": 0,
"stock_management": true,
"properties": [
{
"title": "Color",
"new": true,
"values": [
{
"id": "O2",
"title": "Red",
"position": 0
},
{
"id": "O4",
"title": "Blue",
"position": 1
}
]
}
],
"variants": [
{
"price": "25",
"weight": 1,
"sku": "VAR-1",
"stock": 15,
"published": true,
"promotional_price": "5",
"properties": [
{
"id": "O2",
"title": "Red"
}
]
},
{
"price": "30",
"weight": 1,
"sku": "VAR-X",
"stock": 15,
"published": true,
"promotional_price": "1",
"properties": [
{
"id": "O4",
"title": "Blue"
}
]
}
]
}

Respuesta

HTTP/1.1 201 OK

{
"id": 11,
"name": {
"es": "Remera"
},
"handle": {
"es": "Remera"
},
"product_link": "https://example.tiendanegocio.com/producto/example",
"published": true,
"free_shipping": false,
"created_at": "2026-03-20T15:30:38.000Z",
"updated_at": "2026-03-20T15:30:38.000Z",
"requires_shipping": true,
"description": {
"es": "Remera"
},
"variants": [
{
"id": 17,
"promotional_price": "5",
"created_at": "2026-03-20T15:30:38.583Z",
"values": [
{
"es": "Red"
}
],
"price": "25",
"currency": "ARS",
"product_id": 11,
"published": true,
"stock_management": true,
"stock": 15,
"sku": "VAR-1",
"updated_at": "2026-03-20T15:30:38.583Z",
"cost": null,
"dimensions": {
"weight": 1,
"depth": null,
"width": null,
"height": null
}
},
{
"id": 18,
"promotional_price": "1",
"created_at": "2026-03-20T15:30:38.583Z",
"values": [
{
"es": "Blue"
}
],
"price": "30",
"currency": "ARS",
"product_id": 11,
"stock_management": true,
"stock": 15,
"sku": "VAR-X",
"updated_at": "2026-03-20T15:30:38.583Z",
"cost": null,
"dimensions": {
"weight": 1,
"depth": null,
"width": null,
"height": null
}
}
],
"images": [],
"categories": [],
"brand": null,
"video_url": "",
"seo_title": "Remera",
"seo_description": "Remera",
"attributes": [
{
"es": "Color"
}
]
}

PUT /products/{id}

Modificar un producto existente

PUT /products/11

{
"name": {
"es": "Remera PRO Max"
},
"description": {
"es": "Remera premium de algodón"
},
"handle": {
"es": "remera-pro-max"
},
"published": true,
"free_shipping": true,
"requires_shipping": true,
"seo_title": "Remera PRO Max",
"seo_description": "La mejor remera del mercado",
"video_url": "https://youtube.com/video",
"price": "1500",
"promotional_price": "1200",
"stock": 100,
"sku": "BASE-REMERA-PRO",
"weight": 1.2,
"depth": 10,
"width": 25,
"height": 5,
"cost": 800,
"stock_management": true,
"categories_id": [1, 2, 3],
"properties": [
{
"id": 1,
"title": "Color",
"values": [
{ "id": "red", "title": "Rojo", "position": 1 },
{ "id": "blue", "title": "Azul", "position": 2 }
]
},
{
"id": 2,
"title": "Talle",
"values": [
{ "id": "s", "title": "S", "position": 1 },
{ "id": "m", "title": "M", "position": 2 }
]
}
],
"variants": [
{
"id": 1,
"properties": [
{ "id": "red", "title": "Rojo" },
{ "id": "s", "title": "S" }
],
"price": "1500",
"promotional_price": "1200",
"stock": 20,
"stock_management": true,
"sku": "RED-S",
"weight": 1.2,
"width": 25,
"height": 5,
"depth": 10,
"cost": 800,
"published": true
},
{
"id": 2,
"properties": [
{ "id": "red", "title": "Rojo" },
{ "id": "m", "title": "M" }
],
"price": "1550",
"promotional_price": "1250",
"stock": 15,
"stock_management": true,
"sku": "RED-M",
"weight": 1.2,
"width": 25,
"height": 5,
"depth": 10,
"cost": 820,
"published": true
},
{
"id": 3,
"properties": [
{ "id": "blue", "title": "Azul" },
{ "id": "s", "title": "S" }
],
"price": "1600",
"promotional_price": "1300",
"stock": 10,
"stock_management": true,
"sku": "BLUE-S",
"weight": 1.2,
"width": 25,
"height": 5,
"depth": 10,
"cost": 850,
"published": true
},
{
"id": 4,
"properties": [
{ "id": "blue", "title": "Azul" },
{ "id": "m", "title": "M" }
],
"price": "1650",
"promotional_price": "1350",
"stock": 5,
"stock_management": true,
"sku": "BLUE-M",
"weight": 1.2,
"width": 25,
"height": 5,
"depth": 10,
"cost": 870,
"published": true
}
]
}

Respuesta

HTTP/1.1 200 OK

{
"id": 457,
"name": {
"es": "Remera PRO Max"
},
"handle": {
"es": "remera-pro-max"
},
"product_link": "https://asd.tiendanegocio.com/producto/remera-pro-max",
"published": true,
"free_shipping": true,
"created_at": "2026-04-10T16:06:45.000Z",
"updated_at": "2026-04-10T16:52:49.000Z",
"requires_shipping": true,
"description": {
"es": "Remera premium de algodón"
},
"variants": [
{
"id": 283,
"promotional_price": "1200",
"created_at": "2026-04-10T16:52:49.537Z",
"values": [
{
"es": "Rojo"
},
{
"es": "S"
}
],
"price": "1500",
"currency": "ARS",
"product_id": 457,
"stock_management": false,
"stock": null,
"sku": "RED-S",
"updated_at": "2026-04-10T16:52:49.537Z",
"cost": null,
"dimensions": {
"weight": 1.2,
"depth": 10,
"width": 25,
"height": 5
}
},
{
"id": 284,
"promotional_price": "1250",
"created_at": "2026-04-10T16:52:49.537Z",
"values": [
{
"es": "Rojo"
},
{
"es": "M"
}
],
"price": "1550",
"currency": "ARS",
"product_id": 457,
"stock_management": false,
"stock": null,
"sku": "RED-M",
"updated_at": "2026-04-10T16:52:49.537Z",
"cost": null,
"dimensions": {
"weight": 1.2,
"depth": 10,
"width": 25,
"height": 5
}
},
{
"id": 285,
"promotional_price": "1300",
"created_at": "2026-04-10T16:52:49.537Z",
"values": [
{
"es": "Azul"
},
{
"es": "S"
}
],
"price": "1600",
"currency": "ARS",
"product_id": 457,
"stock_management": false,
"stock": null,
"sku": "BLUE-S",
"updated_at": "2026-04-10T16:52:49.537Z",
"cost": null,
"dimensions": {
"weight": 1.2,
"depth": 10,
"width": 25,
"height": 5
}
},
{
"id": 286,
"promotional_price": "1350",
"created_at": "2026-04-10T16:52:49.537Z",
"values": [
{
"es": "Azul"
},
{
"es": "M"
}
],
"price": "1650",
"currency": "ARS",
"product_id": 457,
"stock_management": false,
"stock": null,
"sku": "BLUE-M",
"updated_at": "2026-04-10T16:52:49.537Z",
"cost": null,
"dimensions": {
"weight": 1.2,
"depth": 10,
"width": 25,
"height": 5
}
}
],
"images": [],
"categories": [
{
"id": 61,
"name": {
"es": "Ropa fachero"
},
"description": {
"es": "Indumentaria ideal para entrenar y hacer actividad física."
},
"handle": {
"es": "ropa-depoasdrtiva"
},
"parent": null,
"subcategories": [],
"google_shopping_category": null,
"created_at": "2026-04-09T10:41:39.000Z",
"updated_at": "2026-04-09T18:58:59.000Z"
}
],
"brand": null,
"video_url": "https://youtube.com/video",
"seo_title": "Remera PRO Max",
"seo_description": "La mejor remera del mercado",
"attributes": [
{
"es": "Talle"
},
{
"es": "Color"
}
]
}

DELETE /products/{id}

Eliminar un producto DELETE /products/11


POST /products/batch

Crea varios productos

{
"products": [
{
"name": {
"es": "Remera PRO Max"
},
"description": {
"es": "Remera premium de algodón"
},
"handle": {
"es": "remera-pro-max"
},
"published": true,
"free_shipping": true,
"requires_shipping": true,
"seo_title": "Remera PRO Max",
"seo_description": "La mejor remera del mercado",
"video_url": "https://youtube.com/video",
"price": "1500",
"promotional_price": "1200",
"stock": 100,
"sku": "BASE-REMERA-PRO",
"weight": 1.2,
"depth": 10,
"width": 25,
"height": 5,
"cost": 800,
"stock_management": true,
"categories_id": [1, 2, 3]
},
{
"name": {
"es": "Remera"
},
"description": {
"es": "Remera"
},
"handle": {
"es": "Remera"
},
"categories_id": [],
"brand": "string",
"published": true,
"free_shipping": false,
"video_url": "",
"seo_title": "Remera",
"seo_description": "Remera",
"requires_shipping": true,
"price": "5",
"stock": 0,
"sku": "string",
"weight": 0,
"depth": 0,
"width": 0,
"height": 0,
"cost": 0,
"stock_management": true,
"properties": [
{
"title": "Color",
"new": true,
"values": [
{
"id": "O2",
"title": "Red",
"position": 0
},
{
"id": "O4",
"title": "Blue",
"position": 1
}
]
}
],
"variants": [
{
"price": "25",
"weight": 1,
"sku": "VAR-1",
"stock": 15,
"published": true,
"promotional_price": "5",
"properties": [
{
"id": "O2",
"title": "Red"
}
]
},
{
"price": "30",
"weight": 1,
"sku": "VAR-X",
"stock": 15,
"published": true,
"promotional_price": "1",
"properties": [
{
"id": "O4",
"title": "Blue"
}
]
}
]
}
]
}

Respuesta

HTTP/1.1 201 OK

{
"total_success": 2,
"total_failed": 0,
"failed_products": []
}

PUT /products/batch/update

Actualizar varios productos

{
"products": [
{
"id": 464,
"name": {
"es": "Remera PRO Max"
},
"description": {
"es": "Remera premium de algodón"
},
"handle": {
"es": "remera-pro-max"
},
"published": true,
"free_shipping": true,
"requires_shipping": true,
"seo_title": "Remera PRO Max",
"seo_description": "La mejor remera del mercado",
"video_url": "https://youtube.com/video",
"price": "1500",
"promotional_price": "1200",
"stock": 100,
"sku": "BASE-REMERA-PRO",
"weight": 1.2,
"depth": 10,
"width": 25,
"height": 5,
"cost": 800,
"stock_management": true
},
{
"id": 463,
"name": {
"es": "Remera"
},
"description": {
"es": "Remera"
},
"handle": {
"es": "remera"
},
"categories_id": [],
"brand": "string",
"published": true,
"free_shipping": false,
"video_url": "",
"seo_title": "Remera",
"seo_description": "Remera",
"requires_shipping": true,
"price": "5",
"stock": 0,
"sku": "string",
"weight": 0,
"depth": 0,
"width": 0,
"height": 0,
"cost": 0,
"stock_management": true,
"properties": [
{
"title": "Color",
"new": true,
"values": [
{
"id": "O2",
"title": "Red",
"position": 0
},
{
"id": "O4",
"title": "Blue",
"position": 1
}
]
}
],
"variants": [
{
"price": "25",
"weight": 1,
"sku": "VAR-1",
"stock": 15,
"published": true,
"promotional_price": "5",
"properties": [
{
"id": "O2",
"title": "Red"
}
]
},
{
"price": "30",
"weight": 1,
"sku": "VAR-X",
"stock": 15,
"published": true,
"promotional_price": "1",
"properties": [
{
"id": "O4",
"title": "Blue"
}
]
}
]
}
]
}

Respuesta

HTTP/1.1 201 OK

{
"total_success": 2,
"total_failed": 0,
"failed_products": []
}