> ## Documentation Index
> Fetch the complete documentation index at: https://docs.retailgrid.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Actualizar productos por lotes

> Actualiza muchos productos existentes en una sola llamada, cada uno solo con los campos que cambiaron, sin reenviar los campos exclusivos de creación.

`PATCH /v1/products/bulk` aplica actualizaciones parciales a un lote de productos existentes en una sola solicitud. Cada elemento del lote identifica un producto y lleva solo los campos que cambiaron. Así, una integración que sincroniza unos pocos atributos en miles de productos ya no tiene que enviar un registro completo por producto ni recurrir a una solicitud por producto.

Úsalo cuando actualices productos que ya existen. Para crear productos o hacer un upsert completo, usa [Upsert masivo de productos](https://docs.retailgrid.io/es/api-reference/products/bulk-upsert.md) (`POST /v1/products/bulk`); para cambiar un único producto, usa [Actualizar parcialmente un producto](https://docs.retailgrid.io/es/api-reference/products/patch.md).

## Semántica de los campos

Cada elemento actualiza solo los campos que incluye:

* **Los campos omitidos se dejan sin cambios** - no necesitas reenviar `sku_name`, `current_price`, `unit_cost` ni ningún otro campo que no estés cambiando.
* **`0` y `false` se conservan** como valores reales, no se tratan como vacíos.
* **Un `null` explícito vacía** un campo que admite nulos; no vacía los campos que no admiten nulos.

## Resultados por elemento

El lote devuelve un resultado explícito por elemento, de modo que un problema con un producto no hunde al resto:

* **Productos inexistentes** - una identidad que no existe en tu organización se reporta, no se crea.
* **Cambios no válidos** - un campo que no pasa la validación se reporta asociado a ese elemento.
* **Identidades duplicadas** - el mismo producto que aparece dos veces en un lote se reporta en lugar de aplicarse dos veces.

Los elementos válidos del mismo lote se procesan correctamente de todos modos.

## Reintentos y tamaño del lote

Reenviar el mismo lote es seguro: volver a aplicar una actualización parcial idéntica es idempotente. Los lotes grandes se procesan en bloques acotados, así que el trabajo en la base de datos escala con el número de bloques y no con los productos individuales. Mantén cada solicitud dentro del límite de lote documentado y divide las sincronizaciones más grandes en varias llamadas; una llamada reintentada puede repetir un bloque sin crear duplicados.

El aislamiento por organización y la autorización por clave de API se aplican exactamente igual que en los demás endpoints de productos: un lote solo puede leer y actualizar productos de la organización autenticada.

## Relacionado

* [Actualizar parcialmente un producto](https://docs.retailgrid.io/es/api-reference/products/patch.md) - actualizar un único producto
* [Upsert masivo de productos](https://docs.retailgrid.io/es/api-reference/products/bulk-upsert.md) - crear o reemplazar productos de forma masiva
* [Importaciones vs. masivo](https://docs.retailgrid.io/es/api-reference/imports-vs-bulk.md) - cuándo usar importaciones CSV en su lugar


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.