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.
/api/v1/vendor/products/{id}SellerAlterar um produto
Cabeçalhos
AuthorizationstringobrigatórioBearer $TOKEN. Token de acesso do usuário seller (veja Tokens).Parâmetros de caminho
idstring (uuid)obrigatórioId do produto.
Corpo da requisição
namestringNovo nome. Não pode ser vazio.
category_idstring (uuid)Nova categoria principal. Não pode ser vazia se enviada.
additional_category_idsarray of stringSubstitui as categorias adicionais.
descriptionstringDescrição em HTML.
short_descriptionstringResumo curto.
highlight_textstringLinha curta sob o nome na página do produto.
skustringSKU.
barcodestringEAN/GTIN.
slugstringTrecho da URL.
priceintegerPreço em centavos. Zero é aceito, negativo não.
list_priceinteger | nullPreço "De".
null ou "" limpa o valor; ausente não mexe.cost_priceinteger | nullCusto.
null ou "" limpa; ausente não mexe.quantitynumberNovo estoque. A mudança é registrada no histórico de movimentação.
stock_adjust_reasonstringMotivo do ajuste, gravado no histórico. Só vale junto com
quantity.statusstringADHNovo status:
A, D ou H. Veja a observação sobre moderação abaixo.intended_statusstringDestino depois da aprovação (
A, D, H).weightnumberPeso em kg.
widthnumberLargura em cm.
heightnumberAltura em cm.
lengthnumberComprimento em cm.
free_shippingbooleanFrete grátis.
shipping_freightintegerFrete extra em centavos.
requires_shippingbooleanfalse para produto digital.ncm_codestringNCM de 8 dígitos.
min_quantitynumberQuantidade mínima por pedido.
max_quantitynumberQuantidade máxima por pedido.
quantity_stepnumberPasso de quantidade.
sale_unitstringUnidade de venda.
sale_unit_labelstringRótulo da unidade.
allow_fractionalbooleanPermite fração.
seo_titlestringTítulo SEO.
seo_descriptionstringDescrição SEO.
meta_keywordsstringPalavras-chave.
search_wordsstringPalavras extras de busca.
promo_textstringTexto promocional.
zero_price_actionstringPRAPreço zero.
out_of_stock_actionstringNBSSem estoque.
avail_sincestringData de início de exibição (RFC 3339).
usergroup_idsarray of stringGrupos que veem o produto. Lista vazia limpa a restrição; ausente não mexe.
low_stock_alertintegerLimite de estoque baixo. Não pode ser negativo.
vendor_internal_skustringSeu código interno.
buy_now_urlstringLink externo de "Comprar agora" (modo catálogo). Vazio ou
http(s).whatsapp_hiddenbooleanEsconde do catálogo do WhatsApp.
descriptionsobjectConteúdo por idioma. Cada idioma enviado é regravado por inteiro; os não enviados ficam como estão.
Exemplo de requisição
Resposta
200Produto alterado
Campos da resposta
(corpo)objectO produto como ficou, com os campos de Consultar produto.
Erros
| Status | Quando | Corpo |
|---|---|---|
| 401 | Token ausente, inválido ou expirado. | {"error":"missing authorization header"} |
| 403 | Token que não é de seller, ou usuário sem o privilégio exigido pela rota. | {"error":"insufficient vendor privileges","privilege_required_any":["vendor_catalog"]} |
| 400 | Nome ou categoria vazios, preço ou custo negativos, status inválido. | {"error":"validation_failed","fields":{"price":"invalid_price"}} |
| 400 | Regras de negócio, como list_price_below_price ou physical_shipping_data_required. | {"error":"list_price_below_price","detail":"..."} |
| 403 | Produto de outro seller, ou tentativa de mandar o próprio produto para R/X. | {"error":"vendors cannot change product status to pending or rejected"} |
| 404 | Produto não existe. | {"error":"product not found"} |
| 409 | Campo travado pelo catálogo mestre. | {"error":"master-locked fields cannot be edited","locked_fields":["name"]} |
| 409 | EAN já usado em outro produto. | {"error":"barcode_exists: ..."} |