POST Produtos - 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)
disponivelEcommerce e disponivelMarketplace não podem ser informados para produtos de grade. Tais valores serão provenientes do produto base.
-
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)
-
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)
-
codigosBarraAdicionais: lista de códigos de barras adicionais do produto (Lista de 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)
- codBeneficioFiscal: Código do benefício fiscal do produto na entidade (string) (opcional)
-
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)
- produto: Produto presente na ficha técnica (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.
-
-
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) (obrigatório)
- precoVariavel: Define se o preço de venda do produto é definido somente no momento da venda (boolean) OPCIONAL
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",
"codigosBarraAdicionais": [
"6445662344599",
"6445662344580"
],
"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",
}
],
"atributosProduto": [
{
"nome": "Relógio",
"campo": 101,
"id": 103
},
{
"nome": "Ano novo",
"campo": 121,
"id": 122
},
{
"nome": "Smart",
"campo": 124,
"id": 125
}
]
}
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"
}