VenddorDocumentação API
API atualAPI legada
Guia rápidoReferência completa
Carregando índice…
API atual/Referência completa/Produtos do seller

Alterar produto

Altera só os campos enviados de um produto do seller; o que não vem no corpo fica como está.

A alteração é parcial: mande apenas o que mudou. Mudar quantity grava um movimento no histórico de estoque (com o motivo, se enviado) e mudar o preço pode refazer preços derivados. Para mudar muitos produtos de uma vez, use o Modo planilha.

PUT/api/v1/vendor/products/{id}Seller

Alterar um produto

Cabeçalhos

Authorizationstringobrigatório
Bearer $TOKEN. Token de acesso do usuário seller (veja Tokens).

Parâmetros de caminho

idstring (uuid)obrigatório
Id do produto.

Corpo da requisição

namestring
Novo nome. Não pode ser vazio.
category_idstring (uuid)
Nova categoria principal. Não pode ser vazia se enviada.
additional_category_idsarray of string
Substitui as categorias adicionais.
descriptionstring
Descrição em HTML.
short_descriptionstring
Resumo curto.
highlight_textstring
Linha curta sob o nome na página do produto.
skustring
SKU.
barcodestring
EAN/GTIN.
slugstring
Trecho da URL.
priceinteger
Preço em centavos. Zero é aceito, negativo não.
list_priceinteger | null
Preço "De". null ou "" limpa o valor; ausente não mexe.
cost_priceinteger | null
Custo. null ou "" limpa; ausente não mexe.
quantitynumber
Novo estoque. A mudança é registrada no histórico de movimentação.
stock_adjust_reasonstring
Motivo do ajuste, gravado no histórico. Só vale junto com quantity.
statusstring
ADH
Novo status: A, D ou H. Veja a observação sobre moderação abaixo.
intended_statusstring
Destino depois da aprovação (A, D, H).
weightnumber
Peso em kg.
widthnumber
Largura em cm.
heightnumber
Altura em cm.
lengthnumber
Comprimento em cm.
free_shippingboolean
Frete grátis.
shipping_freightinteger
Frete extra em centavos.
requires_shippingboolean
false para produto digital.
ncm_codestring
NCM de 8 dígitos.
min_quantitynumber
Quantidade mínima por pedido.
max_quantitynumber
Quantidade máxima por pedido.
quantity_stepnumber
Passo de quantidade.
sale_unitstring
Unidade de venda.
sale_unit_labelstring
Rótulo da unidade.
allow_fractionalboolean
Permite fração.
seo_titlestring
Título SEO.
seo_descriptionstring
Descrição SEO.
meta_keywordsstring
Palavras-chave.
search_wordsstring
Palavras extras de busca.
promo_textstring
Texto promocional.
zero_price_actionstring
PRA
Preço zero.
out_of_stock_actionstring
NBS
Sem estoque.
avail_sincestring
Data de início de exibição (RFC 3339).
usergroup_idsarray of string
Grupos que veem o produto. Lista vazia limpa a restrição; ausente não mexe.
low_stock_alertinteger
Limite de estoque baixo. Não pode ser negativo.
vendor_internal_skustring
Seu código interno.
buy_now_urlstring
Link externo de "Comprar agora" (modo catálogo). Vazio ou http(s).
whatsapp_hiddenboolean
Esconde do catálogo do WhatsApp.
descriptionsobject
Conteúdo por idioma. Cada idioma enviado é regravado por inteiro; os não enviados ficam como estão.

Exemplo de requisição

bash
curl -X PUT "$BASE_URL/api/v1/vendor/products/$PRODUCT_ID" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "price": 4590,
  "quantity": 40,
  "stock_adjust_reason": "Recontagem do estoque"
}'

Resposta

200Produto alterado
json
{
  "id": "7bc1d5e9-a9a4-457b-866f-bbb3879d258d",
  "display_id": 10664,
  "vendor_id": "94bd7e9a-fdad-4d01-8fc2-ba9d677d8b36",
  "category_id": "345ac33e-4dcd-4d60-bedf-a2c2d47897d9",
  "name": "Camiseta Básica Algodão Preta",
  "slug": "camiseta-basica-algodao-preta",
  "sku": "CAM-001",
  "barcode": "7891234567895",
  "description": "<p>Camiseta 100% algodão.</p>",
  "short_description": "Camiseta 100% algodão",
  "price": 4590,
  "list_price": 5990,
  "track_inventory": true,
  "quantity": 40,
  "low_stock_alert": 5,
  "min_quantity": 0,
  "max_quantity": 0,
  "quantity_step": 1,
  "sale_unit": "un",
  "zero_price_action": "P",
  "popularity": 0,
  "out_of_stock_action": "N",
  "weight": 0.25,
  "width": 30,
  "height": 2,
  "length": 40,
  "status": "A",
  "intended_status": "A",
  "approval_status": "approved",
  "view_count": 0,
  "sales_count": 0,
  "rating_avg": 0,
  "rating_count": 0,
  "free_shipping": false,
  "shipping_freight": 0,
  "requires_shipping": true,
  "vendor_name": "Loja Seller Teste",
  "vendor_slug": "loja-seller-teste",
  "created_at": "2026-10-11T20:56:24.231132Z",
  "updated_at": "2026-10-11T21:05:40.573283Z"
}

Campos da resposta

(corpo)object
O produto como ficou, com os campos de Consultar produto.

Erros

StatusQuandoCorpo
401Token ausente, inválido ou expirado.{"error":"missing authorization header"}
403Token que não é de seller, ou usuário sem o privilégio exigido pela rota.{"error":"insufficient vendor privileges","privilege_required_any":["vendor_catalog"]}
400Nome ou categoria vazios, preço ou custo negativos, status inválido.{"error":"validation_failed","fields":{"price":"invalid_price"}}
400Regras de negócio, como list_price_below_price ou physical_shipping_data_required.{"error":"list_price_below_price","detail":"..."}
403Produto de outro seller, ou tentativa de mandar o próprio produto para R/X.{"error":"vendors cannot change product status to pending or rejected"}
404Produto não existe.{"error":"product not found"}
409Campo travado pelo catálogo mestre.{"error":"master-locked fields cannot be edited","locked_fields":["name"]}
409EAN já usado em outro produto.{"error":"barcode_exists: ..."}
Editar produto ativo pode tirá-lo do ar

Com a premoderação de edições ligada, alterar conteúdo de um produto que já está no ar salva a alteração, mas devolve o produto para R até nova aprovação. O status anterior é guardado em intended_status e volta quando aprovado. Mudar só status ou só quantity não dispara nova revisão.

Moderação do status

Produto A, D ou H pode trocar livremente entre esses três. Produto R ou X que receba status fica R e o valor enviado vira intended_status. Mandar R ou X em produto ativo volta 403.

Veja também

  • Produtos do seller: visão geral
  • Catálogo mestre
Anterior
Criar produto
Próxima
Excluir produto
Nesta página
  • Exemplo de requisição
  • Resposta
  • Erros
  • Veja também