Productos
Un Producto es un artículo a la venta en una tienda de Tienda Negocio. Puede ser un bien o un servicio.
Propiedades
| Propiedad | Explicación |
|---|---|
| id | Identificador numérico único del producto |
| name | Nombre del producto |
| handle | URL del producto |
| product_link | Link del producto |
| published | Indica si el producto está visible en la tienda |
| free_shipping | Indica si el producto tiene envío gratis |
| created_at | Fecha de creación del producto |
| updated_at | Fecha de última actualización del producto |
| requires_shipping | Indica si el producto requiere envío físico |
| description | Descripción del producto |
| variants | Lista 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. |
| images | Lista de imágenes asociadas al producto |
| categories | Categorías a las que pertenece el producto |
| brand | Marca del producto |
| video_url | URL de un video asociado al producto |
| seo_title | Título SEO del producto |
| seo_description | Descripción SEO del producto |
| attributes | Lista de atributos del producto (ej: color, talla) |
Nota: Los campos
price,promotional_price,stock,skuydimensionsno se devuelven a nivel de producto. Siempre están dentro devariants. Para productos sin variantes,variantscontiene un solo objeto conid: nullsin el campovalues.Nota: Las variantes ocultas se devuelven con
published: false. Las variantes visibles tienenpublished: true.
Endpoints
GET /products
| Parámetro | Explicación |
|---|---|
| ids | Lista de IDs separados por coma (max 30) |
| since_id | Restringir los resultados a después del ID especificado |
| q | Buscar Productos que contengan el texto indicado en su título o sku |
| handle | Handle del producto |
| category_id | ID de categoría para filtrar |
| published | Filtrar por estado publicado (true o false) |
| free_shipping | Filtrar por envío gratis (true o false) |
| page | Página a mostrar |
| per_page | Cantidad de resultados |
| created_at_min | Fecha mínima de creación (ISO 8601) |
| created_at_max | Fecha máxima de creación (ISO 8601) |
| with_images | Incluir imágenes en la respuesta (true o false) |
| with_categories | Incluir categorías en la respuesta (true o false) |
| with_description | Incluir descripción en la respuesta (true o false) |
| with_total | Incluir total de registros en la respuesta (true o false) |
| slim | Modo 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ámetro | Explicación |
|---|---|
| variant_id | Id 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": []
}