OnmIAOnmIA API Docs

Estoque e preço

PATCH /stock — set absoluto de estoque/preço por loja, store_id por item, PRODUCT_NOT_FOUND e remoção de price_override.

Use PATCH /integration/v1/stock para fazer set absoluto de estoque e preço por loja. Esta rota exige o scope stock:write.

Set absoluto, não delta

O valor enviado substitui o saldo atual — não é um incremento. O ERP é a autoridade de estoque: após cada venda, envie o saldo novo por esta rota.

Requisição

curl -sS -X PATCH https://api.onmia.com.br/integration/v1/stock \
  -H "X-API-Key: $ONMIA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "items": [
      {
        "external_id": "ERP-7891",
        "store_id": "c5745b49-3883-45f9-8dc4-63cc7d9f2611",
        "stock_quantity": 10.25,
        "price_override": 17.99
      }
    ]
  }'

Resposta

Mesmo envelope por item do catálogo — status 200 mesmo com itens em erro.

{
  "sync_id": "7c2d1b90-3e4f-4a5b-8c6d-9e0f1a2b3c4d",
  "summary": { "created": 0, "updated": 1, "errors": 0 },
  "results": [
    { "index": 0, "external_id": "ERP-7891", "status": "updated" }
  ]
}

Regras

RegraDetalhe
Não cria produtosexternal_id desconhecido retorna status: "error" com code: "PRODUCT_NOT_FOUND" naquele item.
Pelo menos um campoCada item exige stock_quantity e/ou price_override. Item sem nenhum dos dois é VALIDATION_ERROR.
Campos independentesCampo ausente não é alterado.
Remover overrideprice_override: null remove o override — o preço volta ao preço base do catálogo.
DecimaisPreservados até 3 casas.

store_id por item

  • store_id é opcional somente quando a chave está restrita a exatamente 1 loja (a loja é implícita).
  • Chave com acesso a mais de uma loja exige store_id em todo item.

Confira o store_ids retornado pelo /health para saber em qual modo sua chave opera.

On this page