Productos
Administración de productos.
GET /v1/product Listar registros ▶
| Parám. | Descripción | Defecto |
|---|---|---|
page | Número de página | 1 |
per_page | Registros por página (máx. 1000) | 20 |
since | Inicio del rango de creación (columna entered). Solo fecha = desde las 00:00:00 | — |
until | Fin del rango de creación. Solo fecha = hasta las 23:59:59 | — |
q | Búsqueda de texto en los campos indicados en cada recurso: name description model bar slug | — |
s / o | Campo de ordenamiento · Sentido: asc o desc | según recurso |
f | Filtros exactos en JSON | — |
# página 2, 20 por página
curl -H "X-SYNCS-API-TOKEN: TU_TOKEN" "https://sandbox.minimarket.digital/v1/product?page=2&per_page=20"
# creados en un rango de fechas, más recientes primero
curl -H "X-SYNCS-API-TOKEN: TU_TOKEN" "https://sandbox.minimarket.digital/v1/product?since=2026-07-01&until=2026-07-31&s=entered&o=desc"
Respuesta
{
"status": "success",
"code": "200",
"message": "LIST",
"data": {
"a1b2c3d4-5e6f-7890-abcd-ef1234567890": {
"id": "a1b2c3d4-5e6f-7890-abcd-ef1234567890",
"name": "Martillo de uña 16oz",
"cat_id": "herramientas",
"description_short": "Martillo de uña con mango de fibra de vidrio",
"model": "MT-16",
"bar_id": "EAN13",
"bar": "7750000000017",
"slug": "martillo-una-16oz",
"visible": 1,
"to_sell": 1,
"sell_cur": "PEN",
"sell_unit": "U",
"sell_min": 1,
"product_weight": 0.65
}
},
"meta": {
"page": 1,
"per_page": 20,
"count": 1,
"total": 134
}
}
GET /v1/product/{id} Obtener un registro ▶
curl -H "X-SYNCS-API-TOKEN: TU_TOKEN" "https://sandbox.minimarket.digital/v1/product/ID"
Respuesta
{
"status": "success",
"code": "200",
"message": "GET",
"data": {
"id": "a1b2c3d4-5e6f-7890-abcd-ef1234567890",
"name": "Martillo de uña 16oz",
"cat_id": "herramientas",
"description_short": "Martillo de uña con mango de fibra de vidrio",
"model": "MT-16",
"bar_id": "EAN13",
"bar": "7750000000017",
"slug": "martillo-una-16oz",
"visible": 1,
"to_sell": 1,
"sell_cur": "PEN",
"sell_unit": "U",
"sell_min": 1,
"product_weight": 0.65
}
}
POST /v1/product Crear un registro ▶
Solo se graban las columnas de la lista blanca de cada recurso (los campos grabables que aparecen en cada endpoint); cualquier otra clave del JSON se ignora en silencio. Cada valor es un texto, un número, un booleano (se guarda como 1 o 0) o null; un arreglo o un objeto responde 400 FIELD_INVALID: campo. Los componentes de la clave primaria que no se envíen toman el valor ---. El id puede enviarse (máximo 45 caracteres alfanuméricos, _, - y .); si se omite, la API genera un UUID.
Requeridos en POST
name
Componentes de la clave — si no se envían toman ---
cou_id cha_id sll_id cat_id prd_lin_id prd_seg_id prd_fam_id prd_cla_id prd_cod_id prd_man_id prd_bra_id prd_bat_id prd_rot_id
| Campo | Etiqueta | Tipo | Obl. |
|---|---|---|---|
name | — | texto | • |
description | — | texto | |
description_short | — | texto | |
specs | — | texto | |
composition | — | texto | |
contraindications | — | texto | |
warnings | — | texto | |
datasheet | — | texto | |
visible | — | booleano | |
visible_soldout | — | booleano | |
featured | — | booleano | |
kit | — | booleano | |
typ_id | — | texto | |
model | — | texto | |
serial | — | texto | |
bar_id | — | texto | |
bar | — | texto | |
package_width | — | número | |
package_height | — | número | |
package_depth | — | número | |
package_volume | — | número | |
package_weight | — | número | |
product_width | — | número | |
product_height | — | número | |
product_depth | — | número | |
product_volume | — | número | |
product_weight | — | número | |
recurrent | — | booleano | |
fre_id | — | texto | |
frequency_date | — | fecha | |
thumbnail | — | texto | |
url | — | texto | |
meta_keywords | — | texto | |
meta_description | — | texto | |
tag | — | texto | |
slug | — | texto | |
reviews | — | booleano | |
rating | — | número | |
score | — | número | |
loyalty | — | número | |
to_purchase | — | booleano | |
purchase_cur | — | texto | |
purchase_unit | — | texto | |
purchase_min | — | número | |
purchase_max | — | número | |
to_sell_online | — | booleano | |
to_sell | — | booleano | |
sell_cur | — | texto | |
sell_unit | — | texto | |
sell_min | — | número | |
sell_max | — | número | |
to_sync | — | booleano |
Con formato (se sanean al guardar) description
curl -X POST "https://sandbox.minimarket.digital/v1/product" \
-H "X-SYNCS-API-TOKEN: TU_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "Martillo de uña 16oz",
"cat_id": "herramientas",
"description_short": "Martillo de uña con mango de fibra de vidrio",
"model": "MT-16",
"bar_id": "EAN13",
"bar": "7750000000017",
"slug": "martillo-una-16oz",
"visible": 1,
"to_sell": 1,
"sell_cur": "PEN",
"sell_unit": "U",
"sell_min": 1,
"product_weight": 0.65
}'
Respuesta
{
"status": "success",
"code": "201",
"message": "ADD",
"data": {
"id": "a1b2c3d4-5e6f-7890-abcd-ef1234567890",
"name": "Martillo de uña 16oz",
"cat_id": "herramientas",
"description_short": "Martillo de uña con mango de fibra de vidrio",
"model": "MT-16",
"bar_id": "EAN13",
"bar": "7750000000017",
"slug": "martillo-una-16oz",
"visible": 1,
"to_sell": 1,
"sell_cur": "PEN",
"sell_unit": "U",
"sell_min": 1,
"product_weight": 0.65
}
}
PATCH /v1/product/{id} Actualizar un registro ▶
Ambos hacen exactamente lo mismo: actualización parcial. Solo se modifican las columnas presentes en el JSON, el resto queda intacto — no hace falta reenviar el registro completo. Se usa PATCH por corrección semántica y PUT por compatibilidad con clientes que no lo soportan. La API graba modified y modified_by automáticamente.
Si el id no existe, ya se eliminó o queda fuera del alcance del permiso, responden 404 NO_DATA; si el JSON no trae ninguna columna válida, 400 NO_VALID_FIELDS.
Los componentes de la clave identifican el registro y no se cambian: enviarlos responde 400 FIELD_READONLY: campo, con todos los que llegaron. En los recursos por idioma, lng_id indica qué traducción se edita y no se escribe.
| Campo | Etiqueta | Tipo |
|---|---|---|
name | — | texto |
description | — | texto |
description_short | — | texto |
specs | — | texto |
composition | — | texto |
contraindications | — | texto |
warnings | — | texto |
datasheet | — | texto |
visible | — | booleano |
visible_soldout | — | booleano |
featured | — | booleano |
kit | — | booleano |
typ_id | — | texto |
model | — | texto |
serial | — | texto |
bar_id | — | texto |
bar | — | texto |
package_width | — | número |
package_height | — | número |
package_depth | — | número |
package_volume | — | número |
package_weight | — | número |
product_width | — | número |
product_height | — | número |
product_depth | — | número |
product_volume | — | número |
product_weight | — | número |
recurrent | — | booleano |
fre_id | — | texto |
frequency_date | — | fecha |
thumbnail | — | texto |
url | — | texto |
meta_keywords | — | texto |
meta_description | — | texto |
tag | — | texto |
slug | — | texto |
reviews | — | booleano |
rating | — | número |
score | — | número |
loyalty | — | número |
to_purchase | — | booleano |
purchase_cur | — | texto |
purchase_unit | — | texto |
purchase_min | — | número |
purchase_max | — | número |
to_sell_online | — | booleano |
to_sell | — | booleano |
sell_cur | — | texto |
sell_unit | — | texto |
sell_min | — | número |
sell_max | — | número |
to_sync | — | booleano |
No cambian por PUT/PATCH (400 FIELD_READONLY) cou_id cha_id sll_id cat_id prd_lin_id prd_seg_id prd_fam_id prd_cla_id prd_cod_id prd_man_id prd_bra_id prd_bat_id prd_rot_id
curl -X PATCH "https://sandbox.minimarket.digital/v1/product/ID" \
-H "X-SYNCS-API-TOKEN: TU_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"description_short": "Martillo de uña con mango de fibra de vidrio",
"model": "MT-16"
}'
Respuesta
{
"status": "success",
"code": "200",
"message": "UPDATE",
"data": {
"id": "a1b2c3d4-5e6f-7890-abcd-ef1234567890",
"description_short": "Martillo de uña con mango de fibra de vidrio",
"model": "MT-16"
}
}
PUT /v1/product/{id} Actualizar (compatibilidad) — idéntico a PATCH ▶
| Campo | Etiqueta | Tipo |
|---|---|---|
name | — | texto |
description | — | texto |
description_short | — | texto |
specs | — | texto |
composition | — | texto |
contraindications | — | texto |
warnings | — | texto |
datasheet | — | texto |
visible | — | booleano |
visible_soldout | — | booleano |
featured | — | booleano |
kit | — | booleano |
typ_id | — | texto |
model | — | texto |
serial | — | texto |
bar_id | — | texto |
bar | — | texto |
package_width | — | número |
package_height | — | número |
package_depth | — | número |
package_volume | — | número |
package_weight | — | número |
product_width | — | número |
product_height | — | número |
product_depth | — | número |
product_volume | — | número |
product_weight | — | número |
recurrent | — | booleano |
fre_id | — | texto |
frequency_date | — | fecha |
thumbnail | — | texto |
url | — | texto |
meta_keywords | — | texto |
meta_description | — | texto |
tag | — | texto |
slug | — | texto |
reviews | — | booleano |
rating | — | número |
score | — | número |
loyalty | — | número |
to_purchase | — | booleano |
purchase_cur | — | texto |
purchase_unit | — | texto |
purchase_min | — | número |
purchase_max | — | número |
to_sell_online | — | booleano |
to_sell | — | booleano |
sell_cur | — | texto |
sell_unit | — | texto |
sell_min | — | número |
sell_max | — | número |
to_sync | — | booleano |
curl -X PUT "https://sandbox.minimarket.digital/v1/product/ID" \
-H "X-SYNCS-API-TOKEN: TU_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"description_short": "Martillo de uña con mango de fibra de vidrio",
"model": "MT-16"
}'
DELETE /v1/product/{id} Eliminar un registro — Elimina el registro ▶
curl -X DELETE "https://sandbox.minimarket.digital/v1/product/ID" \
-H "X-SYNCS-API-TOKEN: TU_TOKEN"
Respuesta
{
"status": "success",
"code": "200",
"message": "DELETED",
"data": null
}