/api/v1/produtos/{id}
Atualiza somente os campos enviados de um produto do produtor autenticado. Exige a permissão criar_produtos_api. Todos os campos são opcionais, mas ao menos um precisa ser enviado — um corpo vazio retorna 422. codigo_plataforma, status, user_id, estoque e as chaves fiscais (tipo_emissao, notazz_product_code, emite_nota_fiscal, nicho_id) são imutáveis aqui e recusados com 422. A edição de peso e dimensões é permitida mesmo em produto já aprovado: corrigir um peso enviado em gramas é um fluxo esperado. Um produto inexistente ou de outro produtor recebe a MESMA resposta 404, sem revelar a existência.
Parâmetros
-
idinteger Obrigatório -
ID interno do produto.
Corpo da requisição
Atualização parcial. Todos os campos são opcionais, mas ao menos um precisa ser enviado. codigo_plataforma, status, user_id, estoque e as chaves fiscais são imutáveis aqui e recusados com 422. Peso e dimensões podem ser corrigidos mesmo em produto já aprovado.
-
nomeOpcional. Nome do produto.
-
tipo_produtoOpcional. Código do tipo do produto.
Valores permitidos12356789101112 -
peso_unitarioOpcional. Peso de uma unidade em quilogramas, de
0.001a30. -
comprimentoOpcional. Comprimento em centímetros.
-
larguraOpcional. Largura em centímetros.
-
alturaOpcional. Altura em centímetros.
-
gtinOpcional. GTIN do produto.
-
eanOpcional. EAN do produto.
-
product_barcodeOpcional. Código de barras interno.
-
site_oficialOpcional. URL válida da página do produto.
Respostas
200
Produto atualizado.
Envelope de PATCH /api/v1/produtos/{id}.
-
codeObrigatório -
messageObrigatório
401
Token Bearer ausente ou inválido.
Mensagem de erro ou informação. Alguns erros legados omitem code.
-
codeCódigo numérico quando fornecido pelo endpoint.
-
messageMensagem legível.
403
Duas causas distintas com o mesmo status. Token sem a permissão criar_produtos_api usa o envelope do tratador global (errors + code). Token válido e com a permissão, mas de uma conta que não é um produtor ativo, usa o envelope da FormRequest (message).
Uma das opções
Envelope produzido pelo tratador global de exceções para falhas HTTP que não são geradas pelos controladores — principalmente 403 (permissão ausente) e 405 (verbo não suportado). Difere dos erros dos controladores por usar errors no lugar de message.
-
errorsObrigatórioMensagem da exceção HTTP.
-
codeObrigatórioCódigo HTTP repetido no corpo.
Mensagem de erro ou informação. Alguns erros legados omitem code.
-
codeCódigo numérico quando fornecido pelo endpoint.
-
messageMensagem legível.
404
Produto inexistente ou pertencente a outro produtor. A resposta é a MESMA nos dois casos — a existência do produto em outra conta nunca é revelada.
Mensagem de erro ou informação. Alguns erros legados omitem code.
-
codeCódigo numérico quando fornecido pelo endpoint.
-
messageMensagem legível.
422
Campo obrigatório ausente, valor fora das faixas, tipo_produto inexistente, chave recusada (status, user_id, estoque ou chave fiscal) ou corpo vazio no PATCH — neste último caso o erro vem na chave produto, não em um campo.
-
codeCódigo legado do erro, normalmente 400.
-
messageObrigatórioResumo do erro de validação.
-
errosErros por campo retornados pelos endpoints legados.
-
errorsErros por campo retornados por validadores no formato atual.
500
Falha inesperada ao atualizar o produto.
Mensagem de erro ou informação. Alguns erros legados omitem code.
-
codeCódigo numérico quando fornecido pelo endpoint.
-
messageMensagem legível.