PUT Produtos - Varejonline/api GitHub Wiki

URLs

PUT https://integrador.varejonline.com.br/apps/api/produtos/:id_produto

Parâmetros

Envie um JSON no corpo da requisição, contendo:

  • descricao: descrição do produto (string) (obrigatório)
  • classificacao: classificação que indica a finalidade para a qual o produto será utilizado. Pode assumir um dos seguintes valores: PRODUCAO_PROPRIA, REVENDA, ATIVO_IMOBILIZADO, CONSUMO, SERVICO_ISS, SERVICO_ICMS, INSUMO (string) (obrigatório)
  • origem: número de 0 a 7 que representa a origem a ser sugerida aos produtos da categoria, segundo a tabela da receita federal (long) (obrigatório)
  • fci: número de controle da Ficha de Conteúdo de Importação. (string)
  • codigoCest: Código Especificador da Substituição Tributária. (String)
  • codigoNcm: código do NCM( Nomenclatura Comum Mercosul) que identifica a natureza do produto (string)
  • metodoControle: ESTOCAVEL, NAO_ESTOCAVEL, LOTE, SERIE (string) (obrigatório)
  • unidade: sigla da unidade de medida utilizada pelo produto, por exemplo "UN" ou "KG" (string) (obrigatório)
  • unidadesProporcao: Lista de Unidades Proporcionais da Mercadoria (opcional)
    • unidade: Sigla da unidade proporcional (string)
    • proporcao: Proporção da unidade sobre a unidade principal (decimal)
  • custoReferencial: valor referencial de qual é o custo do produto (decimal) (obrigatório)
  • listCustoReferencial: Lista de preço de Custo por entidade
    • entidade: Id da entidade (long) (obrigatório)
    • precoCusto: Custo do produto na entidade (decimal) (obrigatório)
  • cnpjFornecedores: lista com o CNPJ dos terceiros que são fornecedores do produto (lista - String) (opcional) - O fornecedor deve estar previamente cadastrado no sistema.
  • urlsFotosProduto: lista com as URLs das fotos do produto (lista - string) (opcional)
  • disponivelEcommerce: Define se o produto pode ser disponibilizado no ecommerce (boolean) (opcional)
  • disponivelMarketplace: Define se o produto pode ser disponibilizado no marketplace (boolean) (opcional)
  • especificacao: texto contendo uma especificação para o produto (string) (opcional)
  • codigoBarras: código de barras do produto (string) (opcional)
  • codigosBarraAdicionais: lista de códigos de barras adicionais do produto (Lista de string) (opcional)
  • codigoInterno: código interno do produto na empresa (string) (opcional)
  • tags: Strings concatenadas por vírgula que permitem consulta de produtos no sistema (string) (opcional)
  • estoqueMaximo: quantidade máxima de estoque produto (decimal) (opcional)
  • estoqueMinimo: quantidade mínima de estoque do produto (decimal) (opcional)
  • peso: peso do produto (decimal) (opcional)
  • altura: altura do produto (decimal) (opcional)
  • comprimento: comprimento do produto (decimal) (opcional)
  • largura: largura do produto (decimal) (opcional)
  • dadosPorEntidade: Lista de Configurações por Entidade do Produto (opcional)
    • entidade: Id da entidade (long)
    • estoqueMinimo: Estoque mínimo referencial do produto na entidade (decimal)
    • estoqueMaximo: Estoque máximo referencial do produto na entidade (decimal)
    • codBeneficioFiscal: Código do benefício fiscal do produto na entidade (string) (opcional)
  • produtoBase: Dados do produto pai do SKU que será atualizado. Obrigatório para itens de grade.
    • id: id do produto pai (Long) (opcional)
    • codigoSistema: Código do sistema para o produto pai (string)
    • nome: Nome do produto pai (string) (obrigatório)
  • valorAtributos: combinação de atributos da grade que geraram este produto. Obrigatório para itens de grade.
    • nome: nome do atributo da grade (string) (obrigatório)
    • valor: valor do atributo para este produto (string) (obrigatório)
    • codigo: código do valor do atributo (string) (opcional)
  • ativo: indica se o produto está ativo ou não (boolean) (caso não informado assume valor "true")
  • componentes: Dados dos itens que compõem a ficha técnica do produto (opcional)
    • produto: Produto presente na ficha técnica (obrigatório)
      • id: id do produto (long) (opcional se codigoSistema for informado)
      • codigoSistema: Código sistema do produto (string) (opcional se id for informado)
    • quantidade: Quantidade de peças do item na ficha técnica (decimal) (obrigatório)
    • unidade: Sigla da unidade de medida que representa a quantidade (string) (obrigatório)
  • custoUnitarioRoyalties: custo unitário em royalties do produto (decimal) (opcional)
  • categorias: Lista com os dados das categorias que definem a estrutura mercadológica do produto. Deve ser informada uma categoria para cada nível de categoria cadastrado nível de categoria cadastrado.
    • nome: Nome da Categoria (string) (obrigatório)
    • nivel: Nome do Nível onde está localizada a categoria (string) (obrigatório)
  • atributosProduto: Lista com os dados dos atributos de produto (opcional)
    • id: id do atributo de produto (long) (opcional, caso queira criar um novo valor)

    • nome: nome do atributo para pesquisa no sistema (string) (opcional) (caso o id não seja informado será realizada a busca pelo nome, se não encontrado, será criado um atributo do tipo 'VALOR' utilizando este nome e vinculando ao campo informado)

    • campo: id do campo que o atributo pertence (long) (obrigatório) (consultar estrutura em: atributos de produto)

      É possível criar apenas atributos do tipo 'VALOR', e a estrutura deve estar completamente preenchida.

