PUT {{URL_BASE_V3}}/admin/catalog/stock/bulk
Crea o actualiza registros de stock. La clave de actualización es la combinación de producto y centro de distribución: si ya existe un registro para ese par, se actualiza; si no, se crea.
| Campo | Tipo | Carácter | Descripción | Ejemplos |
|---|---|---|---|---|
data |
🔡 Lista de Objetos → Stock | 🟢 Requerido | Entre 1 y 500 registros de stock. Ver detalle abajo. | |
syncId |
📝 Texto | ⚪ Opcional | Identificador de la carga. Queda guardado en cada registro. | "20260810-carga-manana" |
No se admiten otros campos en el nivel superior del cuerpo de la solicitud.
Cada registro de data.
| Campo | Tipo | Carácter | Descripción | Ejemplos |
|---|---|---|---|---|
sku |
📝 Texto | 🟢 Requerido | Código del Producto en el sistema del cliente. | "ABC-1" |
quantity |
🔢 Número | 🟢 Requerido | Cantidad de stock. | 120 |
distributionCenterExternalId |
📝 Texto | 🟡 Condicional | Código del Centro de distribución en el sistema del cliente. | |
*\*Obligatorio si no se envía *distributionCenterId. |
"CD-SANTIAGO" |
|||
distributionCenterId |
🆔 ObjectId | 🟡 Condicional | Identificador del Centro de distribución en YOM. | |
*\*Obligatorio si no se envía *distributionCenterExternalId. |
"650a1b2c3d4e5f6a7b8c9d99" |
|||
productId |
🆔 ObjectId | ⚪ Opcional | Identificador del Producto en YOM. | |
*\*Si no se envía, YOM lo resuelve a partir del *sku. |
"650a1b2c3d4e5f6a7b8c9d01" |
|||
formatKey |
📝 Texto | ⚪ Opcional | Formato del Producto. | "caja" |
PUT {{URL_BASE_V3}}/admin/catalog/stock/bulk
{
"syncId": "20260810-carga-manana",
"data": [
{
"sku": "ABC-1",
"distributionCenterExternalId": "CD-SANTIAGO",
"quantity": 120
},
{
"sku": "ABC-2",
"distributionCenterExternalId": "CD-SANTIAGO",
"quantity": 0
},
{
"sku": "ABC-3",
"distributionCenterId": "650a1b2c3d4e5f6a7b8c9d99",
"quantity": 45,
"formatKey": "caja"
}
]
}
207 — un arreglo con un resultado por cada registro enviado, en el mismo orden.
[
{ "status": 201, "recordId": "650a1b2c3d4e5f6a7b8c9d11", "result": "created" },
{ "status": 204, "recordId": null, "result": "updated" },
{ "status": 422, "recordId": null, "result": "invalid", "error": "ValidationError" }
]
| Campo | Tipo | Carácter | Descripción | Ejemplos |
|---|---|---|---|---|
result |
📝 Texto | 🟢 Requerido | Resultado del registro. | |
"created" → se creó un registro nuevo |
||||
"updated" → se actualizó uno existente |
||||
"invalid" → no se pudo procesar |
"created" |
|||
status |
🔢 Número | 🟢 Requerido | Código asociado al resultado. | |
201 creado · 204 actualizado · 422 inválido |
201 |
|||
recordId |
🆔 ObjectId | ⚪ Opcional | Identificador del registro creado. Solo viene con "created"; en el resto es null. |
"650a1b2c3d4e5f6a7b8c9d11" |
error |
📝 Texto | ⚪ Opcional | Motivo del rechazo. Solo viene con "invalid". |
"ValidationError" |
Errores de la llamada completa:
| --- | --- |