Introdução
A ferramenta de webservice da Moovin dispõe de uma plataforma POST para integração com sistemas externos independente da linguagem de programação utilizada.
Os dados da requisição via POST poderão ser enviados em formato JSON ou XML. O formato de retorno será igual ao formato enviado, ou poderá ser definido apenas acrescentando ao final da URL o tipo de formato:
Endereço de web service
O endereço do webservice é constituído da seguinte URL, substitua a sualoja pelo nome da loja e nomeDoMetodo pelo nome do método utilizado no web service.
http://sualoja.integration.moovin.com.br/webservice/nomeDoMetodo
Definição do tipo de retorno
O tipo de retorno é definido no endpoint da URL de endereço, os tipos possíveis são json e xml. Exemplos usando os tipos possíveis de retorno:
- Retorno usando JSON: http://sualoja.integration.moovin.com.br/webservice/nomeDoMetodo/json
- Retorno usando XML: http://sualoja.integration.moovin.com.br/webservice/nomeDoMetodo/xml
Consultando informações
O webservice dispõe de diversos métodos para consulta de informações. Todos os métodos de resgate de informações suportam o envio de filtros de busca. Na descrição dos métodos abaixo, será listado o nome e os filtros que cada um suporta.
Estrutura de filtros
A estrutura de filtros de cada método varia de acordo com o tipo de dados enviado para a requisição, os tipos possíveis são json e xml, segue exemplos de como aplicar o filtro em cada um dos tipos:
Filtro usando JSON:
Code Block | ||||
---|---|---|---|---|
| ||||
{ filtro1: "valor", filtro2: "valor" } |
Filtro usando XML:
Code Block | ||||
---|---|---|---|---|
| ||||
<filtros> <filtro1>valor</filtro1> <filtro2>valor</filtro2> </filtros> |
Enviando informações
O webservice dispõe de métodos para o envio de informações de cadastros. Como retorno, virá um código de erro e uma mensagem. Em caso de sucesso, o código de erro é 0 (zero) e a mensagem “sucesso”. No final deste manual, encontra-se uma tabela com os possíveis retornas e seus respectivos códigos, mensagem e descrição.
Estrutura de retornos
A estrutura de retorno varia de acordo com o tipo definido para o retorno, segue exemplos de como os retornos são de acordo com o tipo:
Retorno usando JSON:
Code Block | ||||
---|---|---|---|---|
| ||||
{ error: "codigo", message: "Mensagem de retorno" } |
Retorno usando XML:
Code Block | ||||
---|---|---|---|---|
| ||||
<response> <error>codigo</error> <message>Mensagem de retorno</message> </response> |
Descrição dos métodos
Para utilizar todos os métodos do webservice é necessário preencher dois parâmetros no POST da requisição, o primeiro é o token e o segundo é o data, o token é uma string com o token do cliente, já o data é um JSON ou XML contendo o filtro ou dados da requisição, filtros são usados em métodos gets e dados são usados em métodos save ou update.
Cada método é separado em três tópicos: método, descrição e filtro ou dados (dependendo do tipo de método get, save ou update). Alguns métodos ainda possuem exemplos de dados para fazer uma requisição em JSON e XML.
Métodos GET
Expand | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Get CaracterísticasMétodoO nome do método utilizado na consulta é getCaracteristicas. DescriçãoEste método retorna uma listagem com as características cadastradas. FiltrosOs filtros são organizados em uma tabela contendo o nome, tipo e descrição de cada filtro.
RetornoOs retornos são organizados em uma tabela contendo grupo do campo, nome, tipo, e descrição de cada campo.
|
Expand | ||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||
Get Produtos
|
Nome | Tipo | Descrição |
limite | Integer(10) | Definir a quantidade de registros a retornar por página. |
pagina | Integer(10) | Definir qual página deverá ser retornada. |
gênero | Integer(1) | Gênero do produto: 0 - Unissex 1 - Masculino 2 - Feminino |
nome | String(100) | Código para identificação da variação de cor do produto. |
marca | String(100) | Faz uma busca nos produtos que são de uma marca específica. |
data_cadastro | String(10) | Busca por produtos cadastrados em uma data específica. Formato: YYYY-MM-DD |
codigo | String(40) | Busca por produtos contendo este código |
produto_codigo_exato | String(40) | Busca por um produto com código específico. |
id | Integer(11) | Busca por um produto com Id específico. |
Expand | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GE didosMétodoO nome do método utilizado na consulta é getPedidos. DescriçãoEste método retorna uma listagem com os pedidos cadastrados. FiltrosOs filtros são organizados em uma tabela contendo o nome, tipo e descrição de cada filtro.
Observações:
RetornoOs retornos são organizados em uma tabela contendo grupo do campo, nome, tipo, e descrição de cada campo.
|
Métodos SAVE
Expand | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Save AutorMétodoO nome do método utilizado na consulta é saveAutor. DescriçãoSalva novos autores na plataforma DadosOs 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. Segue tabela descrevendo os dados de envio:
|
Expand | ||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||
Save Produtos AutorMétodoO nome do método utilizado na consulta é saveProdutosAutor. DescriçãoVincula produtos aos autores já cadastrados DadosOs 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. Segue tabela descrevendo os dados de envio:
|
Expand | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Save ProdutosMétodoO nome do método utilizado na consulta é saveProdutos. DescriçãoSalva 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. DadosOs 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. Segue tabela descrevendo os dados de envio:
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.
|
Expand | |||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||||||||||||||||
Save EstoqueMétodoO nome do método utilizado na consulta é saveEstoque. DescriçãoSalva ou atualiza os dados de estoque. DadosOs 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. Segue tabela descrevendo os dados de envio:
|
Expand | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Save CaracteristicasMétodoO nome do método utilizado na consulta é saveCaracteristicas. DescriçãoSalva ou atualiza as características. DadosOs 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. Segue tabela descrevendo os dados de envio:
|
Expand | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Save Características ProdutoMétodoO nome do método utilizado na consulta é saveCaracteristicasProduto. DescriçãoVincula as caracteristicas com um produto. DadosOs 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. Segue tabela descrevendo os dados de envio:
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.
|
Expand | |||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||||||||||||||||||||||||||||
Save NfeMétodoO nome do método utilizado na consulta é saveNfe. DescriçãoSalva ou atualiza a nota fiscal de um pedido e altera o status do pedido para faturado. DadosOs 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. Segue tabela descrevendo os dados de envio:
ObservaçõesCaso seja passado o campo status_pedido com um valor diferente de zero, o pedido será atualizado para o status correspondente cadastrado na plataforma. Se não for enviado o código, será alterado apenas o status da entrega e não do pedido. Quando todas as entregas tiverem suas respectivas notas, pode-se enviar o status desejado.
|
Expand | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||
Save ClientesMétodoO nome do método utilizado na consulta é saveClientes. DescriçãoSalva os clientes enviados. Caso um cliente já exista, o webservice irá atualizar as informações se o nos dados estiver o campo atualiza com o valor 1.
|
Métodos UPDATE
Expand | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Update PedidoMétodoO nome do método utilizado na consulta é updatePedido. DescriçãoAtualiza os dados dos pedidos (1 ou mais pedidos). DadosOs 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. Segue tabela descrevendo os dados de envio:
Status de Entregas
|
Expand | |||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||||||||||||||||||||||
Update PrecosMétodoO nome do método utilizado na consulta é updatePrecos. DescriçãoAtualiza os preços de produtos. DadosOs 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. Segue tabela descrevendo os dados de envio:
ObservaçõesPara utilizar a versão atualizada deste método é preciso solicitar para o help desk da Moovin ativá-lo no admin. O quadro de parâmetros não mostra mas o código identificador da variação de cor ou o código da variação de tamanho é obrigatório, o funcionamento do método varia de acordo com o código recebido. Se o código da variação de cor for enviado, o preço será atualizado se o produto usa o preço na variação de cor. Se o código da variação de tamanho for enviado, o preço será atualizado se o produto usa preço por variação de tamanho. O código do produto é recebido somente para especificar melhor o filtro, em caso de existirem variações de cor com o mesmo código.
|
Tabela de retornos
O webservice retorna na requisição duas informações o código e a mensagem, para facilitar a compreensão, nós disponibilizamos uma tabela contendo o código, mensagem e descrição:
Código | Mensagem | Descrição |
0 | Sucesso | Operação foi realizada com sucesso |
1 | Dados não enviados ou em formato desconhecido | Os dados não foram enviados em um formato compatível. Verifique se os dados estão em XML ou JSON |
2 | Método inexistente | O método requisitado não existe, verifique a documentação para ver os métodos válidos |
3 | Nenhum resultado encontrado para a busca | Ocorre quando não é encontrado nenhum resultado na consulta |
4 | Token não enviado ou incorreto | Verifique se o token foi enviado corretamente e se o mesmo está correto. |
5 | Não foi possível identificar a requisição | A requisição não veio por POST nem por SOAP. |
6 | Ocorreu um erro interno ao carregar o webservice | Entre em contato conosco informando esse erro |
7 | Verifique se os dados foram enviados corretamente | Faltam dados ou foram enviados em formato incorreto |
8 | Data não enviada ou em formato incorreto | Verifique a data enviada se está no formato conforme descreve a documentação |
9 | Verifique se os dados dos produtos foram enviados corretamente | Consulte esta documentação para maiores informações de como enviar os dados dos produtos |