Caso a classificação do produto seja INDUSTRIALIZACAO_PROPRIA ou COMERCIALIZACAO_REVENDA, os campos abaixo podem ser preenchidos. Caso não seja, os mesmos não devem ser preenchidos com qualquer valor diferente de zero.

  • descontoMaximo: porcentagem máxima de desconto que pode ser oferecida na venda do produto (decimal) (opcional)
  • comissao: comissão percentual recebida pelo vendedor na venda do produto (decimal) OPCIONAL
  • preco: preço padrão do produto (decimal) OPCIONAL
  • precoVariavel: Define se o preço de venda do produto é definido somente no momento da venda (boolean) (obrigatório)

Ajuste de preço da grade em lote:

Nos casos onde for necessário atualizar o preço de toda uma grade de produtos para um valor padrão, ao realizar o PUT de um produto base, é possível informar o atributo "replicarPrecoGrade", com os valores true ou false, sendo true para replicar para toda a grade o preço informado no produto base e false para não replicar (Default quando o parâmetro não é informado)

Retorno

Retorna um Json com informações do resultado da operação realizada, contendo:

  • idRecurso: id do produto atualizado.
  • codigoMensagem: Código de identificação da operação realizada. veja a lista de Códigos
  • mensagem: Mensagem da operação realizada

Exemplo

PUT https://integrador.varejonline.com.br/apps/api/produtos/1

