Documentação da API Paylog Documentação da API Paylog API pública v1
Produtos

Cadastrar produto

Nesta página 8
POST /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

application/json
object

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.

  • nome string Obrigatório

    Obrigatório. Nome do produto.

  • codigo_plataforma string Obrigatório

    Obrigatório. SKU do produto; único por produtor. Reenviar um SKU existente devolve 200 com o produto inalterado.

  • tipo_produto integer Obrigatório

    Obrigatório. 1 Encapsulado, 2 Cosmético, 3 Roupa, 5 Livro, 6 Acessórios, 7 Chá, 8 Líquido, 9 Outros, 10 Goma, 11 Brindes, 12 Suplemento em Pó. O código 4 não existe.

    Valores permitidos 1 2 3 5 6 7 8 9 10 11 12
  • peso_unitario number Obrigatório

    Obrigatório. Peso de UMA unidade em QUILOGRAMAS, de 0.001 a 30. Um item de 250 g é 0.25, nunca 250. Peso em gramas é recusado com 422 e nunca convertido: acima do teto os Correios não devolvem a cotação e o pedido trava em Correção com a mensagem enganosa Sem resposta da API.

  • comprimento number Obrigatório

    Obrigatório. Comprimento da embalagem em centímetros.

  • largura number Obrigatório

    Obrigatório. Largura da embalagem em centímetros.

  • altura number Obrigatório

    Obrigatório. Altura da embalagem em centímetros.

  • gtin string aceita nulo

    Opcional. GTIN do produto.

  • ean string aceita nulo

    Opcional. EAN do produto.

  • product_barcode string aceita nulo

    Opcional. Código de barras usado na operação da integração.

  • site_oficial string uri aceita nulo

    Opcional. URL válida da página do produto.

Respostas

201

Produto criado e pendente de aprovação.

application/json
object

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.

  • code integer Obrigatório

    Código HTTP repetido no corpo.

    Valores permitidos 200 201
  • message string Obrigató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.

application/json
object

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.

  • code integer Obrigatório

    Código HTTP repetido no corpo.

    Valores permitidos 200 201
  • message string Obrigatório

401

Token Bearer ausente ou inválido.

application/json
object

Mensagem de erro ou informação. Alguns erros legados omitem code.

  • code integer

    Código numérico quando fornecido pelo endpoint.

  • message string

    Mensagem 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).

application/json
mixed
Uma das opções
object

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.

  • errors string Obrigatório

    Mensagem da exceção HTTP.

  • code integer Obrigatório

    Código HTTP repetido no corpo.

object

Mensagem de erro ou informação. Alguns erros legados omitem code.

  • code integer

    Código numérico quando fornecido pelo endpoint.

  • message string

    Mensagem 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.

application/json
object
  • code integer

    Código legado do erro, normalmente 400.

  • message string Obrigatório

    Resumo do erro de validação.

  • erros object

    Erros por campo retornados pelos endpoints legados.

  • errors object

    Erros por campo retornados por validadores no formato atual.

500

Falha inesperada ao cadastrar o produto.

application/json
object

Mensagem de erro ou informação. Alguns erros legados omitem code.

  • code integer

    Código numérico quando fornecido pelo endpoint.

  • message string

    Mensagem legível.