YOM Docs

Carga masiva de stock


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.

Qué enviar


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.

Stock

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"

Ejemplo

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"
    }
  ]
}

Qué devuelve


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:

| --- | --- |