Método
O nome do método utilizado na consulta é saveProdutos.
Descrição
Salva os produtos enviados. Caso um produto já exista, o webservice irá atualizar as informações se o nos dados estiver o campo atualiza com o valor 1.
Dados
Os dados enviados para salvar são organizados em uma tabela contendo o nome, tipo e descrição do campo, os campos obrigatórios possuem um (*) no final do nome demarcando que são obrigatórios. Todos os campos descritos na tabela devem estar dentro do campo {"produto": [{ }]} conforme o exemplo. Segue tabela descrevendo os dados de envio:
Nome | Tipo | Descrição |
atualiza | Integer(1) | 0 - Para não atualizar o produto se for encontrado. 1 - Para atualizar se o produto for encontrado. |
produto_codigo (*) | String(40) | Código de identificação do produto. |
produto_codigo_cor (*) | String(35) | Código para identificação da variação de cor do produto. |
produto_codigo_tam (*) | String(35) | Código para identificação da variação de tamanho do produto. Esse código deve ser único! |
titulo (*) | String(200) | Título (nome) do produto. |
titulo_completo | String(250) | Título completo (nome detalhado) do produto. |
preco_custo | Float (12,2) | Valor de custo do produto. |
faixa_etaria | String (35) | Faixa etária do produto: – ambos – adulto – infantil |
cor (*) | String (50) | Nome da cor do produto |
cor_secundaria | String (50) | Nome da cor secundaria do produto |
cor_fabricante | String (50) | Nome da cor do fabricante do produto |
tamanho (*) | String (20) | Tamanho do produto (PP,M,G,32...) |
variacao (*) | String (12) | Variação do produto. Possíveis valores: - cor - tamanho - cortamanho |
referencia | String (35) | Referencia do fabricante. |
marca | String(100) | Nome da marca |
descricao | String | Descrição do produto em texto ou HTML. |
descricao_curta | String | Insere Descrição Extra ao produto. Deve-se utilizar o tipo texto ou HTML. |
peso (*) | Float(8,2) | Float de até 10 posições. Utilizar o peso em gramas. |
medidas (*) | String(14) | Medidas do produto no formato: Altura x Largura x Comprimento. Exemplo: 12x13x14 |
peso_tamanho | Float(8,2) | Float de até 10 posições. Utilizar o peso em gramas. |
medidas_tamanho | String(14) | Medidas do tamanho do produto no formato: Altura x Largura x Comprimento. Exemplo: 12x13x14 |
lancamento | Integer(1) | Define se produto é lançamento. - 0 para Não - 1 para Sim |
destaque | Integer(1) | Define se produto deve esta em destaque. - 0 para Não - 1 para Sim |
genero (*) | String(1) | - 1 para Masculino - 2 para Feminino - 0 para Ambos |
status (*) | Integer | Status relacionado ao produto. - 0 para Inativo - 2 para Ativo Invisível |
status_cor (*) | Integer | Status relacionado à cor especificada para o produto, sem alterar o status do produto base. - 0 para Inativo - 2 para Ativo Invisível |
data_cadastro | String(25) | Data e hora de cadastro do produto no formato 9999-99-99 99:99:99 |
descricao_cor | Text | Descrição vinculada na aba estoque do produto e vinculada a cor. |
titulo_cor | String(250) | Titulo vinculado na aba estoque do produto e vinculada a cor. |
garantia | String(200) | Texto de garantia do produto. |
garantia_tempo | Integer(11) | Tempo em dias de garantia do produto. |
estoque_minino | Integer(11) | Quantidade mínima do estoque. |
categorias | Objeto | Objeto que contém o array categoria. |
limpar_categorias | Integer | Está tag não é obrigatória no envio, quando enviada faz todas as relações de categorias antigas cadastradas no produto serem apagadas. Deve ser enviado junto a tag ‘atualiza’. - 1 para Sim - 0 para Não |
categoria | Array | Conjunto que conterá as categorias. |
categoria_pai | Array | Conjunto de categoria_pai. |
nome | String(100) | Nome da categoria pai. |
codigo | Integer(11) | Código da categoria pai. Esse código deve ser único. |
caracteristicas¹ | Array | Conjunto de características da categoria pai. |
renovar_caracteristicas | Integer(1) | Defini se será renovada ou não as caracteristicas enviadas. Valores: - 0 “Não” - 1 “Sim” |
caracteristica | Array | Característica relacionada ao conjunto de Características. |
nome | String(50) | Nome da característica. |
atributos | Array | Conjunto de atributos da característica. |
atributo | Array | Atributo relacionado ao conjunto de atributos. |
codigo² | Integer(11) | Código do atributo. Pode ser consultado no método getCaracteristicas. |
nome² | String(50) | Nome do atributo. |
categorias_filho | Array | Conjunto de categoria_filho. |
categoria_filho | Array | Categoria filho. |
nome (*) | String(100) | Nome da categoria filho. |
codigo (*) | Integer(11) | Código da categoria filho. Esse código deve ser único. |
caracteristicas¹ | Array | Conjunto de características da categoria pai. |
renovar_caracteristicas | Integer(1) | Defini se será renovada ou não as caracteristicas enviadas. Valores: - 0 “Não” - 1 “Sim” |
caracteristica | Array | Característica relacionada ao conjunto de Características. |
nome | String(50) | Nome da característica. |
atributos | Array | Conjunto de atributos da característica. |
atributo | Array | Atributo relacionado ao conjunto de atributos. |
codigo² | Integer(11) | Código do atributo. Pode ser consultado no método getCaracteristicas. |
nome² | String(50) | Nome do atributo. |
categorias_neto | Array | Conjunto de categoria_neto. |
categoria_neto | Array | Categoria neto. |
nome | String(100) | Nome da categoria neto. |
codigo | Integer(11) | Código da categoria neto. Esse código deve ser único. |
caracteristicas¹ | Array | Conjunto de características da categoria pai. |
renovar_caracteristicas | Integer(1) | Defini se será renovada ou não as caracteristicas enviadas. Valores: - 0 “Não” - 1 “Sim” |
caracteristica | Array | Característica relacionada ao conjunto de Características. |
nome | String(50) | Nome da característica. |
multiplo | Integer(1) | Define se a característica permite múltipla seleção. Valores:
|
filtravel | Integer(1) | Define se a característica poderá ser usada como filtro. Valores:
|
obrigatorio | Integer(1) | Define se a característica é de uso obrigatório. Valores:
|
tipo | Integer(1) | Define se a característica é de produto ou estoque ou ambos. Valores:
|
exibe_descricao | String(3) | Define se a característica será exibida na descrição do produto. Valores:
|
genero | Integer(1) | Define o gênero da característica. Valores:
|
Faixa etaria | Integer(1) | Define a faixa etária da característica. Valores:
|
atributos | Array | Conjunto de atributos da característica. |
atributo | Array | Atributo relacionado ao conjunto de atributos. |
codigo² | Integer(11) | Código do atributo. Pode ser consultado no método getCaracteristicas. |
nome² | String(50) | Nome do atributo. |
posicao | Integer | Posição da Imagem, comparada com as outras do mesmo produto. |
generico | Integer(1) | Informa se a imagem deve ser utilizada em todas as variações. - 0 para Não - 1 para Sim |
imagem_variacao | Integer(1) | Informa se a imagem pertence apenas a esta variação. - 0 para Não - 1 para Sim |
principal | Integer(1) | Informa se esta é a imagem principal do produto. - 0 para Não - 1 para Sim |
link | String | Formato de link que será utilizado para acessar o produto na loja. Devem ser enviados apenas letras, maiúsculas ou minúsculas, sem acentos, números e o caractere especial “-” |
meta_title | String | Meta tag de título relacionada ao produto. |
meta_keywords | String | Meta tag de palavras -chave relacionadas ao produto. Elas devem ser enviadas separadas por vírgula. |
ean13 | String(13) | EAN do produto estoque. |
nfe_origem | Integer(1) | Define a origem do NCM do produto. - 1 para “Importação direta”. - 2 para “Importação indireta”. |
nfe_ncm | String | Número do NCM do produto. |
imagens | Object | Tag referente a imagens de produtos. |
limpar_imagens | Integer(1) | Define se deve remover as imagens atuais. 0 - “Não” 1 - “Sim” |
Imagem | Array of Objects | Lista de imagens pertencentes a um produto. sub-tag de imagens. |
Imagem | String | Url completa da imagem.
sub-tag de imagem. |
imagem_base64 | String | Caso a url da imagem não for preenchida, é utilizado esse campo para realizar o upload de uma imagem codificada em base_64.
sub-tag de imagem(*). |
posicao | Integer | Posição usada para definir a ordem de visualizações das imagens no produto.
sub-tag de imagem(*). |
generico | Integer | Define se a imagem é genérica de um produto ou relacionada a uma variação específica. - 0 “Não” - 1 “Sim” Obs: Caso passado o valor “1” então a imagem será relacionada a variação específica do produto.
sub-tag de imagem(*). |
principal | Integer | Define se a imagem é a principal do produto. - 0 “Não” - 1 “Sim” sub-tag de imagem(*). |
produto_digital | Integer | Define se a variação do produto é digital ou fisico
|
Observações
O array caracteristicas deve ser colocado no nível da categoria correspondente. Exemplo: Um televisor de 50 polegadas tela LCD, da categoria principal Televisores e categoria filho Tela LCD deve conter as caracteristicas respectivas a categoria filho Tela LCD.
Deve ser enviado o nome do atributo OU o código do atributo. Um dos dois é obrigatório o envio.
Exemplos de Requisição:
XML:
<produtos>
<produto>
<atualiza>1</atualiza>
<produto_codigo />
<produto_codigo_cor />
<produto_codigo_tam />
<titulo />
<preco_custo />
<meta_title />
<meta_keywords />
<meta_description />
<faixa_etaria />
<cor />
<cor_secundaria />
<cor_fabricante />
<nfe_origem>1</nfe_origem>
<ean13/>
<nfe_ncm />
<tamanho />
<variacao />
<referencia />
<marca />
<descricao />
<caracteristicas_tecnicas />
<peso />
<medidas />
<destaque />
<lancamento />
<genero />
<titulo_cor />
<descricao_cor />
<status />
<data_cadastro />
<produto_digital />
<categorias>
<limpar_categorias>1</limpar_categorias>
<categoria>
<categoria_pai>
<nome>Automotivo</nome>
<codigo>1111</codigo>
<categorias_filho>
<categoria_filho>
<nome>Carros</nome>
<codigo>2222</codigo>
<categorias_neto>
<categoria_neto>
<nome>Esporte</nome>
<codigo>33333-111</codigo>
<caracteristicas>
<caracteristica>
<nome>caracteristica</nome>
<codigo>15</codigo>
<tipo>estoque</tipo>
<multiplo>sim</multiplo>
<filtravel>sim</filtravel>
<exibe_descricao>sim</exibe_descricao>
<obrigatorio>sim</obrigatorio>
<atributos>
<atributo>
<nomeatributo 1
</nome>
<codigo>10</codigo>
</atributo>
<atributo>
<nome>atributo 2</nome>
<codigo>20</codigo>
</atributo>
</atributos>
</caracteristica>
</caracteristicas>
</categoria_neto>
</categorias_neto>
</categoria_filho>
</categorias_filho>
</categoria_pai>
</categoria>
</categorias>
<imagens>
<imagem>
<limpar_imagens>0</limpar_imagens>
<imagem />
<imagem_base64 />
<posicao />
<generico />
<principal />
<imagem_variacao />
</imagem>
</imagens>
</produto>
</produtos>
JSON:
{
"produto": [
{
"atualiza": 1,
"produto_codigo": "1234",
"produto_codigo_cor": "1234-5",
"produto_codigo_tam": "12345-5-1",
"titulo": "Teste Moovin",
"faixa_etaria": 0,
"cor": "Preto",
"cor_secundaria": "Branco",
"cor_fabricante": "Preto/Branco",
"tamanho": "M",
"variacao": "cortamanho",
"referencia": "12345",
"marca": "Adidas",
"descricao": "Teste Moovin Descrição",
"ean13": "1111111111111",
"nfe_origem": "1",
"nfe_ncm": "12345",
"caracteristicas_tecnicas": "",
"peso": 99.9,
"medidas": "10x30x20",
"destaque": 1,
"lancamento": 0,
"genero": "1",
"titulo_cor": "Titulo da Cor do Produto",
"descricao_cor": "Descricao da Cor do Produto",
"status": 1,
"data_cadastro": "",
"produto_digital": "0",
"categorias": {
"limpar_categorias": 1,
"categoria": [
{
"categoria_pai": {
"nome": "Automotivo",
"codigo": "1111",
"categorias_filho": {
"categoria_filho": {
"nome": "Carros",
"codigo": "2222",
"categorias_neto": {
"categoria_neto": {
"nome": "Esporte",
"codigo": "33333-111",
"caracteristicas": {
"caracteristica": {
"nome": "caracteristica",
"codigo": "10101",
"tipo": "Estoque",
"multiplo": "Sim",
"filtravel": "Sim",
"exibe_descricao": "Sim",
"obrigatorio": "Sim"
}
}
}
}
}
}
}
},
{
"categoria_pai": {
"nome": "Automotivo",
"codigo": "1111",
"categorias_filho": {
"categoria_filho": {
"nome": "Carros",
"codigo": "2222",
"categorias_neto": {
"categoria_neto": {
"nome": "Passeio",
"codigo": "33333-222"
}
}
}
}
}
}
]
},
"imagens": {
"limpar_imagens": 0,
"imagem": [
{
"imagem": "",
"imagem_base64": "",
"posicao": "1",
"generico": "1",
"principal": "1",
"imagem_variacao": "1"
}
]
}
}
]
}
Mais sobre Webservice
Consulte nossa tabela de retorno aqui.
Não conhece todos os métodos webservice da Moovin? Veja nossa lista completa aqui.
Caso tenha dúvidas em como realizar o envio ou formatos de envio, veja nesta nossa documentação aqui.