Productos

/v1/product

Administración de productos.

GET /v1/product Listar registros ▶
Parám.DescripciónDefecto
pageNúmero de página1
per_pageRegistros por página (máx. 1000)20
sinceInicio del rango de creación (columna entered). Solo fecha = desde las 00:00:00—
untilFin del rango de creación. Solo fecha = hasta las 23:59:59—
qBúsqueda de texto en los campos indicados en cada recurso: name description model bar slug —
s / oCampo de ordenamiento · Sentido: asc o descsegún recurso
fFiltros 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

Campos grabables
CampoEtiquetaTipoObl.
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.

Campos grabables
CampoEtiquetaTipo
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 ▶
Campos grabables
CampoEtiquetaTipo
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
}