Atualização de um produto simples ou base de grade. No caso de um produto base de grade, os campos padrões serão replicados aos itens da grade (Todos exceto: codigoBarras, codigoInterno, ativo, preco, codigoSistema, custoReferencial, listCustoReferencial e urlsFotosProduto).

   {
      "cnpjFornecedores":["25.348.796/0001-07"],
      "urlsFotosProduto":[
            "http://foto1.jpg",
            "http://foto2.jpg",
            "http://foto3.jpg"],
      "descricao":"GRANOLA 20G",
      "especificacao":"GRANOLA 20G SACHE",
      "metodoControle":"ESTOCAVEL",
      "codigoNcm": "2313.23.23",	
      "origem":3,
      "fci":"B01F70AF-10BF-4B1F-848C-65FF57F616FE",
      "codigoCest":"22.001.00",
      "codigoBarras":"6445662344598",
      "codigosBarraAdicionais": [
          "6445662344599",
          "6445662344580"
      ],
      "codigoInterno":"12322",
      "tags":"000192,camisalarga,ponta de estoque",
      "codigoSistema":"0001",
      "unidade":"UNIDADE",
      "classificacao":"CONSUMO",
      "custoReferencial":30,
      "custoUnitarioRoyalties":10.00,
      "listCustoReferencial":[
         {
            "entidade":1,
            "precoCusto":29.85
         },
         {
            "entidade":2,
            "precoCusto":32.02
         }
      ],
      "preco":65,
      "precoVariavel": false,
      "descontoMaximo":10.0,
      "comissao":0,
      "estoqueMaximo":700,
      "estoqueMinimo":100,
      "peso":100,
      "altura":100,
      "comprimento":100,
      "largura":100,
      "disponivelEcommerce": true,
      "disponivelMarketplace": true,
      "ativo":true,
      "categorias": [
         {
             "nome":"Natural",
             "nivel":"DEPARTAMENTO",
         },
         {
             "nome":"Graos",
             "nivel":"SETOR",
         }
      ],
      "atributosProduto": [
         {
             "nome": "Relógio",
	     "campo": 101,
	     "id": 103
         },
         {
             "nome": "Ano novo",
	     "campo": 121,
	     "id": 122
         },
         {
             "nome": "Smart",
	     "campo": 124,
	     "id": 125
         }
      ]
   }

Atualização de um item de grade. Somente serão atualizados os campos: codigoBarras, codigoInterno, ativo, preco, codigoSistema, custoReferencial, listCustoReferencial, peso, altura, comprimento, largura, disponivelEcommerce, disponivelMarketplace e urlsFotosProduto. Os demais serão utilizado apenas para validação.

PUT https://integrador.varejonline.com.br/apps/api/produtos/2

   {
      "cnpjFornecedores":["25.348.796/0001-07", "90.837.241/0001-82"],
      "urlsFotosProduto":[
            "http://foto1.jpg",
            "http://foto2.jpg",
            "http://foto3.jpg"],
      "descricao":"CAMISETA POLO AZUL P",
      "especificacao":"CAMISETA",
      "metodoControle":"ESTOCAVEL",
      "codigoNcm": "2313.23.23",	
      "origem":3,
      "fci":"B01F70AF-10BF-4B1F-848C-65FF57F616FE",
      "codigoCest":"22.001.00",
      "codigoBarras":"6465464654567",
      "codigoInterno":"12002",
      "codigoSistema":"0002.0001",
      "unidade":"UNIDADE",
      "classificacao":"REVENDA",
      "custoReferencial":28.20,
      "custoUnitarioRoyalties":10.00,
      "listCustoReferencial":[
         {
            "entidade":1,
            "precoCusto":31.85
         },
         {
            "entidade":2,
            "precoCusto":22.02
         }
      ],
      "preco":40.50,
      "precoVariavel": false,
      "descontoMaximo":0,
      "comissao":5.0,
      "estoqueMaximo":100,
      "estoqueMinimo":10,
      "peso":100,
      "altura":100,
      "comprimento":100,
      "largura":100,
      "disponivelEcommerce": true,
      "disponivelMarketplace": true,
      "ativo":true,
      "produtoBase": {
          "id":239,
          "codigoSistema":"0002",
          "nome":"CAMISETA POLO"
      },
      "valorAtributos":[
         {
            "nome":"COR",
            "valor":"AZUL",
            "codigo":"123"
         },
         {
            "nome":"TAMANHO",
            "valor":"P",
            "codigo":"456"
         }
      ],
      "categorias": [
         {
             "nome":"Vestuario",
             "nivel":"DEPARTAMENTO",
         },
         {
             "nome":"Esporte Fino",
             "nivel":"SETOR",
         }
      ]
   }

Exemplo de retorno:

Sucesso:

  • HTTP STATUS 200 – OK
  • Body:
{
      "idRecurso": 1,
      "codigoMensagem": 0,
      "mensagem": "Operação realizada com sucesso."
}

Requisição inválida:

  • HTTP STATUS 400 – BAD REQUEST
  • Body:
{
      "idRecurso": 0,
      "codigoMensagem": 10,
      "mensagem": "Produto sem descrição"
}