/api/v1/produtos
Cadastra um produto para o produtor autenticado. Exige a permissão criar_produtos_api. O produto nasce pendente (status = 0), com estoque = 0, e é aprovado pela Paylog — que também define a configuração fiscal. status, user_id, estoque, tipo_emissao, notazz_product_code, emite_nota_fiscal e nicho_id são recusados com 422, nunca ignorados. peso_unitario é em QUILOGRAMAS por unidade e limitado a 30; um peso enviado em gramas é recusado e nunca convertido automaticamente. A criação é idempotente por codigo_plataforma: um SKU já cadastrado devolve 200 com o produto inalterado.
Corpo da requisição
Cadastro de produto. Chaves fora desta lista são RECUSADAS com 422, nunca ignoradas — status, user_id, estoque, tipo_emissao, notazz_product_code, emite_nota_fiscal e nicho_id são definidos pela Paylog.
-
nomeObrigatórioObrigatório. Nome do produto.
-
codigo_plataformaObrigatórioObrigatório. SKU do produto; único por produtor. Reenviar um SKU existente devolve
200com o produto inalterado. -
tipo_produtoObrigatórioObrigatório.
1Encapsulado,2Cosmético,3Roupa,5Livro,6Acessórios,7Chá,8Líquido,9Outros,10Goma,11Brindes,12Suplemento em Pó. O código4não existe.Valores permitidos12356789101112 -
peso_unitarioObrigatórioObrigatório. Peso de UMA unidade em QUILOGRAMAS, de
0.001a30. Um item de 250 g é0.25, nunca250. Peso em gramas é recusado com422e nunca convertido: acima do teto os Correios não devolvem a cotação e o pedido trava em Correção com a mensagem enganosaSem resposta da API. -
comprimentoObrigatórioObrigatório. Comprimento da embalagem em centímetros.
-
larguraObrigatórioObrigatório. Largura da embalagem em centímetros.
-
alturaObrigatórioObrigatório. Altura da embalagem em centímetros.
-
gtinOpcional. GTIN do produto.
-
eanOpcional. EAN do produto.
-
product_barcodeOpcional. Código de barras usado na operação da integração.
-
site_oficialOpcional. URL válida da página do produto.
Respostas
201
Produto criado e pendente de aprovação.
Envelope de POST /api/v1/produtos. code é 201 na criação e 200 quando o codigo_plataforma já existia nesta conta — no segundo caso produto vem inalterado.
-
codeObrigatórioCódigo HTTP repetido no corpo.
Valores permitidos200201 -
messageObrigatório
200
Já existia um produto com o mesmo codigo_plataforma nesta conta. O produto é devolvido INALTERADO — nenhum campo do corpo é aplicado. Use PATCH /api/v1/produtos/{id} para editar.
Envelope de POST /api/v1/produtos. code é 201 na criação e 200 quando o codigo_plataforma já existia nesta conta — no segundo caso produto vem inalterado.
-
codeObrigatórioCódigo HTTP repetido no corpo.
Valores permitidos200201 -
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.
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 cadastrar o produto.
Mensagem de erro ou informação. Alguns erros legados omitem code.
-
codeCódigo numérico quando fornecido pelo endpoint.
-
messageMensagem legível.