POST Produtos_DC 51_DC 47 - Varejonline/api GitHub Wiki

URLs

POST https://integrador.varejonline.com.br/apps/api/produtos

API Synchronized: Garante consistência na integracão concorrente de grades de produtos.

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) (obrigatório para origens 3, 5 e 8)

  • codigoCest: Código Especificador da Substituição Tributária. (String) (opcional)

  • 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)

  • codigoNcm: código do NCM( Nomenclatura Comum Mercosul) que identifica a natureza do produto (string) (obrigatório)

  • 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) (obrigatório)
    • proporcao: Proporção da unidade sobre a unidade principal (decimal) (obrigatório)
  • custoReferencial: valor referencial de qual é o custo do produto (decimal) (obrigatório)

  • listCustoReferencial: Lista de preço de Custo por Entidade (opcional)

    • 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 de string) (opcional)

    O fornecedor deve estar previamente cadastrado no sistema.
    
  • especificacao: texto contendo uma especificação para o produto (string) (opcional)

  • codigoBarras: código de barras do produto (string) (opcional)

  • codigoInterno: código interno do produto na empresa (string) (opcional)

  • codigoSistema: Deve ser informado quando a empresa utiliza geração de código manual (string) (obrigatório apenas em bases com geração de código manual)

  • 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)

  • custoUnitarioRoyalties: custo unitário em royalties do produto (decimal) (opcional)

  • dadosPorEntidade: Lista de Configurações por Entidade do Produto (opcional)

    • entidade: Id da entidade (long) (obrigatório)
    • estoqueMinimo: Estoque mínimo referencial do produto na entidade (decimal) (obrigatório)
    • estoqueMaximo: Estoque máximo referencial do produto na entidade (decimal) (obrigatório)
  • produtoBase: Dados do produto pai do SKU que será criado. (Obrigatório para itens de grade.)

    • id: id do produto pai (Long) (opcional se codigoSistema for informado)
    • codigoSistema: Código do sistema para o produto pai (string)(opcional se id for informado)
    • 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. (opcional)

    • 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)
  • 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)
  • categorias: Lista com os dados das categorias que definem a estrutura mercadológica do produto. (obrigatório)

    • nivel: Nome do nível onde está localizada a categoria (string) (obrigatório)

    • nome: Nome da Categoria no nível (string) (obrigatório)

      Deve ser informada uma categoria para cada nível de categoria cadastrado nível de categoria cadastrado.

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)

Retorno

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

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

Exemplo

POST https://integrador.varejonline.com.br/apps/api/produtos

Criação de um produto simples ou base de grade:

   {
      "cnpjFornecedores":["25.348.796/0001-07"],
      "descricao":"GRANOLA 20G",
      "especificacao":"GRANOLA 20G SACHE",
      "metodoControle":"ESTOCAVEL",
      "codigoNcm": "2313.23.23",	
      "origem":0,
      "codigoBarras":"6445662344598",
      "codigoInterno":"12322",
      "codigoSistema":"0001",
      "tags":"000192,camisalarga,ponta de estoque",
      "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,
      "categorias": [
         {
             "nome":"Natural",
             "nivel":"DEPARTAMENTO",
         },
         {
             "nome":"Graos",
             "nivel":"SETOR",
         }
      ]
   }

Criação de um item de grade. Nesse caso, caso exista no sistema um produto base (produtoBase) com o nome e codigoSistema informados, será utilizado para a geração do SKU, caso contrário, será criado um produto base com os dados do SKU e este será vinculado ao produto base, formando uma grade com 1 item de grade. Nas demais requisições da grade, o produto base gerado será reutilizado.

   {
      "cnpjFornecedores":["25.348.796/0001-07", "90.837.241/0001-82"],
      "descricao":"CAMISETA POLO AZUL P",
      "especificacao":"CAMISETA POLO",
      "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",
      "tags":"000192,camisalarga,ponta de estoque",
      "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,
      "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 201 – CREATED
  • 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"
}