Productos
Modificar producto
Debe incluir un token de acceso en el encabezado de 'Authorization' en todas las solicitudes.
Ratelimit
Cada 1 segundo
Cuerpo de la consulta
Identificá el producto con sku o externalId (uno de los dos) y enviá al menos uno de price, name, description o show.
SKU del producto. Requerido salvo que envíes externalId.
ID de integración (Fudo/Toteat) del producto, en children.integrations. Alternativa a sku — la plataforma se detecta automáticamente (productIdFudo, productCodeToteat o extId).
Nuevo precio del SKU (nivel child).
Nuevo nombre del producto (nivel producto, compartido por todos sus SKU).
Nueva descripción del producto (nivel producto). Enviá "" para limpiarla.
Visibilidad del PRODUCTO entero (nivel producto). true = visible, false = no visible. No confundir con la visibilidad del stock por sucursal (esa va en /product/stock).
Ejemplo.
curl -v -X PUT
--url 'https://api.public.lumarketo.cl/product'
--header 'Authorization: Bearer <access_token>'
--data '{ "sku": 50, "price": 2560, "show": false }'Identificando el producto por externalId de integración (sin sku), solo el nombre:
curl -v -X PUT
--url 'https://api.public.lumarketo.cl/product'
--header 'Authorization: Bearer <access_token>'
--data '{ "externalId": "777", "name": "Nuevo nombre" }'Respuestas
Modificar stock de producto
Actualiza el stock de un producto. Debe incluir un token de acceso en el encabezado de 'Authorization'.
Ratelimit
Cada 1 segundo
Cuerpo de la consulta
El externalId del producto (id de integración Fudo/Toteat) y el nuevo qty. Por defecto el externalId ya identifica la sucursal: cada mapeo de integración del producto guarda a qué sucursal pertenece, así que el sistema la resuelve automáticamente.
⚠️ Importante —
externalIdrepetido entre sucursales. Si el mismoexternalIdde producto se repite en varias sucursales (por ejemplo, todas tus sucursales usan el mismo id externo por producto), no se puede saber a cuál actualizar. En ese caso debés enviar la sucursal consubsidiaryExternalId(extId de la sucursal) osubsidiaryId(id interno) para diferenciarlas.
Requerido. ID de integración (Fudo/Toteat) del producto. Identifica producto y, por defecto, sucursal (plataforma auto-detectada).
Requerido. Nueva cantidad de stock.
Opcional. Visibilidad del stock en esa sucursal (true = visible, false = no visible). Si se omite, no se toca.
Opcional. extId de la sucursal. Úsalo para desambiguar cuando el externalId del producto se repite entre sucursales.
Opcional. ID interno de la sucursal (alternativa a subsidiaryExternalId).
Ejemplo.
curl -v -X PUT
--url 'https://api.public.lumarketo.cl/product/stock'
--header 'Authorization: Bearer <access_token>'
--data '{ "externalId": "777", "qty": 40, "show": false }'Desambiguando la sucursal (externalId repetido entre sucursales):
curl -v -X PUT
--url 'https://api.public.lumarketo.cl/product/stock'
--header 'Authorization: Bearer <access_token>'
--data '{ "externalId": "777", "qty": 40, "subsidiaryExternalId": "1546626" }'Solo modifica entradas de stock ya existentes. La respuesta tiene el mismo formato que "Modificar producto" ({ success, message, data: {} }); success: false si el producto o la sucursal no existen, o si el externalId no tiene una sucursal con stock asociado.
Modificar productos en lote
Actualiza varios productos (price/name/description) en una sola solicitud. Debe incluir un token de acceso en el encabezado de 'Authorization' en todas las solicitudes.
Los items inválidos o cuyo producto no exista no detienen la operación: se procesan
los válidos y los descartados se informan en data.errors.
Ratelimit
Cada 1 segundo
Cuerpo de la consulta
Arreglo de productos a actualizar (mínimo 1, máximo 100 por request)
SKU del producto. Requerido salvo que envíes externalId.
ID de integración (Fudo/Toteat) del producto, en children.integrations. Alternativa a sku — la plataforma se detecta automáticamente.
Nuevo precio del SKU (nivel child).
Nuevo nombre del producto (nivel producto).
Nueva descripción del producto (nivel producto).
Visibilidad del PRODUCTO entero (nivel producto). No confundir con la visibilidad del stock por sucursal.
Cada item se identifica con sku o externalId (uno de los dos) y debe incluir al menos uno de price/name/description/show. Los items inválidos o cuyo producto no exista no abortan el batch: se reportan en data.errors con index, sku, externalId y el mensaje.
Ejemplo.
curl -v -X PUT
--url 'https://api.public.lumarketo.cl/product/batch'
--header 'Authorization: Bearer <access_token>'
--data '{ "products": [{ "sku": 50, "price": 2560, "show": false }, { "externalId": "777", "description": "Nueva desc" }] }'Respuestas
Modificar stock en lote
Actualiza el stock de varios productos en una sola solicitud. Cada item lleva solo el externalId del producto (que ya identifica su sucursal) y qty. Debe incluir un token de acceso en el encabezado de 'Authorization'.
Cuerpo de la consulta
Arreglo de items a actualizar (mínimo 1, máximo 100 por request)
Requerido. ID de integración (Fudo/Toteat) del producto. Identifica producto y, por defecto, sucursal (plataforma auto-detectada).
Requerido. Nueva cantidad de stock.
Opcional. Visibilidad del stock en esa sucursal (true/false). Si se omite, no se toca.
Opcional. extId de la sucursal. Úsalo para desambiguar cuando el externalId del producto se repite entre sucursales.
Opcional. ID interno de la sucursal (alternativa a subsidiaryExternalId).
Cada item trae externalId + qty (y show opcional). Por defecto el externalId ya identifica la sucursal (cada mapeo de integración guarda su sucursal).
⚠️ Importante —
externalIdrepetido entre sucursales. Si el mismoexternalIdde producto se repite en varias sucursales, agregá por item la sucursal consubsidiaryExternalId(extId) osubsidiaryId(id interno) para diferenciarlas. Si se omite, la sucursal se deriva delexternalId(solo sirve cuando ese id es único).
Los items inválidos, cuyo producto o sucursal no exista, o cuyo externalId no tenga una sucursal con stock, no abortan el batch: se reportan en data.errors con index, externalId y el mensaje.
Ejemplo.
curl -v -X PUT
--url 'https://api.public.lumarketo.cl/product/stock/batch'
--header 'Authorization: Bearer <access_token>'
--data '{ "products": [{ "externalId": "777", "qty": 6000, "show": false }, { "externalId": "777", "qty": 30, "subsidiaryExternalId": "1546626" }] }'La respuesta tiene el mismo formato que "Modificar productos en lote" ({ updated, total, errors }).
Productos por sucursal
Lista los productos disponibles en una sucursal. Requiere Bearer token.
Parámetros de consulta (query) — uno de los dos, + paginación opcional
ID interno de la sucursal
ID externo de la sucursal (extId); se resuelve al ID interno
Página a devolver (default 1)
Cantidad de items por página (default 20)
Dirección del orden: asc | desc (default desc)
Campo por el cual ordenar (default CreatedDate)
Ejemplo.
curl -v -X GET
--url 'https://api.public.lumarketo.cl/product/list?subsidiaryId=6403c1fbc961b1bdaaf7fd18&page=1&limit=20'
--header 'Authorization: Bearer <access_token>'data es un objeto paginado: { docs, totalDocs, limit, page, totalPages, hasNextPage, hasPrevPage }. docs es el arreglo de productos. Cada producto: { id, name, category, show, children: [{ sku, barcode, price, withDiscount, discount, show, stocks: [{ subsidiaryId, qty, show }], integrations: [{ subsidiaryId, productIdFudo, productCodeToteat, extId }] }] }.
Obtener producto
Obtiene un producto por su sku o por su externalId de integración (Fudo/Toteat, guardado en children.integrations). Requiere Bearer token.
Parámetros de consulta (query) — uno de los dos
SKU del producto
ID de integración del producto (Fudo/Toteat). La plataforma se detecta automáticamente: busca en productIdFudo, productCodeToteat y extId.
Ejemplo.
curl -v -X GET
--url 'https://api.public.lumarketo.cl/product?sku=931'
--header 'Authorization: Bearer <access_token>'Identificando por externalId de integración:
curl -v -X GET
--url 'https://api.public.lumarketo.cl/product?externalId=777'
--header 'Authorization: Bearer <access_token>'data es un producto (mismo formato que "Productos por sucursal"), o null si no existe.