YOM Docs

Carga em massa de estoque


PUT {{URL_BASE_V3}}/admin/catalog/stock/bulk

Cria ou atualiza registros de estoque. A chave de atualização é a combinação de produto e centro de distribuição: se já existe um registro para esse par, ele é atualizado; se não, ele é criado.

O que enviar


Campo Tipo Obrigatoriedade Descrição Exemplos
data 🔡 Lista de Objetos → Stock 🟢 Obrigatório Entre 1 e 500 registros de estoque. Ver detalhe abaixo.
syncId 📝 Texto ⚪ Opcional Identificador da carga. Fica salvo em cada registro. "20260810-carga-manana"

Não são aceitos outros campos no nível superior do corpo da solicitação.

Stock

Cada registro de data.

Campo Tipo Obrigatoriedade Descrição Exemplos
sku 📝 Texto 🟢 Obrigatório Código do Produto no sistema do cliente. "ABC-1"
quantity 🔢 Número 🟢 Obrigatório Quantidade de estoque. 120
distributionCenterExternalId 📝 Texto 🟡 Condicional Código do Centro de distribuição no sistema do cliente.
*\*Obrigatório se não for enviado *distributionCenterId. "CD-SANTIAGO"
distributionCenterId 🆔 ObjectId 🟡 Condicional Identificador do Centro de distribuição na YOM.
*\*Obrigatório se não for enviado *distributionCenterExternalId. "650a1b2c3d4e5f6a7b8c9d99"
productId 🆔 ObjectId ⚪ Opcional Identificador do Produto na YOM.
*\*Se não for enviado, a YOM o resolve a partir do *sku. "650a1b2c3d4e5f6a7b8c9d01"
formatKey 📝 Texto ⚪ Opcional Formato do Produto. "caja"

Exemplo

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

O que retorna


207 — um array com um resultado para cada registro enviado, na mesma ordem.

[
  { "status": 201, "recordId": "650a1b2c3d4e5f6a7b8c9d11", "result": "created" },
  { "status": 204, "recordId": null, "result": "updated" },
  { "status": 422, "recordId": null, "result": "invalid", "error": "ValidationError" }
]
Campo Tipo Obrigatoriedade Descrição Exemplos
result 📝 Texto 🟢 Obrigatório Resultado do registro.
"created" → foi criado um registro novo
"updated" → foi atualizado um registro existente
"invalid" → não foi possível processar "created"
status 🔢 Número 🟢 Obrigatório Código associado ao resultado.
201 criado · 204 atualizado · 422 inválido 201
recordId 🆔 ObjectId ⚪ Opcional Identificador do registro criado. Só vem com "created"; nos demais é null. "650a1b2c3d4e5f6a7b8c9d11"
error 📝 Texto ⚪ Opcional Motivo da rejeição. Só vem com "invalid". "ValidationError"

Erros da chamada completa:

| --- | --- |