Introdução

O Integrações é um módulo desenvolvido para receber requisições de um serviço web para coleta de informações do banco de dados do Shop Control 9, permitindo assim a atualização de sites e/ou sistemas de vendas online. Ele também é responsável por receber os dados de vendas feitas na plataforma online e gerar as sequências de saídas no sistema, bem como a emissão de nota fiscal.

Através deste manual técnico, iremos informar as linhas de comando necessárias para o webservice tratar as requisições entre ele e o módulo Integrações.

A ativação em uma base real, adiciona valor à renovação de licença do cliente que fará uso. O Módulo Integrações está disponível apenas para clientes com o Shop Control 9 Plus. Consulte o departamento comercial, sobre os valores, antes de iniciar o processo de homologação.

E-mail: comercial@idealsoft.com.br
Fone: (41) 3013-1161

Visão Geral

Segue abaixo a lista de informações que estão no Shop Control 9 e que o módulo Integrações disponibilizará para o webservice:

Cadastros

  • Classe
  • Subclasse
  • Grupos
  • Famílias
  • Fabricantes
  • Unidades de Venda
  • Cores
  • Tamanhos
  • Moedas
  • Pesquisa 1
  • Pesquisa 2
  • Pesquisa 3
  • Clientes
  • Contatos dos Clientes (telefones, e-mail, data de nascimento, etc.)
  • Produtos
  • Fotos das mercadorias
  • Preços
  • Estoque
  • Promoções


Movimento

Para a parte de movimentação do sistema, teremos a função de receber as vendas feitas no site, para a criação das sequências no Shop Control 9.

Arquitetura

Geral

A arquitetura da API do módulo Integrações é separada pela requisição de autenticação e as demais requisições. A requisição de autenticação trará o token a ser utilizado em todas as outras requisições. O token deverá ser gerado a cada $HORAS horas para que as validações de data e hora com o servidor e licenciamento do módulo ocorram.

Cabeçalho da Requisição

Todas as requisições devem passar uma série de parâmetros no header da requisição:

 

Signature: Para garantir que as informações enviadas na requisição para o módulo estejam concisas e não tenham sofrido modificações durante a requisição até o servidor, é necessário que no header da requisição seja enviado o campo “signature”, que deve ser calculado da seguinte forma:

 

1 – Concatenar os seguintes campos:

Método HTTP* + Timestamp + Conteúdo BODY* (se houver)

* O método HTTP precisa ser em minúsculo, por exemplo, get, post, put, delete

* O conteúdo do body precisa ser sem espaços no começo e no fim e estar em Base64

 

2- Encriptar os dados concatenados com o algoritmo HMAC SHA256, utilizando a senha informada nas configurações do módulo.

 

3- Passar os dados encriptados para Base64.

 

“CodFilial”: passar o código da filial do Shop Control 9 para que o token foi gerado.

 

“Authorization”: deve ser passado o token gerado pela requisição Autenticação, no seguinte modelo:

Token [tokenGerado]

 

“Timestamp”: passar o timestamp utilizado para gerar o campo Signature, para questões de conferência.

Resposta

Todas as requisições que foram processadas e respondidas pelo servidor retornarão o status HTTP 200 OK, independente do sucesso da resposta. Todas as respostas serão retornadas no padrão JSON e terão o seguinte formato:

 

{
“sucesso”: [bool],
“mensagem”: [string],
“tipo”: [string],
“complementoTipo”: [string],
“statusCode”: [int],
“dados”: [json]
}

 

Descrição dos campos:

 

“sucesso”: Esse campo boolean diz que a resposta pode ser considerada como válida para processamento pelo consumidor do serviço. Caso seja falso, o campo “dados” virá sem valor e os campos “mensagem” e “tipo” serão preenchidos com mais informações a respeito do problema.

 

“mensagem”: Campo string com informações do erro da requisição, caso o campo “sucesso” seja falso. Pode ser uma mensagem simples de validação das regras de negócio do serviço ou uma mensagem de erro retornada pelo servidor (algumas vezes em inglês). Utilizar em conjunto com os campos “tipo”, “complementoTipo” e “statusCode” para fazer o tratamento de erros e sistema de logs.

 

“tipo”: Campo string com uma informação técnica do tipo do erro para auxiliar o consumidor do serviço a depurar e tratar os problemas. Atualmente os tipos possíveis são:

  • EXCECAO_SERVIDOR,
  • AUTENTICACAO_INVALIDA,
  • HEADER_INVALIDO,
  • BODY_INVALIDO,
  • CAMPO_INVALIDO,
  • LICENCA_EXPIRADA_OU_INVALIDA,
  • FIM_DE_PAGINA,
  • REGISTRO_NAO_ENCONTRADO,
  • TIPO_BUSCA_INVALIDO

 

“complementoTipo”: Campo string, só virá preenchido caso o campo “tipo” seja ambíguo ou complexo a ponto de precisar de um complemento.

 

“statusCode”: Campo integer, trará o código 200 OK nos casos de sucesso no processamento da requisição. Nos casos de erro, trará um código HTTP relativo ao problema apresentado para que o consumidor do serviço possa apurar seu tratamento de erros (como por exemplo: 401 Não autorizado, para o caso de o token informado seja inválido, etc.).

 

“dados”: Campo JSON, será o campo onde as informações requisitadas serão apresentadas. Poderá ser um objeto simples ou uma lista, dependendo do tipo da requisição. Para mais informações acerca do tipo de retorno para cada uma das requisições consulte a seção Serviços.

 

Homologação

A IdealSoft disponibiliza uma área de homologação com uma base de testes para clientes em processo de integração realizarem os testes das requisições antes de utilizar o módulo Integrações em produção. Ao requisitar o módulo com o setor comercial, você deverá receber o código da filial de homologação para autenticar o serviço.

Caso deseje seguir o roteiro de homologação, leia a seção Roteiro de Testes.

Serviços

Autenticação

Fará a validação do licenciamento para o número de série e filial informados. Retorna o token para utilização nas demais requisições.

Requisição

GET/auth/?serie=[string]&codfilial=[integer]

 

Parâmetros

 

serie: Número de série licenciado para uso

codfilial: Código da filial do Shop Control 9 licenciado para uso.

 

Parâmetros BODY
Nenhum.

<JSON/>

 

token: [string]

expireAt: [data/hora UTC]

 

token: Token para utilização nas demais requisições. Tem validade de $HORAS horas. Após expirar, deve ser feita outra requisição de token.

expireAt: Data/hora em UTC (YYYY-MM-DDTHH:MM:SS.0000000+00:00) do momento em que o token retornado irá expirar. Pode ser utilizado para que o consumidor do serviço faça um controle da requisição de novos tokens.

Cadastros

Auxiliares

Traz a lista de cadastros auxiliares do tipo escolhido para complementar o cadastro de produtos.

GET/aux/tipo?datade=[data]&dataate=[data]

 

Parâmetros

 

tipo: Tipo do cadastro auxiliar, deve ser substituído por um dos seguintes valores:

  • classes
  • subclasses
  • grupos
  • familias
  • fabricantes
  • unidades_venda
  • cores
  • tamanhos
  • moedas
  • pesquisa_1
  • pesquisa_2
  • pesquisa_3

 

datade (opcional): A data mínima de alteração

<JSON/>

 

codigo: [string]

nome: [string]

codigo: Código do cadastro.

nome: Nome do cadastro.

Clientes

As requisições para o cadastro de clientes permitem trazer todos os clientes cadastrados na base de forma paginada – podendo filtrar pela data de alteração dos registros – e também trazer os contatos cadastrados dos clientes.

 

Existe também a possibilidade de cadastrar clientes e seus contatos através de requisições POST.

 

Consultar Clientes

GET /clientes/pagina?datade=[data]&dataate=[data]

 

Parâmetros

 

pagina: A requisição trará sempre no máximo 20 registros do cadastro de clientes e fornecedores por página. Para pegar o cadastro completo deve ser feito o loop passando por todas as páginas (começando pela página 1) até que a requisição retorne o tipo “FIM_DE_PAGINA”.

 

datade (opcional): A data mínima de alteração para que sejam filtrados os resultados. Recomendado para que sejam atualizados os resultados após a primeira sincronização.

 

dataate (opcional): A data máxima de alteração para que sejam filtrados os resultados. Recomendado para que sejam atualizados os resultados após a primeira sincronização.

 

Parâmetros BODY
Nenhum.

<JSON/>

 

codigo: [long]
nome: [string]
fantasia: [string]
tipo: C ou F (cliente ou fornecedor)
fisicaJuridica: F ou J

IndicadorIE: 1, 2 ou 9 (Contribuinte, Isento ou Não contribuinte)
cpfCnpj: [string(14)]
rg: [string]
ie: [string]
cep: [string(8)]
endereco: [string]
numero: [string]
complemento: [string]
bairro: [string]
cidade: [string]
uf: [string(2)]
pais: [string]
telefone1: [string]
telefone2: [string]
fax: [string]
entregaCep: [string]
entregaEndereco: [string]
entregaNumero: [string]
entregaComplemento: [string]
entregaBairro: [string]
entregaCidade: [string]
entregaUf: [string]
entregaPais: [string]
entregaPontoRef1: [string]
entregaPontoRef2: [string]
faturamentoCep: [string]
faturamentoEndereco: [string]
faturamentoNumero: [string]
faturamentoComplemento: [string]
faturamentoBairro: [string]
faturamentoCidade: [string]
faturamentoUf: [string]
faturamentoPais: [string]
faturamentoPontoRef1: [string]
faturamentoPontoRef2: [string]
urlContatos: [string]
contatos: [Lista JSON]
nome: [string]
sexo: M ou F
cargo: [string]
diaAniversario: [int(2)]
mesAniversario: [string(3)] (JAN até DEZ)
anoAniversario: [int(4)]
telefone: [string]
ramal: [string]
tipoEmail: “E”, “P”, “F”, “N”, “M” (Empresa, Pessoal, Financeiro, NFe e Mala Direta)
email: [string]

 

GET /clientes/detalhes/codigo

 

Parâmetros

 

codigo: O código do cliente específico para trazer o cadastro. Retorna StatusCode 404 caso seja passado um código que não existe.

 

Parâmetros BODY
Nenhum.

<JSON/>

 

codigo: [long]
nome: [string]
fantasia: [string]
tipo: C ou F small>(cliente ou fornecedor)
fisicaJuridica: F ou J
cpfCnpj: [string(14)]
rg: [string]
ie: [string]
cep: [string(8)]
endereco: [string]
numero: [string]
complemento: [string]
bairro: [string]
cidade: [string]
uf: [string(2)]
pais: [string]
telefone1: [string]
telefone2: [string]
fax: [string]
entregaCep: [string]
entregaEndereco: [string]
entregaNumero: [string]
entregaComplemento: [string]
entregaBairro: [string]
entregaCidade: [string]
entregaUf: [string]
entregaPais: [string]
entregaPontoRef1: [string]
entregaPontoRef2: [string]
faturamentoCep: [string]
faturamentoEndereco: [string]
faturamentoNumero: [string]
faturamentoComplemento: [string]
faturamentoBairro: [string]
faturamentoCidade: [string]
faturamentoUf: [string]
faturamentoPais: [string]
faturamentoPontoRef1: [string]
faturamentoPontoRef2: [string]
urlContatos: [string]
contatos: [Lista JSON]
nome: [string]
sexo: M ou F
cargo: [string]
diaAniversario: [int(2)]
mesAniversario: [string(3)] (JAN até DEZ)
anoAniversario: [int(4)]
telefone: [string]
ramal: [string]
tipoEmail: “E”, “P”, “F”, “N”, “M” (Empresa, Pessoal, Financeiro, NFe e Mala Direta)
email: [string]

 

Consultar Contatos

GET /clientes/contatos/?datade=[data]&dataate=[data]

 

Parâmetros

 

datade (opcional): A data mínima de alteração para que sejam filtrados os resultados.
Recomendado para que sejam atualizados os resultados após a primeira sincronização.

 

dataate (opcional): A data máxima de alteração para que sejam filtrados os resultados. Recomendado para que sejam atualizados os resultados após a primeira sincronização.

 

Parâmetros BODY
Nenhum.

<JSON/>

 

codigoCliente: [long]
contatos: [Lista JSON]
nome: [string]
sexo: M ou F
cargo: [string]
diaAniversario: [int(2)]
mesAniversario: [string(3)] (JAN até DEZ)
anoAniversario: [int(4)]
telefone: [string]
ramal: [string]
tipoEmail: “E”, “P”, “F”, “N”, “M” (Empresa, Pessoal, Financeiro, NFe e Mala Direta)
email: [string]

ordem: [int]

 

 

Cadastrar Cliente

POST /clientes

 

Parâmetros

Nenhum.

 

Parâmetros BODY

Content-Type: application/json

 

Único JSON:

nome: [string]
fantasia: [string]
tipo: C ou F (cliente ou fornecedor)
fisicaJuridica: F ou J
cpfCnpj: [string(14)]
rg: [string]
ie: [string]
cep: [string(8)]
endereco: [string]
numero: [string]
complemento: [string]
bairro: [string]
cidade: [string]
uf: [string(2)]
pais*: [string]
telefone1: [string]
telefone2: [string]
fax: [string]
entregaCep: [string]
entregaEndereco: [string]
entregaNumero: [string]
entregaComplemento: [string]
entregaBairro: [string]
entregaCidade: [string]
entregaUf: [string]
entregaPais: [string]
entregaPontoRef1: [string]
entregaPontoRef2: [string]
faturamentoCep: [string]
faturamentoEndereco: [string]
faturamentoNumero: [string]
faturamentoComplemento: [string]
faturamentoBairro: [string]
faturamentoCidade: [string]
faturamentoUf: [string]
faturamentoPais: [string]
faturamentoPontoRef1: [string]
faturamentoPontoRef2: [string]

* País: deixar em branco coloca o país como 1058 Brasil

<JSON/>

 

codigoGerado: [long]

 

Cadastrar Contato

POST /clientes/contatos/codigo

 

Parâmetros

codigo: Substituir pelo código do cliente para vincular a lista de contatos.

 

Parâmetros BODY
Content-Type: application/json

 

Lista JSON:

nome: [string]
sexo: M ou F
cargo: [string]
diaAniversario: [int(2)]
mesAniversario: [string(3)] (JAN até DEZ)
anoAniversario: [int(4)]
telefone: [string]
ramal: [string]
tipoEmail: “E”, “P”, “F”, “N”, “M” (Empresa, Pessoal, Financeiro, NFe e Mala Direta)
email: [string]

ordem: [int]

<JSON/>

 

 

Atualizar Contato

PUT /clientes/contatos/codigo/ordem

 

Parâmetros

codigo: Substituir pelo código do cliente para vincular a lista de contatos.
ordem: Substituir pela ordem do contato

 

Parâmetros BODY
Content-Type: application/json

 

Único JSON:

nome: [string]
sexo: M ou F
cargo: [string]
diaAniversario: [int(2)]
mesAniversario: [string(3)] (JAN até DEZ)
anoAniversario: [int(4)]
telefone: [string]
ramal: [string]
tipoEmail: “E”, “P”, “F”, “N”, “M” (Empresa, Pessoal, Financeiro, NFe e Mala Direta)
email: [string]

ordem: [int]

<JSON/>

Produtos

Para o cadastro de produtos é possível trazer os campos básicos de um cadastro, o estoque atual nas filiais liberadas, as fotos cadastradas e os preços das tabelas de preço cadastradas.

 

GET /produtos/pagina?datade=[data]&dataate=[data]

 

Parâmetros

pagina: A requisição trará sempre no máximo 20 registros por página do cadastro de produtos. Para pegar o cadastro completo deve ser feito o loop passando por todas as páginas (começando pela página 1) até que a requisição retorne o tipo “FIM_DE_PAGINA”.

 

datade (opcional): A data mínima de alteração para que sejam filtrados os resultados. Recomendado para que sejam atualizados os resultados após a primeira sincronização.

 

dataate (opcional): A data máxima de alteração para que sejam filtrados os resultados. Recomendado para que sejam atualizados os resultados após a primeira sincronização.

 

Parâmetros BODY
Nenhum.

<JSON/>

 

codigo: [int]
nome: [string]
observacao1: [string]
observacao2: [string]
observacao3: [string]
tipo: 0 ou 1 (Normal, Grade)
codigoClasse: [int]
codigoSubclasse: [int]
codigoCor: [int]
codigoTamanho: [int]
codigoGrupo: [int]
codigoMoeda: [int]
codigoFamilia: [int]
codigoUnidadeVenda: [int]
codigoPesquisa1: [int]
codigoPesquisa2: [int]
codigoPesquisa3: [int]
pesoLiquido: [decimal]
pesoBruto: [decimal]

altura: [decimal]

largura: [decimal]

comprimento: [decimal]

estoqueAtual: [decimal]
codigoFabricante: [int]
urlDetalhe: [string]
urlEstoqueDetalhe: [string]
urlTabelaPreco: [string]
urlPromocoes: [string]
urlFotos: [string]

 

Fotos

As requisições de fotos estão separadas em duas etapas. Primeiro você deve requisitar a lista de fotos disponíveis para o produto. Com base nessa lista deve requisitar a foto da posição desejada.

 

GET /fotos/codigoProduto

 

Parâmetros

codigoProduto: O campo código do produto requisitado em Produtos.

 

Parâmetros BODY
Nenhum.

<JSON/>

 

codigo: [string]
fotos: [Lista JSON]
posicao: [int]
principal: [bool]

 

GET /fotos/codigoProduto/posicao

 

Parâmetros

codigoProduto: O campo código do produto requisitado em Produtos.

 

posicao: O campo posição da requisição acima.

 

Parâmetros BODY
Nenhum.

<JSON/>

 

image/jpeg

 

Preços
Os preços podem ser consultados tanto pela data de última alteração quanto apenas de um produto específico.

 

GET /precos/?datade=[data]&dataate=[data]

 

Parâmetros
datade: A data mínima de alteração para que sejam filtrados os resultados.

 

dataate: A data máxima de alteração para que sejam filtrados os resultados

 

Parâmetros BODY
Nenhum.

<JSON/>

 

codigo: [string]
precos: [Lista JSON]
tabela: [string]
preco: [decimal]
promocional: [bool]

 

GET /precos/codigoProduto

 

Parâmetros
codigoProduto: O campo código do produto requisitado em Produtos.

 

Parâmetros BODY
Nenhum.

<JSON/>

 

codigo: [string]
precos: [Lista JSON]
tabela: [string]
preco: [decimal]
promocional: [bool]

Promoções

Estes serviços trarão apenas as promoções ativas.

 

GET /promocoes/ pagina?datade=[data]&dataate=[data]

 

Parâmetros

pagina: A requisição trará sempre no máximo 20 registros de promoções por página. Para pegar todas as promoções ativas deve ser feito o loop passando por todas as páginas (começando pela página 1) até que a requisição retorne o tipo “FIM_DE_PAGINA”.

 

datade (opcional): A data mínima de alteração para que sejam filtrados os resultados. Recomendado para que sejam atualizados os resultados após a primeira sincronização.

 

dataate (opcional): A data máxima de alteração para que sejam filtrados os resultados. Recomendado para que sejam atualizados os resultados após a primeira sincronização.

 

Parâmetros BODY
Nenhum.

<JSON/>

 

codigoProduto: [string]
tabelaPreco: [string]
dataInicio: [data/hora UTC]
dataFim: [data/hora UTC]
preco: [decimal]

 

GET /promocoes/codigoProduto

 

Parâmetros
codigoProduto: O campo código do produto requisitado em Produtos.

 

Parâmetros BODY
Nenhum.

<JSON/>

 

codigoProduto: [string]
tabelaPreco: [string]
dataInicio: [data/hora UTC]
dataFim: [data/hora UTC]
preco: [decimal]

Estoque

Os serviços para o estoque podem ser requisitados tanto por produto quanto por grade (quando o tipo do produto for “grade” no cadastro de produtos do Shop Control 9. Caso seja feito uma consulta do produto grade pela requisição de produtos normais, o estoque virá com a soma de todas as grades. O estoque será retornado apenas se a filial estiver configurada corretamente nas configurações do módulo Integrações.

Produtos Normais

 

GET /estoque/codigoProduto

 

 

Parâmetros
codigoProduto: O campo código do produto requisitado em Produtos.

 

Parâmetros BODY
Nenhum.

<JSON/>

 

codigo: [string]
tipoEstoque: [string]
estoqueFiliais: [Lista JSON]
codigoFilial: [int]
estoqueAtual: [decimal]

Produtos Grade

Todas as Grades

GET /estoque/codigoProduto/grade/

 

Parâmetros
codigoProduto: O campo código do produto requisitado em Produtos.

 

Parâmetros BODY
Nenhum.

<JSON/>

 

codigo: [string]
lista: [Lista JSON]
codigoCompleto: [string]
codigoCor: [int]
codigoTamanho: [int]
estoqueAtual: [decimal]
codigoFilial: [int]

 

Grade da Cor

GET /estoque/codigoProduto/grade/cor/cor

 

Parâmetros
codigoProduto: O campo código do produto requisitado em Produtos.
cor: O código da cor requisitado em Auxiliares.

 

Parâmetros BODY
Nenhum.

<JSON/>

 

codigo: [string]
lista: [Lista JSON]
codigoCompleto: [string]
codigoCor: [int]
codigoTamanho: [int]
estoqueAtual: [decimal]
codigoFilial: [int]

 

Grade do Tamanho

GET /estoque/codigoProduto/grade/tamanho/tamanho

 

Parâmetros
codigoProduto: O campo código do produto requisitado em Produtos.
tamanho: O código do tamanho requisitado em Auxiliares.

 

Parâmetros BODY
Nenhum.

<JSON/>

 

codigo: [string]
lista: [Lista JSON]
codigoCompleto: [string]
codigoCor: [int]
codigoTamanho: [int]
estoqueAtual: [decimal]
codigoFilial: [int]

 

Grade Específica

GET /estoque/codigoProduto/grade/tamanho/tamanho/cor/cor

 

Parâmetros

codigoProduto: O campo código do produto requisitado em Produtos.
cor: O código da cor requisitado em Auxiliares.
tamanho: O código do tamanho requisitado em Auxiliares.

 

Parâmetros BODY
Nenhum.

<JSON/>

 

codigo: [string]
lista: [Lista JSON]
codigoCompleto: [string]
codigoCor: [int]
codigoTamanho: [int]
estoqueAtual: [decimal]
codigoFilial: [int]

Estoque V2

Produtos Normais V2

 

GET v2/estoque/detalhes/codigoProduto

 

 

Parâmetros
codigoProduto: O campo código do produto requisitado em Produtos.

 

Parâmetros BODY
Nenhum.

<JSON/>

 

codigo: [string]
tipoEstoque: [string]
estoqueFiliais: [Lista JSON]
codigoFilial: [int]
estoqueAtual: [decimal]

Produtos Lote V2

Lote

GET v2/estoque/detalhes/codigoProduto/lote/lote

 

Parâmetros

codigoProduto: O campo código do produto requisitado em Produtos.
lote: O código do lote requisitado em Auxiliares.

 

Parâmetros BODY
Nenhum.

<JSON/>

 

codigo: [string]
lista: [Lista JSON]
lote: [string]
estoqueAtual: [int]
codigoFilial: [int]

Produto Série V2

Série

GET v2/estoque/detalhe/codigoProduto/serie/serie

 

Parâmetros

codigoProduto: O campo código do produto requisitado em Produtos.
serie: O código da serie requisitado em Auxiliares.

 

Parâmetros BODY
Nenhum.

<JSON/>

 

codigo: [string]
lista: [Lista JSON]
serie: [string]
disponivel: [bool]
codigoFilial: [int]

Produto Edição V2

Edição

GET v2/estoque/detalhe/codigoProduto/edicao/edicao

 

Parâmetros

codigoProduto: O campo código do produto requisitado em Produtos.
edicao: O código da edicao requisitado em Auxiliares.

 

Parâmetros BODY
Nenhum.

<JSON/>

 

codigo: [string]
lista: [Lista JSON]
codigo: [int]
nome: [string]
estoqueAtual: [decimal]
codigoFilial: [int]

Produtos Grade V2

Todas as Grades

GET v2/estoque/detalhe/codigoProduto/grade/

 

Parâmetros
codigoProduto: O campo código do produto requisitado em Produtos.

 

Parâmetros BODY
Nenhum.

<JSON/>

 

codigo: [string]
lista: [Lista JSON]
codigoCompleto: [string]
codigoCor: [int]
codigoTamanho: [int]
estoqueAtual: [decimal]
codigoFilial: [int]

 

Grade da Cor

GET v2/estoque/detalhe/codigoProduto/grade/cor/cor

 

Parâmetros
codigoProduto: O campo código do produto requisitado em Produtos.
cor: O código da cor requisitado em Auxiliares.

 

Parâmetros BODY
Nenhum.

<JSON/>

 

codigo: [string]

lista: [Lista JSON]
codigoCompleto: [string]
codigoCor: [int]
codigoTamanho: [int]
estoqueAtual: [decimal]
codigoFilial: [int]

 

Grade do Tamanho

GET v2/estoque/detalhe/codigoProduto/grade/tamanho/tamanho

 

Parâmetros
codigoProduto: O campo código do produto requisitado em Produtos.
tamanho: O código do tamanho requisitado em Auxiliares.

 

Parâmetros BODY
Nenhum.

<JSON/>

 

codigo: [string]
lista: [Lista JSON]
codigoCompleto: [string]
codigoCor: [int]
codigoTamanho: [int]
estoqueAtual: [decimal]
codigoFilial: [int]

 

Grade Específica

GET v2/estoque/detalhe/codigoProduto/grade/tamanho/tamanho/cor/cor

 

Parâmetros

codigoProduto: O campo código do produto requisitado em Produtos.
cor: O código da cor requisitado em Auxiliares.
tamanho: O código do tamanho requisitado em Auxiliares.

 

Parâmetros BODY
Nenhum.

<JSON/>

 

codigo: [string]
lista: [Lista JSON]
codigoCompleto: [string]
codigoCor: [int]
codigoTamanho: [int]
estoqueAtual: [decimal]
codigoFilial: [int]

Paginado

Estoque Paginado

GET v2/estoque/pagina?datade=[data]&dataate=[data]

 

Parâmetros

pagina: A requisição trará sempre no máximo 10 registros de estoque por página. Para pegar todas os registros deve ser feito o loop passando por todas as páginas (começando pela página 1) até que a requisição retorne o tipo “FIM_DE_PAGINA”.

 

datade (opcional): A data mínima de alteração para que sejam filtrados os resultados. Recomendado para que sejam atualizados os resultados após a primeira sincronização.

 

dataate (opcional): A data máxima de alteração para que sejam filtrados os resultados. Recomendado para que sejam atualizados os resultados após a primeira sincronização.

 

Parâmetros BODY
Nenhum.

<JSON/>

 

codigo: [string]
urlDetalhe: [string]

tipoEstoque: [N,G,S,E e L] (Normal, Grade, Serie, Edição e Lote)
estoqueFiliais: [Lista JSON]
codigoCor: [int]
codigoTamanho: [int]
codigoFilial: [int]
estoqueAtual: [decimal]

 

Vendas

Enviar Venda

POST /vendas/

Parâmetros
Nenhum

Parâmetros BODY
Content-Type: application/json

Único JSON:

cpfCnpj: [string]
data: [data]
codigoOperacao: [int]

codigoCaixa: [int]
produtos: [Lista JSON]
codigo: [string]
codigoCor: [string]
codigoTamanho: [string]
quantidade: [decimal]
precoUnitario: [decimal]
descontoUnitario: [decimal]

recebimentos: [Lista JSON]
tipo: [string] – B, C ou CB (Boleto, Cartão de Crédito ou Conta Bancária)
valorParcelas: [decimal]
quantidadeParcelas: [int]
codigoAdministradora: [int]
nsu: [string]
numeroCartao: [string]
codigoContaBancaria: [int]
vencimento: [data]

dadosEntrega: [Lista JSON]
valor: [decimal]
opcoesFretePagoPor: [string] – C, E, D, O (Pegar informação do cadastro de cliente, Sempre pelo Emitente, Sempre pelo Destinatário, Decidido pelo Operador)
pesoBruto: [decimal]
pesoLiquido: [decimal]
volume: [decimal]
dataEntrega: [data],
cnpjTransportadora: [string]
naoSomarFreteTotalNota: [bool]
outroEndereco: [Único JSON]
cep: [string]
endereco: [string]
numero: [string]
complemento: [string]
bairro: [string]
cidade: [string]
uf: [string]

observacao: [string]

<JSON/>

recibo: [GUID]
dataGeracao: [data/hora UTC]

Consultar Recibo

GET /vendas/recibo

 

Parâmetros
recibo: O GUID recebido como resposta da requisição Enviar Venda.

 

Parâmetros BODY
Nenhum.

 

<JSON/>

 

recibo: [GUID]
pedidoProcessado: [bool]
erros: [string]
notaFiscal: [Único JSON]
notaAutorizada: [bool]
chaveNfe: [string]
serie: [string]
numero: [string]

SequenciaGerada: [string]

OrdemMovimentoGerado: [string]
erros: [string]

Roteiro de Testes

A IdealSoft disponibiliza uma base de dados com uma simulação dos dados de uma empresa de testes para que o desenvolvedor possa testar as chamadas para o serviço sem que altere os dados em produção. Antes de adquirir o módulo Integrações, iremos disponibilizar um número de série, um código de filial de testes e uma senha para montar as requisições no serviço web desenvolvido. Dessa forma, iremos certificar que o serviço web desenvolvido para a empresa estará em conformidade com esse manual técnico, e que irá realizar corretamente a comunicação com o módulo Integrações.


Para solicitar esse número de série e código de filial, envie um e-mail para suporte@idealsoft.com.br.


A URL a ser utilizada é a seguinte:

http://idealsoftexportaweb.eastus.cloudapp.azure.com:60500/

Aqui listaremos como deverá ser feita a requisição e o que a requisição deverá retornar para a base de testes da IdealSoft.

Autenticação Teste

Primeiramente deverá requisitar um token. O token será utilizado para todas as outras requisições. Vamos levar em consideração que:


A série recebida da IdealSoft é: HIAABB-100000-ABCD
O código da filial recebida da IdealSoft é: 1


Requisição

GET /auth/?serie=HIAABB-100000-ABCD&codfilial=1 HTTP/1.1
Host: idealsoftexportaweb.eastus.cloudapp.azure.com:60500
Signature: -1
cache-control: no-cache

Resposta

Transfer-Encoding:”chunked”
Content-Type:”application/json; charset=utf-8″
Server:”Microsoft-HTTPAPI/2.0″
Date:”Mon, 18 Mar 2019 19:32:38 GMT”
Clique para visualizar o conteúdo completo
								
									{
    "sucesso": true,
    "mensagem": null,
    "tipo": null,
    "complementoTipo": null,
    "statusCode": 200,
    "dados": {
        "token": "SElFQVBBLTYwMDc1OS1ST0NUMDAwMQ0KYWRtaW4NCjYzNjg4NTM0MzU4
NTk0OTQ0NA0KUG9zdG1hblJ1bnRpbWUvNy42LjE=:xlJVl3KCiiVmm5VaJVw7i57nf3AzgAoXAeR1027iWZ4=",
        "expireAt": "2019-03-19T07:32:38.5949444+00:00"
    }
}								
							

 

Agora com o token retornado, podemos fazer requisição em qualquer um dos serviços disponibilizados no módulo.

Auxiliares Teste

Vamos começar fazendo uma requisição nos cadastros auxiliares, pegando todas as cores cadastradas:

 

Requisição

GET /aux/cores
AuthKey:”1″
Authorization:”Token SElFQVBBLTYwMDc1OS1ST0NUMDAwMQ0KYWRtaW4NCjYzNjg4NTM0MzU4NTk0OTQ0NA0KUG9zdG1hblJ1bnRpbWUvNy42LjE=:xlJVl3KCiiVmm5VaJVw7i57nf3AzgAoXAeR1027iWZ4=”
Signature:”dUi3cbBAodIQu6x9QrYKWGlp6QHONwfWAptPXz0tNxU=”
Timestamp:”1552937756″
cache-control:”no-cache”
Accept:”*/*”
Host:”idealsoftexportaweb.eastus.cloudapp.azure.com:60500″
accept-encoding:”gzip, deflate”

 

Resposta

HTTP/1.1 200
status: 200
Transfer-Encoding: chunked
Content-Type: application/json; charset=utf-8
Server: Microsoft-HTTPAPI/2.0
Date: Mon, 18 Mar 2019 19:35:56 GMT
Clique para visualizar o conteúdo completo
								
									
{
    "sucesso": true,
    "mensagem": null,
    "tipo": null,
    "complementoTipo": null,
    "statusCode": 200,
    "dados": [
        {
            "codigo": "999",
            "nome": "SEM COR"
        },
        {
            "codigo": "1",
            "nome": "AZUL"
        },
        {
            "codigo": "2",
            "nome": "PRETO"
        },
        {
            "codigo": "3",
            "nome": "VERMELHO"
        }
    ]
}								
							

 

Foram retornadas as cores 999, 1, 2 e 3. Existem vários outros tipos de cadastros auxiliares para a requisição. Para saber quais são eles, consultar a seção Auxiliares.

Cadastro de Clientes e Fornecedores

Consultando clientes e fornecedores de forma paginada
Agora vamos consultar os clientes e fornecedores cadastrados. Para isso é necessário paginar a consulta. Um exemplo da primeira página da requisição de clientes cadastrados:

 

Requisição

GET /clientes/1
CodFilial: 1
Authorization: Token SElFQVBBLTYwMDc1OS1ST0NUMDAwMQ0KYWRtaW4NCjYzNjg4NTM0MzU4NTk0OTQ0NA0KUG9zdG1hblJ1bnRpbWUvNy42LjE=:xlJVl3KCiiVmm5VaJVw7i57nf3AzgAoXAeR1027iWZ4=
Signature: NzH0v3JYuH8SeChtW/z7odowwjmFKekVx5xN25YeC0c=
Timestamp: 1552938274
cache-control: no-cache
Postman-Token: 5a3923d4-10ea-4b4e-b99e-befe20025d12
User-Agent: PostmanRuntime/7.6.1
Accept: */*
Host: idealsoftexportaweb.eastus.cloudapp.azure.com:60500
accept-encoding: gzip, deflate

 

Resposta

HTTP/1.1 200
status: 200
Transfer-Encoding: chunked
Content-Type: application/json; charset=utf-8
Server: Microsoft-HTTPAPI/2.0
Date: Mon, 18 Mar 2019 19:44:36 GMT
Clique para visualizar o conteúdo completo
								
									{
    "sucesso": true,
    "mensagem": null,
    "tipo": null,
    "complementoTipo": null,
    "statusCode": 200,
    "dados": [
        {
            "codigo": 16,
            "nome": "Bernardo Amaral Gomes",
            "fantasia": "",
            "tipo": "C",
            "fisicaJuridica": "F",
            "cpfCnpj": "010.184.670-33",
            "rg": "418757896",
            "ie": "",
            "cep": "01007040",
            "endereco": "Parque Anhangabaú",
            "numero": "",
            "complemento": "",
            "bairro": "Centro",
            "cidade": "São Paulo",
            "uf": "SP",
            "pais": "",
            "telefone1": "1114999495",
            "telefone2": "",
            "fax": "",
            "entregaCep": "",
            "entregaEndereco": "",
            "entregaNumero": "",
            "entregaComplemento": "",
            "entregaBairro": "",
            "entregaCidade": "",
            "entregaUf": "",
            "entregaPais": "",
            "entregaPontoRef1": "",
            "entregaPontoRef2": "",
            "faturamentoCep": "01007040",
            "faturamentoEndereco": "",
            "faturamentoNumero": "",
            "faturamentoComplemento": "",
            "faturamentoBairro": "",
            "faturamentoCidade": "",
            "faturamentoUf": "",
            "faturamentoPais": "",
            "faturamentoPontoRef1": "",
            "faturamentoPontoRef2": "",
            "urlContatos": "/contatos/16",
            "contatos": [
                {
                    "nome": "Bernardo",
                    "sexo": "",
                    "cargo": "",
                    "diaAniversario": 0,
                    "mesAniversario": "",
                    "anoAniversario": 0,
                    "telefone": "",
                    "ramal": "",
                    "tipoEmail": "E",
                    "email": ""
                }
            ]
        },
        {
            "codigo": 2,
            "nome": "Bernardo Miguel Fernando da Silva",
            "fantasia": "",
            "tipo": "C",
            "fisicaJuridica": "F",
            "cpfCnpj": "794.895.670-00",
            "rg": "16.459.737-2",
            "ie": "",
            "cep": "78705800",
            "endereco": "Rua Goiás",
            "numero": "497",
            "complemento": "",
            "bairro": "Vila Adriana",
            "cidade": "Rondonópolis",
            "uf": "MT",
            "pais": "",
            "telefone1": "(66) 2693-3906",
            "telefone2": "",
            "fax": "",
            "entregaCep": "",
            "entregaEndereco": "",
            "entregaNumero": "",
            "entregaComplemento": "",
            "entregaBairro": "",
            "entregaCidade": "",
            "entregaUf": "",
            "entregaPais": "",
            "entregaPontoRef1": "",
            "entregaPontoRef2": "",
            "faturamentoCep": "78705800",
            "faturamentoEndereco": "",
            "faturamentoNumero": "",
            "faturamentoComplemento": "",
            "faturamentoBairro": "",
            "faturamentoCidade": "",
            "faturamentoUf": "",
            "faturamentoPais": "",
            "faturamentoPontoRef1": "",
            "faturamentoPontoRef2": "",
            "urlContatos": "/contatos/2",
            "contatos": [
                {
                    "nome": "Email",
                    "sexo": "M",
                    "cargo": "",
                    "diaAniversario": 0,
                    "mesAniversario": "",
                    "anoAniversario": 0,
                    "telefone": "",
                    "ramal": "",
                    "tipoEmail": "E",
                    "email": "bernardomiguelfernandodasilva_@metododerose.org"
                }
            ]
        },
        {
            "codigo": 1,
            "nome": "Cliente Balcão",
            "fantasia": "",
            "tipo": "C",
            "fisicaJuridica": "F",
            "cpfCnpj": "",
            "rg": "",
            "ie": "",
            "cep": "",
            "endereco": "",
            "numero": "",
            "complemento": "",
            "bairro": "",
            "cidade": "",
            "uf": "",
            "pais": "",
            "telefone1": "",
            "telefone2": "",
            "fax": "",
            "entregaCep": "",
            "entregaEndereco": "",
            "entregaNumero": "",
            "entregaComplemento": "",
            "entregaBairro": "",
            "entregaCidade": "",
            "entregaUf": "",
            "entregaPais": "",
            "entregaPontoRef1": "",
            "entregaPontoRef2": "",
            "faturamentoCep": "",
            "faturamentoEndereco": "",
            "faturamentoNumero": "",
            "faturamentoComplemento": "",
            "faturamentoBairro": "",
            "faturamentoCidade": "",
            "faturamentoUf": "",
            "faturamentoPais": "",
            "faturamentoPontoRef1": "",
            "faturamentoPontoRef2": "",
            "urlContatos": "/contatos/1",
            "contatos": []
        },
        {
            "codigo": 4,
            "nome": "Cristiane e Débora Mudanças ME",
            "fantasia": "Cristiane e Débora Mudanças ME",
            "tipo": "F",
            "fisicaJuridica": "J",
            "cpfCnpj": "32.396.420/0001-25",
            "rg": "",
            "ie": "",
            "cep": "85853115",
            "endereco": "Rua Natal Graciotin",
            "numero": "636",
            "complemento": "",
            "bairro": "Vila Shalon",
            "cidade": "Foz do Iguaçu",
            "uf": "PR",
            "pais": "",
            "telefone1": "(45) 3570-3111",
            "telefone2": "",
            "fax": "",
            "entregaCep": "",
            "entregaEndereco": "",
            "entregaNumero": "",
            "entregaComplemento": "",
            "entregaBairro": "",
            "entregaCidade": "",
            "entregaUf": "",
            "entregaPais": "",
            "entregaPontoRef1": "",
            "entregaPontoRef2": "",
            "faturamentoCep": "85853115",
            "faturamentoEndereco": "",
            "faturamentoNumero": "",
            "faturamentoComplemento": "",
            "faturamentoBairro": "",
            "faturamentoCidade": "",
            "faturamentoUf": "",
            "faturamentoPais": "",
            "faturamentoPontoRef1": "",
            "faturamentoPontoRef2": "",
            "urlContatos": "/contatos/4",
            "contatos": []
        },
        {
            "codigo": 11,
            "nome": "Daniel Santos",
            "fantasia": "",
            "tipo": "C",
            "fisicaJuridica": "F",
            "cpfCnpj": "903.366.985-42",
            "rg": "",
            "ie": "",
            "cep": "83203570",
            "endereco": "Travessa Rotary ",
            "numero": "553",
            "complemento": "",
            "bairro": "",
            "cidade": "",
            "uf": "",
            "pais": "",
            "telefone1": "",
            "telefone2": "",
            "fax": "",
            "entregaCep": "",
            "entregaEndereco": "",
            "entregaNumero": "",
            "entregaComplemento": "",
            "entregaBairro": "",
            "entregaCidade": "",
            "entregaUf": "",
            "entregaPais": "",
            "entregaPontoRef1": "",
            "entregaPontoRef2": "",
            "faturamentoCep": "83203570",
            "faturamentoEndereco": "",
            "faturamentoNumero": "",
            "faturamentoComplemento": "",
            "faturamentoBairro": "",
            "faturamentoCidade": "",
            "faturamentoUf": "",
            "faturamentoPais": "",
            "faturamentoPontoRef1": "",
            "faturamentoPontoRef2": "",
            "urlContatos": "/contatos/11",
            "contatos": [
                {
                    "nome": "Daniel",
                    "sexo": "",
                    "cargo": "",
                    "diaAniversario": 0,
                    "mesAniversario": "",
                    "anoAniversario": 0,
                    "telefone": "",
                    "ramal": "",
                    "tipoEmail": "E",
                    "email": ""
                }
            ]
        },
        {
            "codigo": 8,
            "nome": "Eduarda Pinto",
            "fantasia": "Eduarda Pinto",
            "tipo": "C",
            "fisicaJuridica": "F",
            "cpfCnpj": "277.447.362-49",
            "rg": "",
            "ie": "",
            "cep": "33146070",
            "endereco": "Rua Oito ",
            "numero": "1392",
            "complemento": "",
            "bairro": "",
            "cidade": "Santa Luzia",
            "uf": "MG",
            "pais": "",
            "telefone1": "(31) 7475-8094",
            "telefone2": "",
            "fax": "",
            "entregaCep": "",
            "entregaEndereco": "",
            "entregaNumero": "",
            "entregaComplemento": "",
            "entregaBairro": "",
            "entregaCidade": "",
            "entregaUf": "",
            "entregaPais": "",
            "entregaPontoRef1": "",
            "entregaPontoRef2": "",
            "faturamentoCep": "33146070",
            "faturamentoEndereco": "",
            "faturamentoNumero": "",
            "faturamentoComplemento": "",
            "faturamentoBairro": "",
            "faturamentoCidade": "",
            "faturamentoUf": "",
            "faturamentoPais": "",
            "faturamentoPontoRef1": "",
            "faturamentoPontoRef2": "",
            "urlContatos": "/contatos/8",
            "contatos": [
                {
                    "nome": "Eduarda",
                    "sexo": "",
                    "cargo": "",
                    "diaAniversario": 0,
                    "mesAniversario": "",
                    "anoAniversario": 0,
                    "telefone": "",
                    "ramal": "",
                    "tipoEmail": "E",
                    "email": "eduardagoncalvespinto@einrot.com"
                }
            ]
        },
        {
            "codigo": 19,
            "nome": "Eduarda Santos",
            "fantasia": "",
            "tipo": "C",
            "fisicaJuridica": "F",
            "cpfCnpj": "835.935.994-65",
            "rg": "",
            "ie": "",
            "cep": "",
            "endereco": "",
            "numero": "",
            "complemento": "",
            "bairro": "",
            "cidade": "",
            "uf": "",
            "pais": "",
            "telefone1": "",
            "telefone2": "",
            "fax": "",
            "entregaCep": "",
            "entregaEndereco": "",
            "entregaNumero": "",
            "entregaComplemento": "",
            "entregaBairro": "",
            "entregaCidade": "",
            "entregaUf": "",
            "entregaPais": "",
            "entregaPontoRef1": "",
            "entregaPontoRef2": "",
            "faturamentoCep": "",
            "faturamentoEndereco": "",
            "faturamentoNumero": "",
            "faturamentoComplemento": "",
            "faturamentoBairro": "",
            "faturamentoCidade": "",
            "faturamentoUf": "",
            "faturamentoPais": "",
            "faturamentoPontoRef1": "",
            "faturamentoPontoRef2": "",
            "urlContatos": "/contatos/19",
            "contatos": [
                {
                    "nome": "Eduarda",
                    "sexo": "",
                    "cargo": "",
                    "diaAniversario": 0,
                    "mesAniversario": "",
                    "anoAniversario": 0,
                    "telefone": "",
                    "ramal": "",
                    "tipoEmail": "E",
                    "email": ""
                }
            ]
        },
        {
            "codigo": 25,
            "nome": "Enzo Barbosa Goncalves",
            "fantasia": "",
            "tipo": "C",
            "fisicaJuridica": "F",
            "cpfCnpj": "759.527.510-59",
            "rg": "",
            "ie": "",
            "cep": "06656010",
            "endereco": "Rua Sete de Setembro",
            "numero": "1559",
            "complemento": "",
            "bairro": "Jardim Bela Vista",
            "cidade": "Itapevi",
            "uf": "SP",
            "pais": "",
            "telefone1": "",
            "telefone2": "",
            "fax": "",
            "entregaCep": "",
            "entregaEndereco": "",
            "entregaNumero": "",
            "entregaComplemento": "",
            "entregaBairro": "",
            "entregaCidade": "",
            "entregaUf": "",
            "entregaPais": "",
            "entregaPontoRef1": "",
            "entregaPontoRef2": "",
            "faturamentoCep": "06656010",
            "faturamentoEndereco": "",
            "faturamentoNumero": "",
            "faturamentoComplemento": "",
            "faturamentoBairro": "",
            "faturamentoCidade": "",
            "faturamentoUf": "",
            "faturamentoPais": "",
            "faturamentoPontoRef1": "",
            "faturamentoPontoRef2": "",
            "urlContatos": "/contatos/25",
            "contatos": [
                {
                    "nome": "Enzo",
                    "sexo": "",
                    "cargo": "",
                    "diaAniversario": 0,
                    "mesAniversario": "",
                    "anoAniversario": 0,
                    "telefone": "",
                    "ramal": "",
                    "tipoEmail": "E",
                    "email": ""
                }
            ]
        },
        {
            "codigo": 24,
            "nome": "Erick Ribeiro Santos",
            "fantasia": "",
            "tipo": "C",
            "fisicaJuridica": "F",
            "cpfCnpj": "423.543.609-08",
            "rg": "",
            "ie": "",
            "cep": "70350500",
            "endereco": "CRS 505",
            "numero": "427",
            "complemento": "",
            "bairro": "Asa Sul",
            "cidade": "Brasília",
            "uf": "DF",
            "pais": "",
            "telefone1": "",
            "telefone2": "",
            "fax": "",
            "entregaCep": "",
            "entregaEndereco": "",
            "entregaNumero": "",
            "entregaComplemento": "",
            "entregaBairro": "",
            "entregaCidade": "",
            "entregaUf": "",
            "entregaPais": "",
            "entregaPontoRef1": "",
            "entregaPontoRef2": "",
            "faturamentoCep": "70350500",
            "faturamentoEndereco": "",
            "faturamentoNumero": "",
            "faturamentoComplemento": "",
            "faturamentoBairro": "",
            "faturamentoCidade": "",
            "faturamentoUf": "",
            "faturamentoPais": "",
            "faturamentoPontoRef1": "",
            "faturamentoPontoRef2": "",
            "urlContatos": "/contatos/24",
            "contatos": [
                {
                    "nome": "Erick",
                    "sexo": "",
                    "cargo": "",
                    "diaAniversario": 0,
                    "mesAniversario": "",
                    "anoAniversario": 0,
                    "telefone": "",
                    "ramal": "",
                    "tipoEmail": "E",
                    "email": "ErickRibeiroSantos@dayrep.com"
                }
            ]
        },
        {
            "codigo": 22,
            "nome": "Estevan Castro",
            "fantasia": "",
            "tipo": "C",
            "fisicaJuridica": "F",
            "cpfCnpj": "556.860.598-02",
            "rg": "",
            "ie": "",
            "cep": "88704400",
            "endereco": "Rua Roberto Zumblick",
            "numero": "",
            "complemento": "",
            "bairro": "Humaitá",
            "cidade": "Tubarão",
            "uf": "SC",
            "pais": "",
            "telefone1": "(48) 6903-6227",
            "telefone2": "",
            "fax": "",
            "entregaCep": "",
            "entregaEndereco": "",
            "entregaNumero": "",
            "entregaComplemento": "",
            "entregaBairro": "",
            "entregaCidade": "",
            "entregaUf": "",
            "entregaPais": "",
            "entregaPontoRef1": "",
            "entregaPontoRef2": "",
            "faturamentoCep": "88704400",
            "faturamentoEndereco": "",
            "faturamentoNumero": "",
            "faturamentoComplemento": "",
            "faturamentoBairro": "",
            "faturamentoCidade": "",
            "faturamentoUf": "",
            "faturamentoPais": "",
            "faturamentoPontoRef1": "",
            "faturamentoPontoRef2": "",
            "urlContatos": "/contatos/22",
            "contatos": [
                {
                    "nome": "Estevan",
                    "sexo": "",
                    "cargo": "",
                    "diaAniversario": 0,
                    "mesAniversario": "",
                    "anoAniversario": 0,
                    "telefone": "",
                    "ramal": "",
                    "tipoEmail": "E",
                    "email": ""
                }
            ]
        },
        {
            "codigo": 12,
            "nome": "Estevan Lima Rocha",
            "fantasia": "",
            "tipo": "C",
            "fisicaJuridica": "F",
            "cpfCnpj": "834.444.522-17",
            "rg": "",
            "ie": "",
            "cep": "15043520",
            "endereco": "Rua Nabor César Siqueira ",
            "numero": "298",
            "complemento": "",
            "bairro": "",
            "cidade": "São José do Rio Preto",
            "uf": "SP",
            "pais": "",
            "telefone1": "(17) 6778-9176",
            "telefone2": "",
            "fax": "",
            "entregaCep": "",
            "entregaEndereco": "",
            "entregaNumero": "",
            "entregaComplemento": "",
            "entregaBairro": "",
            "entregaCidade": "",
            "entregaUf": "",
            "entregaPais": "",
            "entregaPontoRef1": "",
            "entregaPontoRef2": "",
            "faturamentoCep": "15043520",
            "faturamentoEndereco": "",
            "faturamentoNumero": "",
            "faturamentoComplemento": "",
            "faturamentoBairro": "",
            "faturamentoCidade": "",
            "faturamentoUf": "",
            "faturamentoPais": "",
            "faturamentoPontoRef1": "",
            "faturamentoPontoRef2": "",
            "urlContatos": "/contatos/12",
            "contatos": [
                {
                    "nome": "Estevan",
                    "sexo": "",
                    "cargo": "",
                    "diaAniversario": 0,
                    "mesAniversario": "",
                    "anoAniversario": 0,
                    "telefone": "",
                    "ramal": "",
                    "tipoEmail": "E",
                    "email": "eduardomartinsrocha@fleckens.hu"
                }
            ]
        },
        {
            "codigo": 26,
            "nome": "Fornecedor de Administradora de Cartão",
            "fantasia": "",
            "tipo": "F",
            "fisicaJuridica": "F",
            "cpfCnpj": "",
            "rg": "",
            "ie": "",
            "cep": "",
            "endereco": "",
            "numero": "",
            "complemento": "",
            "bairro": "",
            "cidade": "",
            "uf": "",
            "pais": "",
            "telefone1": "",
            "telefone2": "",
            "fax": "",
            "entregaCep": "",
            "entregaEndereco": "",
            "entregaNumero": "",
            "entregaComplemento": "",
            "entregaBairro": "",
            "entregaCidade": "",
            "entregaUf": "",
            "entregaPais": "",
            "entregaPontoRef1": "",
            "entregaPontoRef2": "",
            "faturamentoCep": "",
            "faturamentoEndereco": "",
            "faturamentoNumero": "",
            "faturamentoComplemento": "",
            "faturamentoBairro": "",
            "faturamentoCidade": "",
            "faturamentoUf": "",
            "faturamentoPais": "",
            "faturamentoPontoRef1": "",
            "faturamentoPontoRef2": "",
            "urlContatos": "/contatos/26",
            "contatos": [
                {
                    "nome": "Fornecedor",
                    "sexo": "",
                    "cargo": "",
                    "diaAniversario": 0,
                    "mesAniversario": "",
                    "anoAniversario": 0,
                    "telefone": "",
                    "ramal": "",
                    "tipoEmail": "E",
                    "email": ""
                }
            ]
        },
        {
            "codigo": 13,
            "nome": "Guilherme Amaral Teixeira",
            "fantasia": "",
            "tipo": "C",
            "fisicaJuridica": "F",
            "cpfCnpj": "240.431.659-19",
            "rg": "2.977.269",
            "ie": "",
            "cep": "70342500",
            "endereco": "Quadra CLS 103",
            "numero": "396",
            "complemento": "",
            "bairro": "Asa Sul",
            "cidade": "Brasília",
            "uf": "DF",
            "pais": "",
            "telefone1": "",
            "telefone2": "",
            "fax": "",
            "entregaCep": "",
            "entregaEndereco": "",
            "entregaNumero": "",
            "entregaComplemento": "",
            "entregaBairro": "",
            "entregaCidade": "",
            "entregaUf": "",
            "entregaPais": "",
            "entregaPontoRef1": "",
            "entregaPontoRef2": "",
            "faturamentoCep": "70342500",
            "faturamentoEndereco": "",
            "faturamentoNumero": "",
            "faturamentoComplemento": "",
            "faturamentoBairro": "",
            "faturamentoCidade": "",
            "faturamentoUf": "",
            "faturamentoPais": "",
            "faturamentoPontoRef1": "",
            "faturamentoPontoRef2": "",
            "urlContatos": "/contatos/13",
            "contatos": [
                {
                    "nome": "Guilherme",
                    "sexo": "",
                    "cargo": "",
                    "diaAniversario": 0,
                    "mesAniversario": "",
                    "anoAniversario": 0,
                    "telefone": "",
                    "ramal": "",
                    "tipoEmail": "E",
                    "email": ""
                }
            ]
        },
        {
            "codigo": 9,
            "nome": "Gustavo Goncalves",
            "fantasia": "",
            "tipo": "C",
            "fisicaJuridica": "F",
            "cpfCnpj": "285.238.652-68",
            "rg": "",
            "ie": "",
            "cep": "09910320",
            "endereco": "Rua Araruama ",
            "numero": "59",
            "complemento": "",
            "bairro": "",
            "cidade": "Diadema",
            "uf": "SP",
            "pais": "",
            "telefone1": "(11) 8832-7526",
            "telefone2": "",
            "fax": "",
            "entregaCep": "",
            "entregaEndereco": "",
            "entregaNumero": "",
            "entregaComplemento": "",
            "entregaBairro": "",
            "entregaCidade": "",
            "entregaUf": "",
            "entregaPais": "",
            "entregaPontoRef1": "",
            "entregaPontoRef2": "",
            "faturamentoCep": "09910320",
            "faturamentoEndereco": "",
            "faturamentoNumero": "",
            "faturamentoComplemento": "",
            "faturamentoBairro": "",
            "faturamentoCidade": "",
            "faturamentoUf": "",
            "faturamentoPais": "",
            "faturamentoPontoRef1": "",
            "faturamentoPontoRef2": "",
            "urlContatos": "/contatos/9",
            "contatos": [
                {
                    "nome": "Gustavo",
                    "sexo": "",
                    "cargo": "",
                    "diaAniversario": 0,
                    "mesAniversario": "",
                    "anoAniversario": 0,
                    "telefone": "",
                    "ramal": "",
                    "tipoEmail": "E",
                    "email": ""
                },
                {
                    "nome": "gustavoferreiragoncalves@super",
                    "sexo": "",
                    "cargo": "",
                    "diaAniversario": 0,
                    "mesAniversario": "",
                    "anoAniversario": 0,
                    "telefone": "",
                    "ramal": "",
                    "tipoEmail": "E",
                    "email": "gustavoferreiragoncalves@superrito.com"
                }
            ]
        },
        {
            "codigo": 21,
            "nome": "Kauã Martins",
            "fantasia": "",
            "tipo": "C",
            "fisicaJuridica": "F",
            "cpfCnpj": "",
            "rg": "",
            "ie": "",
            "cep": "",
            "endereco": "",
            "numero": "",
            "complemento": "",
            "bairro": "",
            "cidade": "",
            "uf": "",
            "pais": "",
            "telefone1": "",
            "telefone2": "",
            "fax": "",
            "entregaCep": "",
            "entregaEndereco": "",
            "entregaNumero": "",
            "entregaComplemento": "",
            "entregaBairro": "",
            "entregaCidade": "",
            "entregaUf": "",
            "entregaPais": "",
            "entregaPontoRef1": "",
            "entregaPontoRef2": "",
            "faturamentoCep": "",
            "faturamentoEndereco": "",
            "faturamentoNumero": "",
            "faturamentoComplemento": "",
            "faturamentoBairro": "",
            "faturamentoCidade": "",
            "faturamentoUf": "",
            "faturamentoPais": "",
            "faturamentoPontoRef1": "",
            "faturamentoPontoRef2": "",
            "urlContatos": "/contatos/21",
            "contatos": [
                {
                    "nome": "Kauã",
                    "sexo": "",
                    "cargo": "",
                    "diaAniversario": 0,
                    "mesAniversario": "",
                    "anoAniversario": 0,
                    "telefone": "",
                    "ramal": "",
                    "tipoEmail": "E",
                    "email": ""
                }
            ]
        },
        {
            "codigo": 5,
            "nome": "Kesia Lemos",
            "fantasia": "",
            "tipo": "C",
            "fisicaJuridica": "F",
            "cpfCnpj": "736.401.230-34",
            "rg": "",
            "ie": "",
            "cep": "",
            "endereco": "",
            "numero": "",
            "complemento": "",
            "bairro": "",
            "cidade": "",
            "uf": "",
            "pais": "",
            "telefone1": "",
            "telefone2": "",
            "fax": "",
            "entregaCep": "",
            "entregaEndereco": "",
            "entregaNumero": "",
            "entregaComplemento": "",
            "entregaBairro": "",
            "entregaCidade": "",
            "entregaUf": "",
            "entregaPais": "",
            "entregaPontoRef1": "",
            "entregaPontoRef2": "",
            "faturamentoCep": "",
            "faturamentoEndereco": "",
            "faturamentoNumero": "",
            "faturamentoComplemento": "",
            "faturamentoBairro": "",
            "faturamentoCidade": "",
            "faturamentoUf": "",
            "faturamentoPais": "",
            "faturamentoPontoRef1": "",
            "faturamentoPontoRef2": "",
            "urlContatos": "/contatos/5",
            "contatos": [
                {
                    "nome": "Kesia",
                    "sexo": "",
                    "cargo": "",
                    "diaAniversario": 0,
                    "mesAniversario": "",
                    "anoAniversario": 0,
                    "telefone": "",
                    "ramal": "",
                    "tipoEmail": "E",
                    "email": ""
                }
            ]
        },
        {
            "codigo": 10,
            "nome": "Kevin Watts",
            "fantasia": "",
            "tipo": "C",
            "fisicaJuridica": "F",
            "cpfCnpj": "884.334.947-32",
            "rg": "",
            "ie": "",
            "cep": "",
            "endereco": "",
            "numero": "",
            "complemento": "",
            "bairro": "",
            "cidade": "",
            "uf": "",
            "pais": "",
            "telefone1": "(11) 5578-2520",
            "telefone2": "",
            "fax": "",
            "entregaCep": "",
            "entregaEndereco": "",
            "entregaNumero": "",
            "entregaComplemento": "",
            "entregaBairro": "",
            "entregaCidade": "",
            "entregaUf": "",
            "entregaPais": "",
            "entregaPontoRef1": "",
            "entregaPontoRef2": "",
            "faturamentoCep": "",
            "faturamentoEndereco": "",
            "faturamentoNumero": "",
            "faturamentoComplemento": "",
            "faturamentoBairro": "",
            "faturamentoCidade": "",
            "faturamentoUf": "",
            "faturamentoPais": "",
            "faturamentoPontoRef1": "",
            "faturamentoPontoRef2": "",
            "urlContatos": "/contatos/10",
            "contatos": [
                {
                    "nome": "Kevin",
                    "sexo": "",
                    "cargo": "",
                    "diaAniversario": 0,
                    "mesAniversario": "",
                    "anoAniversario": 0,
                    "telefone": "",
                    "ramal": "",
                    "tipoEmail": "E",
                    "email": ""
                }
            ]
        },
        {
            "codigo": 17,
            "nome": "Leonor Melo",
            "fantasia": "",
            "tipo": "C",
            "fisicaJuridica": "F",
            "cpfCnpj": "675.325.380-79",
            "rg": "",
            "ie": "",
            "cep": "29041325",
            "endereco": "Escadaria Ana Maria Pinto",
            "numero": "359",
            "complemento": "",
            "bairro": "Romão",
            "cidade": "Vitória",
            "uf": "ES",
            "pais": "",
            "telefone1": "(27) 3211-6505",
            "telefone2": "",
            "fax": "",
            "entregaCep": "",
            "entregaEndereco": "",
            "entregaNumero": "",
            "entregaComplemento": "",
            "entregaBairro": "",
            "entregaCidade": "",
            "entregaUf": "",
            "entregaPais": "",
            "entregaPontoRef1": "",
            "entregaPontoRef2": "",
            "faturamentoCep": "29041325",
            "faturamentoEndereco": "",
            "faturamentoNumero": "",
            "faturamentoComplemento": "",
            "faturamentoBairro": "",
            "faturamentoCidade": "",
            "faturamentoUf": "",
            "faturamentoPais": "",
            "faturamentoPontoRef1": "",
            "faturamentoPontoRef2": "",
            "urlContatos": "/contatos/17",
            "contatos": [
                {
                    "nome": "Leonor",
                    "sexo": "",
                    "cargo": "",
                    "diaAniversario": 0,
                    "mesAniversario": "",
                    "anoAniversario": 0,
                    "telefone": "",
                    "ramal": "",
                    "tipoEmail": "E",
                    "email": "leonorsousamelo@superrito.com"
                }
            ]
        },
        {
            "codigo": 14,
            "nome": "Matheus Gomes Teixeira",
            "fantasia": "",
            "tipo": "C",
            "fisicaJuridica": "F",
            "cpfCnpj": "567.982.358-67",
            "rg": "418757896",
            "ie": "",
            "cep": "31210440",
            "endereco": "Rua Anfibólios",
            "numero": "323",
            "complemento": "",
            "bairro": "Bonfim",
            "cidade": "Belo Horizonte",
            "uf": "MG",
            "pais": "",
            "telefone1": "3128557267",
            "telefone2": "",
            "fax": "",
            "entregaCep": "",
            "entregaEndereco": "",
            "entregaNumero": "",
            "entregaComplemento": "",
            "entregaBairro": "",
            "entregaCidade": "",
            "entregaUf": "",
            "entregaPais": "",
            "entregaPontoRef1": "",
            "entregaPontoRef2": "",
            "faturamentoCep": "31210440",
            "faturamentoEndereco": "",
            "faturamentoNumero": "",
            "faturamentoComplemento": "",
            "faturamentoBairro": "",
            "faturamentoCidade": "",
            "faturamentoUf": "",
            "faturamentoPais": "",
            "faturamentoPontoRef1": "",
            "faturamentoPontoRef2": "",
            "urlContatos": "/contatos/14",
            "contatos": [
                {
                    "nome": "Matheus",
                    "sexo": "",
                    "cargo": "",
                    "diaAniversario": 0,
                    "mesAniversario": "",
                    "anoAniversario": 0,
                    "telefone": "",
                    "ramal": "",
                    "tipoEmail": "E",
                    "email": ""
                }
            ]
        },
        {
            "codigo": 15,
            "nome": "Mauro Machado Ducati",
            "fantasia": "",
            "tipo": "C",
            "fisicaJuridica": "F",
            "cpfCnpj": "920.228.149-16",
            "rg": "911225341",
            "ie": "",
            "cep": "01007040",
            "endereco": "Parque Anhangabaú",
            "numero": "487",
            "complemento": "",
            "bairro": "Centro",
            "cidade": "São Paulo",
            "uf": "SP",
            "pais": "",
            "telefone1": "1133861352",
            "telefone2": "",
            "fax": "",
            "entregaCep": "",
            "entregaEndereco": "",
            "entregaNumero": "",
            "entregaComplemento": "",
            "entregaBairro": "",
            "entregaCidade": "",
            "entregaUf": "",
            "entregaPais": "",
            "entregaPontoRef1": "",
            "entregaPontoRef2": "",
            "faturamentoCep": "01007040",
            "faturamentoEndereco": "",
            "faturamentoNumero": "",
            "faturamentoComplemento": "",
            "faturamentoBairro": "",
            "faturamentoCidade": "",
            "faturamentoUf": "",
            "faturamentoPais": "",
            "faturamentoPontoRef1": "",
            "faturamentoPontoRef2": "",
            "urlContatos": "/contatos/15",
            "contatos": [
                {
                    "nome": "Mauro",
                    "sexo": "",
                    "cargo": "",
                    "diaAniversario": 0,
                    "mesAniversario": "",
                    "anoAniversario": 0,
                    "telefone": "",
                    "ramal": "",
                    "tipoEmail": "E",
                    "email": ""
                }
            ]
        }
    ]
}								
							

 

Foram retornados 20 registros de clientes, cada um com a sua lista de contatos cadastrados. Caso seja feita uma requisição para uma página que não há clientes, o serviço retornará uma resposta onde o campo sucesso será falso, com o tipo do erro FIM_DE_PAGINA:

 

Requisição

GET /clientes/99
CodFilial: 1
Authorization: Token SElFQVBBLTYwMDc1OS1ST0NUMDAwMQ0KYWRtaW4NCjYzNjg4NTkzMjc4NjY3MDMzNA0KUG9zdG1hblJ1bnRpbWUvNy42LjE=:C1wFGwHL75djY+Z9ZlmlHxsewqxzYFz1axOUKlRSMdo=
Signature: /BBAkSX/T5W6jN+/RZ3kRoLOdg884GM9Ymki1F5tyiY=
Timestamp: 1552996499
cache-control: no-cache
Accept: */*
Host: idealsoftexportaweb.eastus.cloudapp.azure.com:60500
accept-encoding: gzip, deflate

 

Resposta

HTTP/1.1 200
status: 200
Transfer-Encoding: chunked
Content-Type: application/json; charset=utf-8
Server: Microsoft-HTTPAPI/2.0
Date: Tue, 19 Mar 2019 11:55:02 GMT
Clique para visualizar o conteúdo completo
								
									{
    "sucesso": false,
    "mensagem": "Não há registros disponíveis na página requisitada.",
    "tipo": "FIM_DE_PAGINA",
    "complementoTipo": "",
    "statusCode": 417,
    "dados": null
}								
							

 

Cadastros filtrados por data de alteração

Após pegar o cadastro de clientes e fornecedores completo, é importante manter os cadastros atualizados. O serviço também suporta fazer o filtro da data de alteração dos cadastros. Vamos supor que a última vez que sincronizei os cadastros foi dia 20/02/2019 e que quero os cadastros que foram alterados em uma semana:

 

Requisição

GET /clientes/1?dataate=2019-02-27&datade=2019-02-20
CodFilial: 1
Authorization: Token SElFQVBBLTYwMDc1OS1ST0NUMDAwMQ0KYWRtaW4NCjYzNjg4NTkzMjc4NjY3MDMzNA0KUG9zdG1hblJ1bnRpbWUvNy42LjE=:C1wFGwHL75djY+Z9ZlmlHxsewqxzYFz1axOUKlRSMdo=
Signature: iQvq6MnFr0aJD704ELEBBK28Zj7lbOdsnhYCpmr7Uzs=
Timestamp: 1552997193
cache-control: no-cache
Postman-Token: cb69e1e4-d2ec-48ed-9ec7-35a4580462b3
User-Agent: PostmanRuntime/7.6.1
Accept: */*
Host: idealsoftexportaweb.eastus.cloudapp.azure.com:60500
accept-encoding: gzip, deflate

 

Resposta

HTTP/1.1 200
status: 200
Transfer-Encoding: chunked
Content-Type: application/json; charset=utf-8
Server: Microsoft-HTTPAPI/2.0
Date: Tue, 19 Mar 2019 12:06:33 GMT
Clique para visualizar o conteúdo completo
								
									{
    "sucesso": true,
    "mensagem": null,
    "tipo": null,
    "complementoTipo": null,
    "statusCode": 200,
    "dados": [
        {
            "codigo": 26,
            "nome": "Fornecedor de Administradora de Cartão",
            "fantasia": "",
            "tipo": "F",
            "fisicaJuridica": "F",
            "cpfCnpj": "",
            "rg": "",
            "ie": "",
            "cep": "",
            "endereco": "",
            "numero": "",
            "complemento": "",
            "bairro": "",
            "cidade": "",
            "uf": "",
            "pais": "",
            "telefone1": "",
            "telefone2": "",
            "fax": "",
            "entregaCep": "",
            "entregaEndereco": "",
            "entregaNumero": "",
            "entregaComplemento": "",
            "entregaBairro": "",
            "entregaCidade": "",
            "entregaUf": "",
            "entregaPais": "",
            "entregaPontoRef1": "",
            "entregaPontoRef2": "",
            "faturamentoCep": "",
            "faturamentoEndereco": "",
            "faturamentoNumero": "",
            "faturamentoComplemento": "",
            "faturamentoBairro": "",
            "faturamentoCidade": "",
            "faturamentoUf": "",
            "faturamentoPais": "",
            "faturamentoPontoRef1": "",
            "faturamentoPontoRef2": "",
            "urlContatos": "/contatos/26",
            "contatos": [
                {
                    "nome": "Fornecedor",
                    "sexo": "",
                    "cargo": "",
                    "diaAniversario": 0,
                    "mesAniversario": "",
                    "anoAniversario": 0,
                    "telefone": "",
                    "ramal": "",
                    "tipoEmail": "E",
                    "email": ""
                }
            ]
        }
    ]
}
								
							

 

Apenas o fornecedor “26 – Fornecedor de Administradora de Cartão” foi cadastrado ou alterado.

 

Detalhes de um único cadastro
Também há a possibilidade de pegar os dados de apenas um cadastro específico, passando o código do cliente / fornecedor para o serviço /clientes/detalhes. Vamos supor que o cliente de código “2” fez uma compra na sua loja virtual e você quer garantir que o endereço de entrega é o mesmo que foi cadastrado no Shop Control 9:

 

Requisição

GET /clientes/detalhes/2
CodFilial: 1
Authorization: Token SElFQVBBLTYwMDc1OS1ST0NUMDAwMQ0KYWRtaW4NCjYzNjg4NTkzMjc4NjY3MDMzNA0KUG9zdG1hblJ1bnRpbWUvNy42LjE=:C1wFGwHL75djY+Z9ZlmlHxsewqxzYFz1axOUKlRSMdo=
Signature: 6lVVlNt4eQa5ZA+bqGl1cSl1iPhP5j6KYDPQ/HwDsi0=
Timestamp: 1552997521
cache-control: no-cache
Accept: */*
Host: idealsoftexportaweb.eastus.cloudapp.azure.com:60500
accept-encoding: gzip, deflate

 

Resposta

HTTP/1.1 200
status: 200
Transfer-Encoding: chunked
Content-Type: application/json; charset=utf-8
Server: Microsoft-HTTPAPI/2.0
Date: Tue, 19 Mar 2019 12:12:04 GMT
Clique para visualizar o conteúdo completo
								
									{
    "sucesso": true,
    "mensagem": null,
    "tipo": null,
    "complementoTipo": null,
    "statusCode": 200,
    "dados": {
        "codigo": 2,
        "nome": "Bernardo Miguel Fernando da Silva",
        "fantasia": "",
        "tipo": "C",
        "fisicaJuridica": "F",
        "cpfCnpj": "794.895.670-00",
        "rg": "16.459.737-2",
        "ie": "",
        "cep": "78705800",
        "endereco": "Rua Goiás",
        "numero": "497",
        "complemento": "",
        "bairro": "Vila Adriana",
        "cidade": "Rondonópolis",
        "uf": "MT",
        "pais": "BRASIL",
        "telefone1": "(66) 2693-3906",
        "telefone2": "",
        "fax": "",
        "entregaCep": "",
        "entregaEndereco": "",
        "entregaNumero": "",
        "entregaComplemento": "",
        "entregaBairro": "",
        "entregaCidade": "",
        "entregaUf": "",
        "entregaPais": "",
        "entregaPontoRef1": "",
        "entregaPontoRef2": "",
        "faturamentoCep": "78705800",
        "faturamentoEndereco": "",
        "faturamentoNumero": "",
        "faturamentoComplemento": "",
        "faturamentoBairro": "",
        "faturamentoCidade": "",
        "faturamentoUf": "",
        "faturamentoPais": "",
        "faturamentoPontoRef1": "",
        "faturamentoPontoRef2": "",
        "urlContatos": "/contatos/2",
        "contatos": [
            {
                "nome": "Email",
                "sexo": "M",
                "cargo": "",
                "diaAniversario": 0,
                "mesAniversario": "",
                "anoAniversario": 0,
                "telefone": "",
                "ramal": "",
                "tipoEmail": "E",
                "email": "bernardomiguelfernandodasilva_@metododerose.org"
            }
        ]
    }
}
								
							

 

Caso seja informado um cliente inexistente o serviço responderá com o campo sucesso como falso e o statusCode 404:

 

Requisição

GET /clientes/detalhes/2232
CodFilial: 1
Authorization: Token SElFQVBBLTYwMDc1OS1ST0NUMDAwMQ0KYWRtaW4NCjYzNjg4NTkzMjc4NjY3MDMzNA0KUG9zdG1hblJ1bnRpbWUvNy42LjE=:C1wFGwHL75djY+Z9ZlmlHxsewqxzYFz1axOUKlRSMdo=
Signature: a8QaGHhdu/D6unvLNQrbnDY6G+IcpNLhueLw35ETnK0=
Timestamp: 1552999560
cache-control: no-cache
Accept: */*
Host: idealsoftexportaweb.eastus.cloudapp.azure.com:60500
accept-encoding: gzip, deflate

 

Resposta

HTTP/1.1 200
status: 200
Transfer-Encoding: chunked
Content-Type: application/json; charset=utf-8
Server: Microsoft-HTTPAPI/2.0
Date: Tue, 19 Mar 2019 12:46:03 GMT
Clique para visualizar o conteúdo completo
								
									{
    "sucesso": false,
    "mensagem": "Cliente não encontrado",
    "tipo": "REGISTRO_NAO_ENCONTRADO",
    "complementoTipo": "",
    "statusCode": 404,
    "dados": null
}								
							

 

Contatos de um cliente
No Shop Control 9, um cadastro de cliente pode ter várias pessoas de contato cadastradas, cada uma delas com um e-mail, telefone e dados cadastrais diferentes. É importante manter estes dados atualizados para ferramentas que utilizem esse tipo de informação, como por exemplo o envio de e-mails e SMS automatizados. É possível trazer os contatos de um cliente específico, passando o código:

 

Requisição

GET /clientes/contatos/3
CodFilial: 1
Authorization: Token SElFQVBBLTYwMDc1OS1ST0NUMDAwMQ0KYWRtaW4NCjYzNjg4NTkzMjc4NjY3MDMzNA0KUG9zdG1hblJ1bnRpbWUvNy42LjE=:C1wFGwHL75djY+Z9ZlmlHxsewqxzYFz1axOUKlRSMdo=
Signature: 7dLVdcSkieClroQNmke/DBlzJ35Tb0dbW0x5UeypHEY=
Timestamp: 1552999953
cache-control: no-cache
Accept: */*
Host: idealsoftexportaweb.eastus.cloudapp.azure.com:60500
accept-encoding: gzip, deflate

 

Resposta

HTTP/1.1 200
status: 200
Transfer-Encoding: chunked
Content-Type: application/json; charset=utf-8
Server: Microsoft-HTTPAPI/2.0
Date: Tue, 19 Mar 2019 12:52:33 GMT
Clique para visualizar o conteúdo completo
								
									{
    "sucesso": true,
    "mensagem": null,
    "tipo": null,
    "complementoTipo": null,
    "statusCode": 200,
    "dados": [
        {
            "nome": "Nelson Kauê Dias",
            "sexo": "M",
            "cargo": "",
            "diaAniversario": 6,
            "mesAniversario": "JUN",
            "anoAniversario": 1987,
            "telefone": "(68) 98671-9847",
            "ramal": "",
            "tipoEmail": "P",
            "email": "nelsonkauedias_@icloud.com"
        }
    ]
}
								
							

 

Contatos alterados em um período
Também é possível trazer todos os contatos atualizados em um período:

 

Requisição

GET /clientes/contatos/?dataate=2019-02-27&datade=2019-01-25
CodFilial: 1
Authorization: Token SElFQVBBLTYwMDc1OS1ST0NUMDAwMQ0KYWRtaW4NCjYzNjg4NTkzMjc4NjY3MDMzNA0KUG9zdG1hblJ1bnRpbWUvNy42LjE=:C1wFGwHL75djY+Z9ZlmlHxsewqxzYFz1axOUKlRSMdo=
Signature: V7qW6eCTFXie4E/K7X9q7pgaXXCiu1k+XDNAtq/B1hM=
Timestamp: 1553000193
cache-control: no-cache
Accept: */*
Host: idealsoftexportaweb.eastus.cloudapp.azure.com:60500
accept-encoding: gzip, deflate

 

Resposta

HTTP/1.1 200
status: 200
Transfer-Encoding: chunked
Content-Type: application/json; charset=utf-8
Server: Microsoft-HTTPAPI/2.0
Date: Tue, 19 Mar 2019 12:56:33 GMT
Clique para visualizar o conteúdo completo
								
									{
    "sucesso": true,
    "mensagem": null,
    "tipo": null,
    "complementoTipo": null,
    "statusCode": 200,
    "dados": [
        {
            "codigoCliente": 26,
            "contatos": [
                {
                    "sexo": "",
                    "cargo": "",
                    "diaAniversario": 0,
                    "mesAniversario": "",
                    "anoAniversario": 0,
                    "telefone": "",
                    "ramal": "",
                    "tipoEmail": "E",
                    "email": "",
                    "ordem": 24,
                    "codigo": 26,
                    "nome": "Fornecedor"
                }
            ]
        }
    ]
}								
							

 

Cadastrando um cliente
O serviço também permite o cadastro de novos clientes. Ao fazer a requisição com os dados preenchidos com sucesso é retornado o código cadastrado no Shop Control 9. O código utilizado é sempre o próximo código disponível.

 

Requisição

POST /clientes/
CodFilial: 1
Authorization: Token SElFQVBBLTYwMDc1OS1ST0NUMDAwMQ0KYWRtaW4NCjYzNjg4ODUxODI0Mzc4NjM3NA0KUG9zdG1hblJ1bnRpbWUvNy42LjE=:EGnJhri+zyEy2UMymgYZ6VZ0I+3slqze+A8mSNMwr78=
Signature: 4ogNs3XU6vKeEw+ul9tiHDiAS5sFC0+lxzorSOjosIA=
Timestamp: 1553255127
Content-Type: application/json
cache-control: no-cache
Accept: */*
Host: idealsoftexportaweb.eastus.cloudapp.azure.com:60500
accept-encoding: gzip, deflate
content-length: 1010
Clique para visualizar o conteúdo completo
								
									{
  "Nome": "Postman Cliente #2",
  "Fantasia": "Exporta Web #2",
  "Tipo": "C",
  "FisicaJuridica": "F",
  "CpfCnpj": "16025717087",
  "Rg": "179810467",
  "Ie": "ISENTO",
  "Cep": 82515000,
  "Endereco": "Av. Pref. Erasto Gaertner",
  "Numero": 2500,
  "Complemento": "Bl 131",
  "Bairro": "Bacacheri",
  "Cidade": "Curitiba",
  "Uf": "PR",
  "Pais": "",
  "Telefone1": "41992279389",
  "Telefone2": null,
  "Fax": null,
  "EntregaCep": null,
  "EntregaEndereco": null,
  "EntregaNumero": null,
  "EntregaComplemento": null,
  "EntregaBairro": null,
  "EntregaCidade": null,
  "EntregaUf": null,
  "EntregaPais": null,
  "EntregaPontoRef1": null,
  "EntregaPontoRef2": null,
  "FaturamentoCep": null,
  "FaturamentoEndereco": null,
  "FaturamentoNumero": null,
  "FaturamentoComplemento": null,
  "FaturamentoBairro": null,
  "FaturamentoCidade": null,
  "FaturamentoUf": null,
  "FaturamentoPais": null,
  "FaturamentoPontoRef1": null,
  "FaturamentoPontoRef2": null
}								
							

 

Resposta

HTTP/1.1 200
status: 200
Transfer-Encoding: chunked
Content-Type: application/json; charset=utf-8
Server: Microsoft-HTTPAPI/2.0
Date: Fri, 22 Mar 2019 11:45:31 GMT
Clique para visualizar o conteúdo completo
								
									{
  "sucesso": true,
  "mensagem": null,
  "tipo": null,
  "complementoTipo": null,
  "statusCode": 200,
  "dados": {
    "codigoGerado": 28
  }
}								
							

 

Cadastrando contatos para um cliente
Também há a possibilidade de cadastrar contatos para um cliente. Vamos pegar o cliente que cadastramos agora e cadastrar dois contatos, passando o código como parâmetro na URL:

 

Requisição

POST /clientes/contatos/28
CodFilial: 1
Authorization: Token SElFQVBBLTYwMDc1OS1ST0NUMDAwMQ0KYWRtaW4NCjYzNjg4ODY3MzAwOTEyNTE1OA0KUG9zdG1hblJ1bnRpbWUvNy42LjE=:8YUzqB78ff6TmhgYBabl44/RfDKelZxyTELlbtyD3wg=
Signature: gvOMzbWHMNl0VIrQcO+KxDetbLQIATLlQf1UuyL4gu0=
Timestamp: 1553270559
Content-Type: application/json; charset=UTF-8
cache-control: no-cache
Accept: */*
Host: idealsoftexportaweb.eastus.cloudapp.azure.com:60500
accept-encoding: gzip, deflate
content-length: 639
Clique para visualizar o conteúdo completo
								
									[
    {
        "Nome": "João da Silva",
        "Sexo": null,
        "Cargo": null,
        "DiaAniversario": 20,
        "MesAniversario": "JAN",
        "AnoAniversario": 1977,
        "Telefone": null,
        "Ramal": null,
        "TipoEmail": null,
        "Email": "joaosilva@terra.com.br"
    },
    {
        "Nome": "Pedro Nascimento",
        "Sexo": null,
        "Cargo": null,
        "DiaAniversario": 11,
        "MesAniversario": "MAI",
        "AnoAniversario": 1901,
        "Telefone": null,
        "Ramal": null,
        "TipoEmail": null,
        "Email": "pedro@gtstintas.com.br"
    }
]								
							

 

Resposta

HTTP/1.1 200
status: 200
Transfer-Encoding: chunked
Content-Type: text/html
Server: Microsoft-HTTPAPI/2.0
Date: Fri, 22 Mar 2019 16:02:41 GMT

 

Nesse caso a resposta 200 já nos diz que os cadastros foram inseridos com sucesso.

Caso seja enviado um código inexistente para o serviço, é retornado erro:

 

Requisição

POST /clientes/contatos/2832323
CodFilial: 1
Authorization: Token SElFQVBBLTYwMDc1OS1ST0NUMDAwMQ0KYWRtaW4NCjYzNjg4ODY3MzAwOTEyNTE1OA0KUG9zdG1hblJ1bnRpbWUvNy42LjE=:8YUzqB78ff6TmhgYBabl44/RfDKelZxyTELlbtyD3wg=
Signature: S5kCS/qviAdcFiCrWbnwRMg5TlVTAvWHgo9E6rBkYEU=
Timestamp: 1553270803
Content-Type: application/json; charset=UTF-8
cache-control: no-cache
Accept: */*
Host: idealsoftexportaweb.eastus.cloudapp.azure.com:60500
accept-encoding: gzip, deflate
content-length: 639
Clique para visualizar o conteúdo completo
								
									[
    {
        "Nome": "João da Silva",
        "Sexo": null,
        "Cargo": null,
        "DiaAniversario": 20,
        "MesAniversario": "JAN",
        "AnoAniversario": 1977,
        "Telefone": null,
        "Ramal": null,
        "TipoEmail": null,
        "Email": "joaosilva@terra.com.br"
    },
    {
        "Nome": "Pedro Nascimento",
        "Sexo": null,
        "Cargo": null,
        "DiaAniversario": 11,
        "MesAniversario": "MAI",
        "AnoAniversario": 1901,
        "Telefone": null,
        "Ramal": null,
        "TipoEmail": null,
        "Email": "pedro@gtstintas.com.br"
    }
]
								
							

 

Resposta

HTTP/1.1 200
status: 200
Transfer-Encoding: chunked
Content-Type: application/json; charset=utf-8
Server: Microsoft-HTTPAPI/2.0
Date: Fri, 22 Mar 2019 16:06:43 GMT
Clique para visualizar o conteúdo completo
								
									{
    "sucesso": false,
    "mensagem": "Cliente não encontrado",
    "tipo": "REGISTRO_NAO_ENCONTRADO",
    "complementoTipo": "",
    "statusCode": 404,
    "dados": null
}								
							

Cadastro de Produtos

Consultando produtos de forma paginada
Assim como a consulta de clientes e fornecedores, a consulta de produtos também é paginada.

 

Requisição

GET /produtos/1
CodFilial: 1
Authorization: Token SElFQVBBLTYwMDc1OS1ST0NUMDAwMQ0KYWRtaW4NCjYzNjg4ODY3MzAwOTEyNTE1OA0KUG9zdG1hblJ1bnRpbWUvNy42LjE=:8YUzqB78ff6TmhgYBabl44/RfDKelZxyTELlbtyD3wg=
Signature: v9PTJ0FtozWggLVsUolS3j8TvPzjNguYWBXCTOwuEes=
Timestamp: 1553274406
cache-control: no-cache
Postman-Token: 70d0fb6a-5b26-4319-8330-e738c28b0452
User-Agent: PostmanRuntime/7.6.1
Accept: */*
Host: idealsoftexportaweb.eastus.cloudapp.azure.com:60500
accept-encoding: gzip, deflate

 

Resposta

HTTP/1.1 200
status: 200
Transfer-Encoding: chunked
Content-Type: application/json; charset=utf-8
Server: Microsoft-HTTPAPI/2.0
Date: Fri, 22 Mar 2019 17:06:48 GMT
Clique para visualizar o conteúdo completo
								
									
{
    "sucesso": true,
    "mensagem": null,
    "tipo": null,
    "complementoTipo": null,
    "statusCode": 200,
    "dados": [
        {
            "ordem": 3,
            "codigo": "3",
            "nome": "Base Mary Kay",
            "observacao1": "",
            "observacao2": "",
            "observacao3": "",
            "tipo": 0,
            "codigoClasse": 2,
            "codigoSubclasse": 3,
            "codigoCor": null,
            "codigoTamanho": null,
            "codigoGrupo": 0,
            "codigoMoeda": 1,
            "codigoFamilia": 0,
            "codigoUnidadeVenda": 1,
            "codigoPesquisa1": null,
            "codigoPesquisa2": null,
            "codigoPesquisa3": null,
            "pesoLiquido": 0,
            "pesoBruto": 0,
            "estoqueAtual": 100,
            "codigoFabricante": 0,
            "urlDetalhe": "",
            "urlEstoqueDetalhe": "/estoque/3",
            "urlTabelaPreco": "/precos/3",
            "urlPromocoes": "/promocoes/produto/3",
            "urlFotos": "/fotos/3",
            "precos": [
                {
                    "tabela": "TABELA 1",
                    "preco": 20,
                    "promocional": true
                },
                {
                    "tabela": "TABELA 2",
                    "preco": 0,
                    "promocional": false
                },
                {
                    "tabela": "TABELA 3",
                    "preco": 0,
                    "promocional": false
                },
                {
                    "tabela": "CUSTO",
                    "preco": 11.97,
                    "promocional": false
                },
                {
                    "tabela": "CUSTO MÉDIO",
                    "preco": 11.97,
                    "promocional": false
                }
            ]
        },
        {
            "ordem": 21,
            "codigo": "21",
            "nome": "Batom em bala",
            "observacao1": "",
            "observacao2": "",
            "observacao3": "",
            "tipo": 0,
            "codigoClasse": 2,
            "codigoSubclasse": 7,
            "codigoCor": null,
            "codigoTamanho": null,
            "codigoGrupo": 0,
            "codigoMoeda": 1,
            "codigoFamilia": 0,
            "codigoUnidadeVenda": 1,
            "codigoPesquisa1": null,
            "codigoPesquisa2": null,
            "codigoPesquisa3": null,
            "pesoLiquido": 0,
            "pesoBruto": 0,
            "estoqueAtual": 100,
            "codigoFabricante": 0,
            "urlDetalhe": "",
            "urlEstoqueDetalhe": "/estoque/21",
            "urlTabelaPreco": "/precos/21",
            "urlPromocoes": "/promocoes/produto/21",
            "urlFotos": "/fotos/21",
            "precos": [
                {
                    "tabela": "TABELA 1",
                    "preco": 4,
                    "promocional": false
                },
                {
                    "tabela": "TABELA 2",
                    "preco": 0,
                    "promocional": false
                },
                {
                    "tabela": "TABELA 3",
                    "preco": 0,
                    "promocional": false
                },
                {
                    "tabela": "CUSTO",
                    "preco": 2,
                    "promocional": false
                },
                {
                    "tabela": "CUSTO MÉDIO",
                    "preco": 2,
                    "promocional": false
                }
            ]
        },
        {
            "ordem": 20,
            "codigo": "20",
            "nome": "Batom Líquido Vult cor 14",
            "observacao1": "",
            "observacao2": "",
            "observacao3": "",
            "tipo": 0,
            "codigoClasse": 2,
            "codigoSubclasse": 7,
            "codigoCor": null,
            "codigoTamanho": null,
            "codigoGrupo": 0,
            "codigoMoeda": 1,
            "codigoFamilia": 0,
            "codigoUnidadeVenda": 1,
            "codigoPesquisa1": null,
            "codigoPesquisa2": null,
            "codigoPesquisa3": null,
            "pesoLiquido": 0,
            "pesoBruto": 0,
            "estoqueAtual": 101,
            "codigoFabricante": 0,
            "urlDetalhe": "",
            "urlEstoqueDetalhe": "/estoque/20",
            "urlTabelaPreco": "/precos/20",
            "urlPromocoes": "/promocoes/produto/20",
            "urlFotos": "/fotos/20",
            "precos": [
                {
                    "tabela": "TABELA 1",
                    "preco": 6,
                    "promocional": false
                },
                {
                    "tabela": "TABELA 2",
                    "preco": 0,
                    "promocional": false
                },
                {
                    "tabela": "TABELA 3",
                    "preco": 0,
                    "promocional": false
                },
                {
                    "tabela": "CUSTO",
                    "preco": 3,
                    "promocional": false
                },
                {
                    "tabela": "CUSTO MÉDIO",
                    "preco": 3,
                    "promocional": false
                }
            ]
        },
        {
            "ordem": 24,
            "codigo": "1000",
            "nome": "Camiseta Feminina Liga da Justiça",
            "observacao1": "",
            "observacao2": "",
            "observacao3": "",
            "tipo": 1,
            "codigoClasse": 5,
            "codigoSubclasse": 8,
            "codigoCor": null,
            "codigoTamanho": null,
            "codigoGrupo": 0,
            "codigoMoeda": 1,
            "codigoFamilia": 0,
            "codigoUnidadeVenda": 1,
            "codigoPesquisa1": null,
            "codigoPesquisa2": null,
            "codigoPesquisa3": null,
            "pesoLiquido": 0,
            "pesoBruto": 0,
            "estoqueAtual": 60,
            "codigoFabricante": 0,
            "urlDetalhe": "/produtos/grades/1000",
            "urlEstoqueDetalhe": "/estoque/grade/1000",
            "urlTabelaPreco": "/precos/1000",
            "urlPromocoes": "/promocoes/produto/1000",
            "urlFotos": "/fotos/1000",
            "precos": [
                {
                    "tabela": "TABELA 1",
                    "preco": 50,
                    "promocional": true
                },
                {
                    "tabela": "TABELA 2",
                    "preco": 0,
                    "promocional": false
                },
                {
                    "tabela": "TABELA 3",
                    "preco": 0,
                    "promocional": false
                },
                {
                    "tabela": "CUSTO",
                    "preco": 14,
                    "promocional": false
                },
                {
                    "tabela": "CUSTO MÉDIO",
                    "preco": 14,
                    "promocional": false
                }
            ]
        },
        {
            "ordem": 15,
            "codigo": "15",
            "nome": "Corretivo Mary Kay Yellow, Bronze 1",
            "observacao1": "",
            "observacao2": "",
            "observacao3": "",
            "tipo": 0,
            "codigoClasse": 2,
            "codigoSubclasse": 9999,
            "codigoCor": null,
            "codigoTamanho": null,
            "codigoGrupo": 0,
            "codigoMoeda": 1,
            "codigoFamilia": 0,
            "codigoUnidadeVenda": 1,
            "codigoPesquisa1": null,
            "codigoPesquisa2": null,
            "codigoPesquisa3": null,
            "pesoLiquido": 0,
            "pesoBruto": 0,
            "estoqueAtual": 9,
            "codigoFabricante": 0,
            "urlDetalhe": "",
            "urlEstoqueDetalhe": "/estoque/15",
            "urlTabelaPreco": "/precos/15",
            "urlPromocoes": "/promocoes/produto/15",
            "urlFotos": "/fotos/15",
            "precos": [
                {
                    "tabela": "TABELA 1",
                    "preco": 2,
                    "promocional": false
                },
                {
                    "tabela": "TABELA 2",
                    "preco": 0,
                    "promocional": false
                },
                {
                    "tabela": "TABELA 3",
                    "preco": 0,
                    "promocional": false
                },
                {
                    "tabela": "CUSTO",
                    "preco": 1,
                    "promocional": false
                },
                {
                    "tabela": "CUSTO MÉDIO",
                    "preco": 1,
                    "promocional": false
                }
            ]
        },
        {
            "ordem": 16,
            "codigo": "16",
            "nome": "Corretivo Mary Kay Yellow, Bronze 3",
            "observacao1": "",
            "observacao2": "",
            "observacao3": "",
            "tipo": 0,
            "codigoClasse": 2,
            "codigoSubclasse": 9999,
            "codigoCor": null,
            "codigoTamanho": null,
            "codigoGrupo": 0,
            "codigoMoeda": 1,
            "codigoFamilia": 0,
            "codigoUnidadeVenda": 1,
            "codigoPesquisa1": null,
            "codigoPesquisa2": null,
            "codigoPesquisa3": null,
            "pesoLiquido": 0,
            "pesoBruto": 0,
            "estoqueAtual": 7,
            "codigoFabricante": 0,
            "urlDetalhe": "",
            "urlEstoqueDetalhe": "/estoque/16",
            "urlTabelaPreco": "/precos/16",
            "urlPromocoes": "/promocoes/produto/16",
            "urlFotos": "/fotos/16",
            "precos": [
                {
                    "tabela": "TABELA 1",
                    "preco": 10,
                    "promocional": false
                },
                {
                    "tabela": "TABELA 2",
                    "preco": 0,
                    "promocional": false
                },
                {
                    "tabela": "TABELA 3",
                    "preco": 0,
                    "promocional": false
                },
                {
                    "tabela": "CUSTO",
                    "preco": 5,
                    "promocional": false
                },
                {
                    "tabela": "CUSTO MÉDIO",
                    "preco": 5,
                    "promocional": false
                }
            ]
        },
        {
            "ordem": 18,
            "codigo": "18",
            "nome": "Cotonete",
            "observacao1": "",
            "observacao2": "",
            "observacao3": "",
            "tipo": 0,
            "codigoClasse": 3,
            "codigoSubclasse": 9999,
            "codigoCor": null,
            "codigoTamanho": null,
            "codigoGrupo": 0,
            "codigoMoeda": 1,
            "codigoFamilia": 0,
            "codigoUnidadeVenda": 1,
            "codigoPesquisa1": null,
            "codigoPesquisa2": null,
            "codigoPesquisa3": null,
            "pesoLiquido": 0,
            "pesoBruto": 0,
            "estoqueAtual": 0,
            "codigoFabricante": 0,
            "urlDetalhe": "",
            "urlEstoqueDetalhe": "/estoque/18",
            "urlTabelaPreco": "/precos/18",
            "urlPromocoes": "/promocoes/produto/18",
            "urlFotos": "/fotos/18",
            "precos": [
                {
                    "tabela": "TABELA 1",
                    "preco": 1.6,
                    "promocional": false
                },
                {
                    "tabela": "TABELA 2",
                    "preco": 0,
                    "promocional": false
                },
                {
                    "tabela": "TABELA 3",
                    "preco": 0,
                    "promocional": false
                },
                {
                    "tabela": "CUSTO",
                    "preco": 0.8,
                    "promocional": false
                },
                {
                    "tabela": "CUSTO MÉDIO",
                    "preco": 0.8,
                    "promocional": false
                }
            ]
        },
        {
            "ordem": 19,
            "codigo": "19",
            "nome": "Curvex Galenco",
            "observacao1": "",
            "observacao2": "",
            "observacao3": "",
            "tipo": 0,
            "codigoClasse": 9999,
            "codigoSubclasse": 9999,
            "codigoCor": null,
            "codigoTamanho": null,
            "codigoGrupo": 0,
            "codigoMoeda": 1,
            "codigoFamilia": 0,
            "codigoUnidadeVenda": 1,
            "codigoPesquisa1": null,
            "codigoPesquisa2": null,
            "codigoPesquisa3": null,
            "pesoLiquido": 0,
            "pesoBruto": 0,
            "estoqueAtual": 200,
            "codigoFabricante": 0,
            "urlDetalhe": "",
            "urlEstoqueDetalhe": "/estoque/19",
            "urlTabelaPreco": "/precos/19",
            "urlPromocoes": "/promocoes/produto/19",
            "urlFotos": "/fotos/19",
            "precos": [
                {
                    "tabela": "TABELA 1",
                    "preco": 8,
                    "promocional": false
                },
                {
                    "tabela": "TABELA 2",
                    "preco": 0,
                    "promocional": false
                },
                {
                    "tabela": "TABELA 3",
                    "preco": 0,
                    "promocional": false
                },
                {
                    "tabela": "CUSTO",
                    "preco": 4,
                    "promocional": false
                },
                {
                    "tabela": "CUSTO MÉDIO",
                    "preco": 4,
                    "promocional": false
                }
            ]
        },
        {
            "ordem": 14,
            "codigo": "14",
            "nome": "Esponja pra pó Maryllou",
            "observacao1": "",
            "observacao2": "",
            "observacao3": "",
            "tipo": 0,
            "codigoClasse": 2,
            "codigoSubclasse": 9999,
            "codigoCor": null,
            "codigoTamanho": null,
            "codigoGrupo": 0,
            "codigoMoeda": 1,
            "codigoFamilia": 0,
            "codigoUnidadeVenda": 1,
            "codigoPesquisa1": null,
            "codigoPesquisa2": null,
            "codigoPesquisa3": null,
            "pesoLiquido": 0,
            "pesoBruto": 0,
            "estoqueAtual": 90,
            "codigoFabricante": 0,
            "urlDetalhe": "",
            "urlEstoqueDetalhe": "/estoque/14",
            "urlTabelaPreco": "/precos/14",
            "urlPromocoes": "/promocoes/produto/14",
            "urlFotos": "/fotos/14",
            "precos": [
                {
                    "tabela": "TABELA 1",
                    "preco": 6,
                    "promocional": false
                },
                {
                    "tabela": "TABELA 2",
                    "preco": 0,
                    "promocional": false
                },
                {
                    "tabela": "TABELA 3",
                    "preco": 0,
                    "promocional": false
                },
                {
                    "tabela": "CUSTO",
                    "preco": 0.3,
                    "promocional": false
                },
                {
                    "tabela": "CUSTO MÉDIO",
                    "preco": 0.3,
                    "promocional": false
                }
            ]
        },
        {
            "ordem": 2,
            "codigo": "2",
            "nome": "Kit Chaves 18pc.",
            "observacao1": "",
            "observacao2": "",
            "observacao3": "",
            "tipo": 0,
            "codigoClasse": 1,
            "codigoSubclasse": 2,
            "codigoCor": null,
            "codigoTamanho": null,
            "codigoGrupo": 0,
            "codigoMoeda": 1,
            "codigoFamilia": 0,
            "codigoUnidadeVenda": 1,
            "codigoPesquisa1": null,
            "codigoPesquisa2": null,
            "codigoPesquisa3": null,
            "pesoLiquido": 0,
            "pesoBruto": 0,
            "estoqueAtual": 45,
            "codigoFabricante": 0,
            "urlDetalhe": "",
            "urlEstoqueDetalhe": "/estoque/2",
            "urlTabelaPreco": "/precos/2",
            "urlPromocoes": "/promocoes/produto/2",
            "urlFotos": "/fotos/2",
            "precos": [
                {
                    "tabela": "TABELA 1",
                    "preco": 138,
                    "promocional": false
                },
                {
                    "tabela": "TABELA 2",
                    "preco": 130,
                    "promocional": false
                },
                {
                    "tabela": "TABELA 3",
                    "preco": 120,
                    "promocional": false
                },
                {
                    "tabela": "CUSTO",
                    "preco": 69,
                    "promocional": false
                },
                {
                    "tabela": "CUSTO MÉDIO",
                    "preco": 69,
                    "promocional": false
                }
            ]
        },
        {
            "ordem": 7,
            "codigo": "7",
            "nome": "Lápis para olhos preto Alice Salazar",
            "observacao1": "",
            "observacao2": "",
            "observacao3": "",
            "tipo": 0,
            "codigoClasse": 2,
            "codigoSubclasse": 5,
            "codigoCor": null,
            "codigoTamanho": null,
            "codigoGrupo": 0,
            "codigoMoeda": 1,
            "codigoFamilia": 0,
            "codigoUnidadeVenda": 1,
            "codigoPesquisa1": null,
            "codigoPesquisa2": null,
            "codigoPesquisa3": null,
            "pesoLiquido": 0,
            "pesoBruto": 0,
            "estoqueAtual": 90,
            "codigoFabricante": 0,
            "urlDetalhe": "",
            "urlEstoqueDetalhe": "/estoque/7",
            "urlTabelaPreco": "/precos/7",
            "urlPromocoes": "/promocoes/produto/7",
            "urlFotos": "/fotos/7",
            "precos": [
                {
                    "tabela": "TABELA 1",
                    "preco": 2,
                    "promocional": false
                },
                {
                    "tabela": "TABELA 2",
                    "preco": 0,
                    "promocional": false
                },
                {
                    "tabela": "TABELA 3",
                    "preco": 0,
                    "promocional": false
                },
                {
                    "tabela": "CUSTO",
                    "preco": 1,
                    "promocional": false
                },
                {
                    "tabela": "CUSTO MÉDIO",
                    "preco": 1,
                    "promocional": false
                }
            ]
        },
        {
            "ordem": 22,
            "codigo": "22",
            "nome": "Lichia Granel",
            "observacao1": "",
            "observacao2": "",
            "observacao3": "",
            "tipo": 0,
            "codigoClasse": 4,
            "codigoSubclasse": 9999,
            "codigoCor": null,
            "codigoTamanho": null,
            "codigoGrupo": 0,
            "codigoMoeda": 1,
            "codigoFamilia": 0,
            "codigoUnidadeVenda": 2,
            "codigoPesquisa1": null,
            "codigoPesquisa2": null,
            "codigoPesquisa3": null,
            "pesoLiquido": 0,
            "pesoBruto": 0,
            "estoqueAtual": 17.842,
            "codigoFabricante": 0,
            "urlDetalhe": "",
            "urlEstoqueDetalhe": "/estoque/22",
            "urlTabelaPreco": "/precos/22",
            "urlPromocoes": "/promocoes/produto/22",
            "urlFotos": "/fotos/22",
            "precos": [
                {
                    "tabela": "TABELA 1",
                    "preco": 7.998,
                    "promocional": false
                },
                {
                    "tabela": "TABELA 2",
                    "preco": 0,
                    "promocional": false
                },
                {
                    "tabela": "TABELA 3",
                    "preco": 0,
                    "promocional": false
                },
                {
                    "tabela": "CUSTO",
                    "preco": 2.17,
                    "promocional": false
                },
                {
                    "tabela": "CUSTO MÉDIO",
                    "preco": 2.17,
                    "promocional": false
                }
            ]
        },
        {
            "ordem": 23,
            "codigo": "A01",
            "nome": "Molde para Maquiagem - vários desenhos",
            "observacao1": "",
            "observacao2": "",
            "observacao3": "",
            "tipo": 0,
            "codigoClasse": 9999,
            "codigoSubclasse": 9999,
            "codigoCor": null,
            "codigoTamanho": null,
            "codigoGrupo": 0,
            "codigoMoeda": 1,
            "codigoFamilia": 0,
            "codigoUnidadeVenda": 1,
            "codigoPesquisa1": null,
            "codigoPesquisa2": null,
            "codigoPesquisa3": null,
            "pesoLiquido": 0,
            "pesoBruto": 0,
            "estoqueAtual": 0,
            "codigoFabricante": 0,
            "urlDetalhe": "",
            "urlEstoqueDetalhe": "/estoque/A01",
            "urlTabelaPreco": "/precos/A01",
            "urlPromocoes": "/promocoes/produto/A01",
            "urlFotos": "/fotos/A01",
            "precos": [
                {
                    "tabela": "TABELA 1",
                    "preco": 40,
                    "promocional": false
                },
                {
                    "tabela": "TABELA 2",
                    "preco": 0,
                    "promocional": false
                },
                {
                    "tabela": "TABELA 3",
                    "preco": 0,
                    "promocional": false
                },
                {
                    "tabela": "CUSTO",
                    "preco": 8.77,
                    "promocional": false
                },
                {
                    "tabela": "CUSTO MÉDIO",
                    "preco": 0,
                    "promocional": false
                }
            ]
        },
        {
            "ordem": 8,
            "codigo": "8",
            "nome": "Paleta de sombra colorida Jasmyne",
            "observacao1": "",
            "observacao2": "",
            "observacao3": "",
            "tipo": 0,
            "codigoClasse": 2,
            "codigoSubclasse": 2,
            "codigoCor": null,
            "codigoTamanho": null,
            "codigoGrupo": 0,
            "codigoMoeda": 1,
            "codigoFamilia": 0,
            "codigoUnidadeVenda": 1,
            "codigoPesquisa1": null,
            "codigoPesquisa2": null,
            "codigoPesquisa3": null,
            "pesoLiquido": 0,
            "pesoBruto": 0,
            "estoqueAtual": 9,
            "codigoFabricante": 0,
            "urlDetalhe": "",
            "urlEstoqueDetalhe": "/estoque/8",
            "urlTabelaPreco": "/precos/8",
            "urlPromocoes": "/promocoes/produto/8",
            "urlFotos": "/fotos/8",
            "precos": [
                {
                    "tabela": "TABELA 1",
                    "preco": 6,
                    "promocional": false
                },
                {
                    "tabela": "TABELA 2",
                    "preco": 0,
                    "promocional": false
                },
                {
                    "tabela": "TABELA 3",
                    "preco": 0,
                    "promocional": false
                },
                {
                    "tabela": "CUSTO",
                    "preco": 3,
                    "promocional": false
                },
                {
                    "tabela": "CUSTO MÉDIO",
                    "preco": 3,
                    "promocional": false
                }
            ]
        },
        {
            "ordem": 1,
            "codigo": "1",
            "nome": "Parafusadeira Bisuph",
            "observacao1": "",
            "observacao2": "",
            "observacao3": "",
            "tipo": 0,
            "codigoClasse": 1,
            "codigoSubclasse": 1,
            "codigoCor": null,
            "codigoTamanho": null,
            "codigoGrupo": 0,
            "codigoMoeda": 1,
            "codigoFamilia": 0,
            "codigoUnidadeVenda": 1,
            "codigoPesquisa1": null,
            "codigoPesquisa2": null,
            "codigoPesquisa3": null,
            "pesoLiquido": 0,
            "pesoBruto": 0,
            "estoqueAtual": 25,
            "codigoFabricante": 0,
            "urlDetalhe": "",
            "urlEstoqueDetalhe": "/estoque/1",
            "urlTabelaPreco": "/precos/1",
            "urlPromocoes": "/promocoes/produto/1",
            "urlFotos": "/fotos/1",
            "precos": [
                {
                    "tabela": "TABELA 1",
                    "preco": 576.34,
                    "promocional": false
                },
                {
                    "tabela": "TABELA 2",
                    "preco": 539,
                    "promocional": false
                },
                {
                    "tabela": "TABELA 3",
                    "preco": 500,
                    "promocional": false
                },
                {
                    "tabela": "CUSTO",
                    "preco": 288.17,
                    "promocional": false
                },
                {
                    "tabela": "CUSTO MÉDIO",
                    "preco": 288.17,
                    "promocional": false
                }
            ]
        },
        {
            "ordem": 10,
            "codigo": "10",
            "nome": "Pinceis de esponjinha",
            "observacao1": "",
            "observacao2": "",
            "observacao3": "",
            "tipo": 0,
            "codigoClasse": 2,
            "codigoSubclasse": 2,
            "codigoCor": null,
            "codigoTamanho": null,
            "codigoGrupo": 0,
            "codigoMoeda": 1,
            "codigoFamilia": 0,
            "codigoUnidadeVenda": 1,
            "codigoPesquisa1": null,
            "codigoPesquisa2": null,
            "codigoPesquisa3": null,
            "pesoLiquido": 0,
            "pesoBruto": 0,
            "estoqueAtual": 0,
            "codigoFabricante": 0,
            "urlDetalhe": "",
            "urlEstoqueDetalhe": "/estoque/10",
            "urlTabelaPreco": "/precos/10",
            "urlPromocoes": "/promocoes/produto/10",
            "urlFotos": "/fotos/10",
            "precos": [
                {
                    "tabela": "TABELA 1",
                    "preco": 2,
                    "promocional": false
                },
                {
                    "tabela": "TABELA 2",
                    "preco": 0,
                    "promocional": false
                },
                {
                    "tabela": "TABELA 3",
                    "preco": 0,
                    "promocional": false
                },
                {
                    "tabela": "CUSTO",
                    "preco": 1,
                    "promocional": false
                },
                {
                    "tabela": "CUSTO MÉDIO",
                    "preco": 1,
                    "promocional": false
                }
            ]
        },
        {
            "ordem": 11,
            "codigo": "11",
            "nome": "Pincel Kabuk Macrilan",
            "observacao1": "",
            "observacao2": "",
            "observacao3": "",
            "tipo": 0,
            "codigoClasse": 2,
            "codigoSubclasse": 2,
            "codigoCor": null,
            "codigoTamanho": null,
            "codigoGrupo": 0,
            "codigoMoeda": 1,
            "codigoFamilia": 0,
            "codigoUnidadeVenda": 1,
            "codigoPesquisa1": null,
            "codigoPesquisa2": null,
            "codigoPesquisa3": null,
            "pesoLiquido": 0,
            "pesoBruto": 0,
            "estoqueAtual": 15,
            "codigoFabricante": 0,
            "urlDetalhe": "",
            "urlEstoqueDetalhe": "/estoque/11",
            "urlTabelaPreco": "/precos/11",
            "urlPromocoes": "/promocoes/produto/11",
            "urlFotos": "/fotos/11",
            "precos": [
                {
                    "tabela": "TABELA 1",
                    "preco": 4,
                    "promocional": false
                },
                {
                    "tabela": "TABELA 2",
                    "preco": 0,
                    "promocional": false
                },
                {
                    "tabela": "TABELA 3",
                    "preco": 0,
                    "promocional": false
                },
                {
                    "tabela": "CUSTO",
                    "preco": 2,
                    "promocional": false
                },
                {
                    "tabela": "CUSTO MÉDIO",
                    "preco": 2,
                    "promocional": false
                }
            ]
        },
        {
            "ordem": 13,
            "codigo": "13",
            "nome": "Pincel para cantinho Macrilan",
            "observacao1": "",
            "observacao2": "",
            "observacao3": "",
            "tipo": 0,
            "codigoClasse": 2,
            "codigoSubclasse": 2,
            "codigoCor": null,
            "codigoTamanho": null,
            "codigoGrupo": 0,
            "codigoMoeda": 1,
            "codigoFamilia": 0,
            "codigoUnidadeVenda": 1,
            "codigoPesquisa1": null,
            "codigoPesquisa2": null,
            "codigoPesquisa3": null,
            "pesoLiquido": 0,
            "pesoBruto": 0,
            "estoqueAtual": 1,
            "codigoFabricante": 0,
            "urlDetalhe": "",
            "urlEstoqueDetalhe": "/estoque/13",
            "urlTabelaPreco": "/precos/13",
            "urlPromocoes": "/promocoes/produto/13",
            "urlFotos": "/fotos/13",
            "precos": [
                {
                    "tabela": "TABELA 1",
                    "preco": 3.4,
                    "promocional": false
                },
                {
                    "tabela": "TABELA 2",
                    "preco": 0,
                    "promocional": false
                },
                {
                    "tabela": "TABELA 3",
                    "preco": 0,
                    "promocional": false
                },
                {
                    "tabela": "CUSTO",
                    "preco": 1.7,
                    "promocional": false
                },
                {
                    "tabela": "CUSTO MÉDIO",
                    "preco": 1.7,
                    "promocional": false
                }
            ]
        },
        {
            "ordem": 12,
            "codigo": "12",
            "nome": "Pincel tipo lápis Macrilan",
            "observacao1": "",
            "observacao2": "",
            "observacao3": "",
            "tipo": 0,
            "codigoClasse": 2,
            "codigoSubclasse": 2,
            "codigoCor": null,
            "codigoTamanho": null,
            "codigoGrupo": 0,
            "codigoMoeda": 1,
            "codigoFamilia": 0,
            "codigoUnidadeVenda": 1,
            "codigoPesquisa1": null,
            "codigoPesquisa2": null,
            "codigoPesquisa3": null,
            "pesoLiquido": 0,
            "pesoBruto": 0,
            "estoqueAtual": 0,
            "codigoFabricante": 0,
            "urlDetalhe": "",
            "urlEstoqueDetalhe": "/estoque/12",
            "urlTabelaPreco": "/precos/12",
            "urlPromocoes": "/promocoes/produto/12",
            "urlFotos": "/fotos/12",
            "precos": [
                {
                    "tabela": "TABELA 1",
                    "preco": 2,
                    "promocional": false
                },
                {
                    "tabela": "TABELA 2",
                    "preco": 0,
                    "promocional": false
                },
                {
                    "tabela": "TABELA 3",
                    "preco": 0,
                    "promocional": false
                },
                {
                    "tabela": "CUSTO",
                    "preco": 1,
                    "promocional": false
                },
                {
                    "tabela": "CUSTO MÉDIO",
                    "preco": 1,
                    "promocional": false
                }
            ]
        },
        {
            "ordem": 17,
            "codigo": "17",
            "nome": "Pó bronzeador Vult cor 3",
            "observacao1": "",
            "observacao2": "",
            "observacao3": "",
            "tipo": 0,
            "codigoClasse": 2,
            "codigoSubclasse": 9999,
            "codigoCor": null,
            "codigoTamanho": null,
            "codigoGrupo": 0,
            "codigoMoeda": 1,
            "codigoFamilia": 0,
            "codigoUnidadeVenda": 1,
            "codigoPesquisa1": null,
            "codigoPesquisa2": null,
            "codigoPesquisa3": null,
            "pesoLiquido": 0,
            "pesoBruto": 0,
            "estoqueAtual": 9,
            "codigoFabricante": 0,
            "urlDetalhe": "",
            "urlEstoqueDetalhe": "/estoque/17",
            "urlTabelaPreco": "/precos/17",
            "urlPromocoes": "/promocoes/produto/17",
            "urlFotos": "/fotos/17",
            "precos": [
                {
                    "tabela": "TABELA 1",
                    "preco": 8,
                    "promocional": false
                },
                {
                    "tabela": "TABELA 2",
                    "preco": 0,
                    "promocional": false
                },
                {
                    "tabela": "TABELA 3",
                    "preco": 0,
                    "promocional": false
                },
                {
                    "tabela": "CUSTO",
                    "preco": 4,
                    "promocional": false
                },
                {
                    "tabela": "CUSTO MÉDIO",
                    "preco": 4,
                    "promocional": false
                }
            ]
        }
    ]
}								
							

 

Foram retornados 20 registros de produtos, cada um com a sua lista de preços por tabela de preço cadastrada no Shop 9. Caso seja feita uma requisição para uma página que não há produtos, o serviço retornará uma resposta onde o campo sucesso será falso, com o tipo do erro FIM_DE_PAGINA:

 

Requisição

GET /produtos/9999
CodFilial: 1
Authorization: Token SElFQVBBLTYwMDc1OS1ST0NUMDAwMQ0KYWRtaW4NCjYzNjg4ODY3MzAwOTEyNTE1OA0KUG9zdG1hblJ1bnRpbWUvNy42LjE=:8YUzqB78ff6TmhgYBabl44/RfDKelZxyTELlbtyD3wg=
Signature: UewdViwVPdylHv55EAC6FLTpdzfwoPeJTzgVUHtb9l0=
Timestamp: 1553274624
cache-control: no-cache
Accept: */*
Host: idealsoftexportaweb.eastus.cloudapp.azure.com:60500
accept-encoding: gzip, deflate

 

Resposta

Clique para visualizar o conteúdo completo
								
									
{
    "sucesso": false,
    "mensagem": "Não há registros disponíveis na página requisitada.",
    "tipo": "FIM_DE_PAGINA",
    "complementoTipo": "",
    "statusCode": 417,
    "dados": null
}								
							

 

Consultando detalhes de um produto específico
Para pegar detalhes de um produto específico é só passar o código do produto retornado na consulta de produtos:

 

Requisição

GET /produtos/detalhes/1
CodFilial: 1
Authorization: Token SElFQVBBLTYwMDc1OS1ST0NUMDAwMQ0KYWRtaW4NCjYzNjg4ODY3MzAwOTEyNTE1OA0KUG9zdG1hblJ1bnRpbWUvNy42LjE=:8YUzqB78ff6TmhgYBabl44/RfDKelZxyTELlbtyD3wg=
Signature: F3UDxP4q8ELZdY3lcJl54BSmWxgAzw6BsV8xYTNvDb0=
Timestamp: 1553277154
cache-control: no-cache
Accept: */*
Host: idealsoftexportaweb.eastus.cloudapp.azure.com:60500
accept-encoding: gzip, deflate

 

Resposta

HTTP/1.1 200
status: 200
Transfer-Encoding: chunked
Content-Type: application/json; charset=utf-8
Server: Microsoft-HTTPAPI/2.0
Date: Fri, 22 Mar 2019 17:52:35 GMT
Clique para visualizar o conteúdo completo
								
									
{
    "sucesso": true,
    "mensagem": null,
    "tipo": null,
    "complementoTipo": null,
    "statusCode": 200,
    "dados": {
        "ordem": 1,
        "codigo": "1",
        "nome": "Parafusadeira Bisuph",
        "observacao1": "",
        "observacao2": "",
        "observacao3": "",
        "tipo": 0,
        "codigoClasse": 1,
        "codigoSubclasse": 1,
        "codigoCor": null,
        "codigoTamanho": null,
        "codigoGrupo": 0,
        "codigoMoeda": 1,
        "codigoFamilia": 0,
        "codigoUnidadeVenda": 1,
        "codigoPesquisa1": 0,
        "codigoPesquisa2": 0,
        "codigoPesquisa3": 0,
        "pesoLiquido": 0,
        "pesoBruto": 0,
        "estoqueAtual": null,
        "codigoFabricante": 0,
        "urlDetalhe": "",
        "urlEstoqueDetalhe": "/estoque/1",
        "urlTabelaPreco": "/precos/1",
        "urlPromocoes": "/promocoes/produto/1",
        "urlFotos": "/fotos/1",
        "precos": null
    }
}
								
							

 

Consultando um produto do tipo grade

 

Requisição

GET /produtos/grades/1000
CodFilial: 1
Authorization: Token SElFQVBBLTYwMDc1OS1ST0NUMDAwMQ0KYWRtaW4NCjYzNjg5MTEwNzc1NzQ3MTgwNA0KUG9zdG1hblJ1bnRpbWUvNy42LjE=:uZUkE9AJYS2/t8ZsspRcLgcWRN+ffwDPA0Rm+nF70Xo=
Signature: xgyRYzwhc1LycF2/bt69mLlqLmmtw+R8C4fU++G+KME=
Timestamp: 1553517734
cache-control: no-cache
Accept: */*
Host: idealsoftexportaweb.eastus.cloudapp.azure.com:60500
accept-encoding: gzip, deflate

 

Resposta

HTTP/1.1 200
status: 200
Transfer-Encoding: chunked
Content-Type: application/json; charset=utf-8
Server: Microsoft-HTTPAPI/2.0
Date: Mon, 25 Mar 2019 12:42:15 GMT
Clique para visualizar o conteúdo completo
								
									
{
    "sucesso": true,
    "mensagem": null,
    "tipo": null,
    "complementoTipo": null,
    "statusCode": 200,
    "dados": {
        "codigoProduto": "1000",
        "lista": [
            {
                "codigoCompleto": "1000001002",
                "nomeCompleto": "Camiseta Feminina Liga da Justiça P PRETO",
                "codigoTamanho": "1",
                "nomeTamanho": "P",
                "codigoCor": "2",
                "nomeCor": "PRETO",
                "codigoAdicional1": "",
                "codigoAdicional2": "",
                "codigoAdicional3": "",
                "codigoAdicional4": "",
                "codigoAdicional5": "",
                "codigoAdicional6": "",
                "bloqueadoVenda": false
            },
            {
                "codigoCompleto": "1000001001",
                "nomeCompleto": "Camiseta Feminina Liga da Justiça P AZUL",
                "codigoTamanho": "1",
                "nomeTamanho": "P",
                "codigoCor": "1",
                "nomeCor": "AZUL",
                "codigoAdicional1": "",
                "codigoAdicional2": "",
                "codigoAdicional3": "",
                "codigoAdicional4": "",
                "codigoAdicional5": "",
                "codigoAdicional6": "",
                "bloqueadoVenda": false
            },
            {
                "codigoCompleto": "1000001003",
                "nomeCompleto": "Camiseta Feminina Liga da Justiça P VERMELHO",
                "codigoTamanho": "1",
                "nomeTamanho": "P",
                "codigoCor": "3",
                "nomeCor": "VERMELHO",
                "codigoAdicional1": "",
                "codigoAdicional2": "",
                "codigoAdicional3": "",
                "codigoAdicional4": "",
                "codigoAdicional5": "",
                "codigoAdicional6": "",
                "bloqueadoVenda": false
            },
            {
                "codigoCompleto": "1000002001",
                "nomeCompleto": "Camiseta Feminina Liga da Justiça M AZUL",
                "codigoTamanho": "2",
                "nomeTamanho": "M",
                "codigoCor": "1",
                "nomeCor": "AZUL",
                "codigoAdicional1": "",
                "codigoAdicional2": "",
                "codigoAdicional3": "",
                "codigoAdicional4": "",
                "codigoAdicional5": "",
                "codigoAdicional6": "",
                "bloqueadoVenda": false
            },
            {
                "codigoCompleto": "1000002002",
                "nomeCompleto": "Camiseta Feminina Liga da Justiça M PRETO",
                "codigoTamanho": "2",
                "nomeTamanho": "M",
                "codigoCor": "2",
                "nomeCor": "PRETO",
                "codigoAdicional1": "",
                "codigoAdicional2": "",
                "codigoAdicional3": "",
                "codigoAdicional4": "",
                "codigoAdicional5": "",
                "codigoAdicional6": "",
                "bloqueadoVenda": false
            },
            {
                "codigoCompleto": "1000002003",
                "nomeCompleto": "Camiseta Feminina Liga da Justiça M VERMELHO",
                "codigoTamanho": "2",
                "nomeTamanho": "M",
                "codigoCor": "3",
                "nomeCor": "VERMELHO",
                "codigoAdicional1": "",
                "codigoAdicional2": "",
                "codigoAdicional3": "",
                "codigoAdicional4": "",
                "codigoAdicional5": "",
                "codigoAdicional6": "",
                "bloqueadoVenda": false
            },
            {
                "codigoCompleto": "1000003001",
                "nomeCompleto": "Camiseta Feminina Liga da Justiça G AZUL",
                "codigoTamanho": "3",
                "nomeTamanho": "G",
                "codigoCor": "1",
                "nomeCor": "AZUL",
                "codigoAdicional1": "",
                "codigoAdicional2": "",
                "codigoAdicional3": "",
                "codigoAdicional4": "",
                "codigoAdicional5": "",
                "codigoAdicional6": "",
                "bloqueadoVenda": false
            },
            {
                "codigoCompleto": "1000003002",
                "nomeCompleto": "Camiseta Feminina Liga da Justiça G PRETO",
                "codigoTamanho": "3",
                "nomeTamanho": "G",
                "codigoCor": "2",
                "nomeCor": "PRETO",
                "codigoAdicional1": "",
                "codigoAdicional2": "",
                "codigoAdicional3": "",
                "codigoAdicional4": "",
                "codigoAdicional5": "",
                "codigoAdicional6": "",
                "bloqueadoVenda": false
            },
            {
                "codigoCompleto": "1000003003",
                "nomeCompleto": "Camiseta Feminina Liga da Justiça G VERMELHO",
                "codigoTamanho": "3",
                "nomeTamanho": "G",
                "codigoCor": "3",
                "nomeCor": "VERMELHO",
                "codigoAdicional1": "",
                "codigoAdicional2": "",
                "codigoAdicional3": "",
                "codigoAdicional4": "",
                "codigoAdicional5": "",
                "codigoAdicional6": "",
                "bloqueadoVenda": false
            },
            {
                "codigoCompleto": "1000004001",
                "nomeCompleto": "Camiseta Feminina Liga da Justiça GG AZUL",
                "codigoTamanho": "4",
                "nomeTamanho": "GG",
                "codigoCor": "1",
                "nomeCor": "AZUL",
                "codigoAdicional1": "",
                "codigoAdicional2": "",
                "codigoAdicional3": "",
                "codigoAdicional4": "",
                "codigoAdicional5": "",
                "codigoAdicional6": "",
                "bloqueadoVenda": false
            },
            {
                "codigoCompleto": "1000004002",
                "nomeCompleto": "Camiseta Feminina Liga da Justiça GG PRETO",
                "codigoTamanho": "4",
                "nomeTamanho": "GG",
                "codigoCor": "2",
                "nomeCor": "PRETO",
                "codigoAdicional1": "",
                "codigoAdicional2": "",
                "codigoAdicional3": "",
                "codigoAdicional4": "",
                "codigoAdicional5": "",
                "codigoAdicional6": "",
                "bloqueadoVenda": false
            },
            {
                "codigoCompleto": "1000004003",
                "nomeCompleto": "Camiseta Feminina Liga da Justiça GG VERMELHO",
                "codigoTamanho": "4",
                "nomeTamanho": "GG",
                "codigoCor": "3",
                "nomeCor": "VERMELHO",
                "codigoAdicional1": "",
                "codigoAdicional2": "",
                "codigoAdicional3": "",
                "codigoAdicional4": "",
                "codigoAdicional5": "",
                "codigoAdicional6": "",
                "bloqueadoVenda": false
            }
        ]
    }
}								
							

 

Listando as fotos de um produto

 

Requisição

GET /fotos/1
AuthKey: 1
Authorization: Token SElFQVBBLTYwMDc1OS1ST0NUMDAwMQ0KYWRtaW4NCjYzNjg4ODY3MzAwOTEyNTE1OA0KUG9zdG1hblJ1bnRpbWUvNy42LjE=:8YUzqB78ff6TmhgYBabl44/RfDKelZxyTELlbtyD3wg=
Signature: igxXPLxyKLX51pS1ztoFdw1zANWjkErhfKcel94laVI=
Timestamp: 1553283636
cache-control: no-cache
Accept: */*
Host: idealsoftexportaweb.eastus.cloudapp.azure.com:60500
accept-encoding: gzip, deflate

 

Resposta

HTTP/1.1 200
status: 200
Transfer-Encoding: chunked
Content-Type: application/json; charset=utf-8
Server: Microsoft-HTTPAPI/2.0
Date: Fri, 22 Mar 2019 19:40:36 GMT
Clique para visualizar o conteúdo completo
								
									
{
    "sucesso": true,
    "mensagem": null,
    "tipo": null,
    "complementoTipo": null,
    "statusCode": 200,
    "dados": {
        "codigo": "1",
        "fotos": [
            {
                "posicao": 0,
                "principal": false
            }
        ]
    }
}								
							

 

Requisição

GET /fotos/1/0
CodFilial: 1
Authorization: Token SElFQVBBLTYwMDc1OS1ST0NUMDAwMQ0KYWRtaW4NCjYzNjg4ODY3MzAwOTEyNTE1OA0KUG9zdG1hblJ1bnRpbWUvNy42LjE=:8YUzqB78ff6TmhgYBabl44/RfDKelZxyTELlbtyD3wg=
Signature: RycIS3L5oC5U6RVpLUKmhu6oZp2Yh8M0j2ptq7wnZz8=
Timestamp: 1553283762
cache-control: no-cache
Accept: */*
Host: idealsoftexportaweb.eastus.cloudapp.azure.com:60500
accept-encoding: gzip, deflate

 

Resposta

HTTP/1.1 200
status: 200
Transfer-Encoding: chunked
Content-Type: image/jpeg
Server: Microsoft-HTTPAPI/2.0
Date: Fri, 22 Mar 2019 19:42:42 GMT

 

 

 

Verificando o preço de um produto

 

Requisição

GET /precos/1
AuthKey: 1
Authorization: Token SElFQVBBLTYwMDc1OS1ST0NUMDAwMQ0KYWRtaW4NCjYzNjg4ODY3MzAwOTEyNTE1OA0KUG9zdG1hblJ1bnRpbWUvNy42LjE=:8YUzqB78ff6TmhgYBabl44/RfDKelZxyTELlbtyD3wg=
Signature: iIn9AnvR4RnhjGo+GmZH6wPXd+ke+OJSS8bd4LitYaM=
Timestamp: 1553283958
cache-control: no-cache
Accept: */*
Host: idealsoftexportaweb.eastus.cloudapp.azure.com:60500
accept-encoding: gzip, deflate

 

Resposta

HTTP/1.1 200
status: 200
Transfer-Encoding: chunked
Content-Type: application/json; charset=utf-8
Server: Microsoft-HTTPAPI/2.0
Date: Fri, 22 Mar 2019 19:45:58 GMT
Clique para visualizar o conteúdo completo
								
									
{
    "sucesso": true,
    "mensagem": null,
    "tipo": null,
    "complementoTipo": null,
    "statusCode": 200,
    "dados": {
        "codigo": "1",
        "precos": [
            {
                "tabela": "CUSTO",
                "preco": 288.17,
                "promocional": false
            },
            {
                "tabela": "CUSTO MÉDIO",
                "preco": 288.17,
                "promocional": false
            },
            {
                "tabela": "TABELA 1",
                "preco": 576.34,
                "promocional": false
            },
            {
                "tabela": "TABELA 2",
                "preco": 539,
                "promocional": false
            },
            {
                "tabela": "TABELA 3",
                "preco": 500,
                "promocional": false
            }
        ]
    }
}
								
							

 

Verificando preços alterados em um período

 

Requisição

GET /precos/?datade=2019-03-24&dataate=2019-03-26
CodFilial: 1
Authorization: Token SElFQVBBLTYwMDc1OS1ST0NUMDAwMQ0KYWRtaW4NCjYzNjg5MTEwNzc1NzQ3MTgwNA0KUG9zdG1hblJ1bnRpbWUvNy42LjE=:uZUkE9AJYS2/t8ZsspRcLgcWRN+ffwDPA0Rm+nF70Xo=
Signature: zervdHQ+lsdGYxRoJF7n/MnU48zBiuIZOPKrpu1KBVM=
Timestamp: 1553517628
cache-control: no-cache
Accept: */*
Host: idealsoftexportaweb.eastus.cloudapp.azure.com:60500
accept-encoding: gzip, deflate

 

Resposta

HTTP/1.1 200
status: 200
Transfer-Encoding: chunked
Content-Type: application/json; charset=utf-8
Server: Microsoft-HTTPAPI/2.0
Date: Mon, 25 Mar 2019 12:40:30 GMT
Clique para visualizar o conteúdo completo
								
									
{
    "sucesso": true,
    "mensagem": null,
    "tipo": null,
    "complementoTipo": null,
    "statusCode": 200,
    "dados": [
        {
            "codigo": "15",
            "precos": [
                {
                    "tabela": "CUSTO",
                    "preco": 1.2,
                    "promocional": false
                },
                {
                    "tabela": "TABELA 1",
                    "preco": 2.35,
                    "promocional": false
                }
            ]
        },
        {
            "codigo": "19",
            "precos": [
                {
                    "tabela": "CUSTO",
                    "preco": 4.4,
                    "promocional": false
                },
                {
                    "tabela": "TABELA 1",
                    "preco": 9,
                    "promocional": false
                }
            ]
        }
    ]
}								
							

 

Listando as promoções ativas

 

Requisição

GET /promocoes/1
CodFilial: 1
Authorization: Token SElFQVBBLTYwMDc1OS1ST0NUMDAwMQ0KYWRtaW4NCjYzNjg5MTEwNzc1NzQ3MTgwNA0KUG9zdG1hblJ1bnRpbWUvNy42LjE=:uZUkE9AJYS2/t8ZsspRcLgcWRN+ffwDPA0Rm+nF70Xo=
Signature: tdzl/nR/t7vYzZ67y3Kz1vxT8eXzHiTQQdotjCpW/tY=
Timestamp: 1553515818
cache-control: no-cache
Postman-Token: 467e3e90-1775-4a2d-957a-938af3a4dc43
User-Agent: PostmanRuntime/7.6.1
Accept: */*
Host: idealsoftexportaweb.eastus.cloudapp.azure.com:60500
accept-encoding: gzip, deflate

 

Resposta

HTTP/1.1 200
status: 200
Transfer-Encoding: chunked
Content-Type: application/json; charset=utf-8
Server: Microsoft-HTTPAPI/2.0
Date: Mon, 25 Mar 2019 12:10:18 GMT
Clique para visualizar o conteúdo completo
								
									
{
    "sucesso": true,
    "mensagem": null,
    "tipo": null,
    "complementoTipo": null,
    "statusCode": 200,
    "dados": [
        {
            "codigoProduto": "3",
            "tabelaPreco": "TABELA 1",
            "dataInicio": "2019-02-20T00:00:00.0000000-03:00",
            "dataFim": "2021-11-15T00:00:00.0000000-02:00",
            "preco": 20
        },
        {
            "codigoProduto": "1000",
            "tabelaPreco": "TABELA 1",
            "dataInicio": "2019-02-20T00:00:00.0000000-03:00",
            "dataFim": "2020-02-20T00:00:00.0000000-03:00",
            "preco": 50
        }
    ]
}								
							

 

Listando as promoções ativas em um período

 

Requisição

GET /promocoes/1?dataAte=2019-10-28&dataDe=2018-10-01
CodFilial: 1
Authorization: Token SElFQVBBLTYwMDc1OS1ST0NUMDAwMQ0KYWRtaW4NCjYzNjg5MTEwNzc1NzQ3MTgwNA0KUG9zdG1hblJ1bnRpbWUvNy42LjE=:uZUkE9AJYS2/t8ZsspRcLgcWRN+ffwDPA0Rm+nF70Xo=
Signature: qv0BB6DkcPWRyINufidBi5CFWm7QvCeOLMBBZLHRRqo=
Timestamp: 1553516132
cache-control: no-cache
Accept: */*
Host: idealsoftexportaweb.eastus.cloudapp.azure.com:60500
accept-encoding: gzip, deflate

 

Resposta

HTTP/1.1 200
status: 200
Transfer-Encoding: chunked
Content-Type: application/json; charset=utf-8
Server: Microsoft-HTTPAPI/2.0
Date: Mon, 25 Mar 2019 12:15:32 GMT
Clique para visualizar o conteúdo completo
								
									
{
    "sucesso": true,
    "mensagem": null,
    "tipo": null,
    "complementoTipo": null,
    "statusCode": 200,
    "dados": [
        {
            "codigoProduto": "3",
            "tabelaPreco": "TABELA 1",
            "dataInicio": "2019-02-20T00:00:00.0000000-03:00",
            "dataFim": "2021-11-15T00:00:00.0000000-02:00",
            "preco": 20
        },
        {
            "codigoProduto": "1000",
            "tabelaPreco": "TABELA 1",
            "dataInicio": "2019-02-20T00:00:00.0000000-03:00",
            "dataFim": "2020-02-20T00:00:00.0000000-03:00",
            "preco": 50
        }
    ]
}
								
							

 

Listando as promoções de um produto específico

 

Requisição

GET /promocoes/1?dataAte=2019-10-28&dataDe=2018-10-01
CodFilial: 1
Authorization: Token SElFQVBBLTYwMDc1OS1ST0NUMDAwMQ0KYWRtaW4NCjYzNjg5MTEwNzc1NzQ3MTgwNA0KUG9zdG1hblJ1bnRpbWUvNy42LjE=:uZUkE9AJYS2/t8ZsspRcLgcWRN+ffwDPA0Rm+nF70Xo=
Signature: Yly9vGNM5qLINQ0a4+DfGyYtojvohIRcZozx1vkq160=
Timestamp: 1553516282
cache-control: no-cache
Accept: */*
Host: idealsoftexportaweb.eastus.cloudapp.azure.com:60500
accept-encoding: gzip, deflate

 

Resposta

HTTP/1.1 200
status: 200
Transfer-Encoding: chunked
Content-Type: application/json; charset=utf-8
Server: Microsoft-HTTPAPI/2.0
Date: Mon, 25 Mar 2019 12:18:02 GMT
Clique para visualizar o conteúdo completo
								
									
{
    "sucesso": true,
    "mensagem": null,
    "tipo": null,
    "complementoTipo": null,
    "statusCode": 200,
    "dados": [
        {
            "codigoProduto": "3",
            "tabelaPreco": "TABELA 1",
            "dataInicio": "2019-02-20T00:00:00.0000000-03:00",
            "dataFim": "2021-11-15T00:00:00.0000000-02:00",
            "preco": 20
        },
        {
            "codigoProduto": "1000",
            "tabelaPreco": "TABELA 1",
            "dataInicio": "2019-02-20T00:00:00.0000000-03:00",
            "dataFim": "2020-02-20T00:00:00.0000000-03:00",
            "preco": 50
        }
    ]
}
								
							

 

Utilizando as Url de retorno para buscar informações detalhadas
Para cada registro de produto, existem campos auxiliares com parte da URL para agilizar o acesso aos demais serviços que dependem do produto. Um exemplo é o campo “urlEstoqueDetalhe” que retorna a URL para verificar o estoque do produto em questão:

 

 

Clique para visualizar o conteúdo completo
								
									
[...]
"codigoPesquisa1": null,
"codigoPesquisa2": null,
"codigoPesquisa3": null,
"pesoLiquido": 0,
"pesoBruto": 0,
"estoqueAtual": 100,
"codigoFabricante": 0,
"urlDetalhe": "",
"urlEstoqueDetalhe": "/estoque/3",
"urlTabelaPreco": "/precos/3",
"urlPromocoes": "/promocoes/produto/3",
"urlFotos": "/fotos/3",

[...]								
							

Estoque Teste

Verificando o estoque do produto 1

 

Requisição

GET /estoque/1
AuthKey: 1
Authorization: Token SElFQVBBLTYwMDc1OS1ST0NUMDAwMQ0KYWRtaW4NCjYzNjg4ODY3MzAwOTEyNTE1OA0KUG9zdG1hblJ1bnRpbWUvNy42LjE=:8YUzqB78ff6TmhgYBabl44/RfDKelZxyTELlbtyD3wg=
Signature: sWX13yH54zAn0BGW7HNLne9fKA1yINB/FygYSTzMmHQ=
Timestamp: 1553282051
cache-control: no-cache
Accept: */*
Host: idealsoftexportaweb.eastus.cloudapp.azure.com:60500
accept-encoding: gzip, deflate

 

Resposta

HTTP/1.1 200
status: 200
Transfer-Encoding: chunked
Content-Type: application/json; charset=utf-8
Server: Microsoft-HTTPAPI/2.0
Date: Fri, 22 Mar 2019 19:14:11 GMT
Clique para visualizar o conteúdo completo
								
									
{
    "sucesso": true,
    "mensagem": null,
    "tipo": null,
    "complementoTipo": null,
    "statusCode": 200,
    "dados": {
        "codigo": "1",
        "urlDetalhe": "",
        "tipoEstoque": "N",
        "estoqueFiliais": [
            {
                "codigoFilial": 1,
                "estoqueAtual": 25
            },
            {
                "codigoFilial": 6,
                "estoqueAtual": 1000
            }
        ]
    }
}								
							

 

Verificando o estoque do produto 1000 (grade)

 

Requisição

GET /estoque/1000/grade/
AuthKey: 1
Authorization: Token SElFQVBBLTYwMDc1OS1ST0NUMDAwMQ0KYWRtaW4NCjYzNjg4ODY3MzAwOTEyNTE1OA0KUG9zdG1hblJ1bnRpbWUvNy42LjE=:8YUzqB78ff6TmhgYBabl44/RfDKelZxyTELlbtyD3wg=
Signature: Gh8CUcmjWKm6jtV/UyT8Da7zW7uP09MSxiPJW4Y+YWw=
Timestamp: 1553282420
cache-control: no-cache
Accept: */*
Host: idealsoftexportaweb.eastus.cloudapp.azure.com:60500
accept-encoding: gzip, deflate

 

Resposta

HTTP/1.1 200
status: 200
Transfer-Encoding: chunked
Content-Type: application/json; charset=utf-8
Server: Microsoft-HTTPAPI/2.0
Date: Fri, 22 Mar 2019 19:20:20 GMT
Clique para visualizar o conteúdo completo
								
									
{
    "sucesso": true,
    "mensagem": null,
    "tipo": null,
    "complementoTipo": null,
    "statusCode": 200,
    "dados": {
        "codigo": "1000",
        "lista": [
            {
                "codigoCompleto": "001001",
                "codigoCor": "1",
                "codigoTamanho": "1",
                "estoqueAtual": 5,
                "codigoFilial": 1
            },
            {
                "codigoCompleto": "001002",
                "codigoCor": "2",
                "codigoTamanho": "1",
                "estoqueAtual": 5,
                "codigoFilial": 1
            },
            {
                "codigoCompleto": "001003",
                "codigoCor": "3",
                "codigoTamanho": "1",
                "estoqueAtual": 5,
                "codigoFilial": 1
            },
            {
                "codigoCompleto": "002001",
                "codigoCor": "1",
                "codigoTamanho": "2",
                "estoqueAtual": 5,
                "codigoFilial": 1
            },
            {
                "codigoCompleto": "002002",
                "codigoCor": "2",
                "codigoTamanho": "2",
                "estoqueAtual": 5,
                "codigoFilial": 1
            },
            {
                "codigoCompleto": "002003",
                "codigoCor": "3",
                "codigoTamanho": "2",
                "estoqueAtual": 5,
                "codigoFilial": 1
            },
            {
                "codigoCompleto": "003001",
                "codigoCor": "1",
                "codigoTamanho": "3",
                "estoqueAtual": 5,
                "codigoFilial": 1
            },
            {
                "codigoCompleto": "003002",
                "codigoCor": "2",
                "codigoTamanho": "3",
                "estoqueAtual": 5,
                "codigoFilial": 1
            },
            {
                "codigoCompleto": "003003",
                "codigoCor": "3",
                "codigoTamanho": "3",
                "estoqueAtual": 5,
                "codigoFilial": 1
            },
            {
                "codigoCompleto": "004001",
                "codigoCor": "1",
                "codigoTamanho": "4",
                "estoqueAtual": 5,
                "codigoFilial": 1
            },
            {
                "codigoCompleto": "004002",
                "codigoCor": "2",
                "codigoTamanho": "4",
                "estoqueAtual": 5,
                "codigoFilial": 1
            },
            {
                "codigoCompleto": "004003",
                "codigoCor": "3",
                "codigoTamanho": "4",
                "estoqueAtual": 5,
                "codigoFilial": 1
            },
            {
                "codigoCompleto": "001001",
                "codigoCor": "1",
                "codigoTamanho": "1",
                "estoqueAtual": 1000,
                "codigoFilial": 6
            },
            {
                "codigoCompleto": "001003",
                "codigoCor": "3",
                "codigoTamanho": "1",
                "estoqueAtual": 1000,
                "codigoFilial": 6
            },
            {
                "codigoCompleto": "002001",
                "codigoCor": "1",
                "codigoTamanho": "2",
                "estoqueAtual": 1000,
                "codigoFilial": 6
            },
            {
                "codigoCompleto": "002002",
                "codigoCor": "2",
                "codigoTamanho": "2",
                "estoqueAtual": 1000,
                "codigoFilial": 6
            },
            {
                "codigoCompleto": "002003",
                "codigoCor": "3",
                "codigoTamanho": "2",
                "estoqueAtual": 1000,
                "codigoFilial": 6
            },
            {
                "codigoCompleto": "003001",
                "codigoCor": "1",
                "codigoTamanho": "3",
                "estoqueAtual": 2000,
                "codigoFilial": 6
            },
            {
                "codigoCompleto": "003002",
                "codigoCor": "2",
                "codigoTamanho": "3",
                "estoqueAtual": 1000,
                "codigoFilial": 6
            },
            {
                "codigoCompleto": "003003",
                "codigoCor": "3",
                "codigoTamanho": "3",
                "estoqueAtual": 1000,
                "codigoFilial": 6
            },
            {
                "codigoCompleto": "004001",
                "codigoCor": "1",
                "codigoTamanho": "4",
                "estoqueAtual": 1000,
                "codigoFilial": 6
            },
            {
                "codigoCompleto": "004002",
                "codigoCor": "2",
                "codigoTamanho": "4",
                "estoqueAtual": 1000,
                "codigoFilial": 6
            },
            {
                "codigoCompleto": "004003",
                "codigoCor": "3",
                "codigoTamanho": "4",
                "estoqueAtual": 1000,
                "codigoFilial": 6
            }
        ]
    }
}								
							

Venda

Preparando os dados para uma venda

Enviando uma venda incorreta

Requisição

POST /vendas/
Content-Type: application/json
CodFilial: 1
Authorization: Token SElFQVBBLTYwMDc1OS1ST0NUMDAwMQ0KYWRtaW4NCjYzNjg5MTEwNzc1NzQ3MTgwNA0KUG9zdG1hblJ1bnRpbWUvNy42LjE=:uZUkE9AJYS2/t8ZsspRcLgcWRN+ffwDPA0Rm+nF70Xo=
Signature: hXGvqy4sXpO0zeQGftERQsmEj9WszKBcTK6YXDLPap8=
Timestamp: 1553514109
cache-control: no-cache
Accept: */*
Host: idealsoftexportaweb.eastus.cloudapp.azure.com:60500
accept-encoding: gzip, deflate
content-length: 1024
Clique para visualizar o conteúdo completo
								
									
{
  "CpfCnpj": "16025717087",
  "CodigoOperacao": "500",
  "CodigoCaixa": "1",
  "Data": "2019-02-19T00:00:00-03:00",
  "Produtos": [
    {
      "Codigo": "1",
      "CodigoCor": null,
      "CodigoTamanho": null,
      "Quantidade": 1.0000,
      "PrecoUnitario": 576.34,
      "DescontoUnitario": 100.00
    }
  ],
  "Recebimentos": [
    {
      "ValorParcelas": 476.34,
      "CodigoAdministradora": 1,
      "Vencimento": null,
      "Nsu": "995544",
      "QuantidadeParcelas": 1,
      "NumeroCartao": "2344",
      "Tipo": "C"
    }
  ],
  "DadosEntrega": {
    "Valor": 10.00,
    "OpcoesFretePagoPor": "O",
    "PesoBruto": 0.0,
    "PesoLiquido": 0.0,
    "Volume": 0.0,
    "DataEntrega": null,
    "CnpjTransportadora": "24165926000103",
    "NaoSomarFreteTotalNota": true,
    "OutroEndereco": {
      "Cep": "82600380",
      "Endereco": "RUa nunia",
      "Numero": "dfjs 11",
      "Complemento": null,
      "Bairro": "Teste",
      "Cidade": "Curitiba",
      "Uf": "PR"
    }
  }
}								
							

 

Resposta

HTTP/1.1 200
status: 200
Transfer-Encoding: chunked
Content-Type: application/json; charset=utf-8
Server: Microsoft-HTTPAPI/2.0
Date: Mon, 25 Mar 2019 11:41:50 GMT
Clique para visualizar o conteúdo completo
								
									{
    "sucesso": true,
    "mensagem": null,
    "tipo": null,
    "complementoTipo": null,
    "statusCode": 200,
    "dados": {
        "recibo": "49baf82b-8985-4be0-84e8-03a8d9130211",
        "dataGeracao": "2019-03-25T08:41:50.3680548-03:00"
    }
}								
							

Consultando o recibo da venda incorreta

 

Requisição

GET /vendas/49baf82b-8985-4be0-84e8-03a8d9130211
CodFilial: 1
Authorization: Token SElFQVBBLTYwMDc1OS1ST0NUMDAwMQ0KYWRtaW4NCjYzNjg5MTEwNzc1NzQ3MTgwNA0KUG9zdG1hblJ1bnRpbWUvNy42LjE=:uZUkE9AJYS2/t8ZsspRcLgcWRN+ffwDPA0Rm+nF70Xo=
Signature: HBQZb9YFpggBkXgbcH7VYREMfaO+8kg7JRdBJ/yYLSA=
Timestamp: 1553515058
cache-control: no-cache
Postman-Token: 4ef5458f-18ea-4600-adfb-ce8eb3c17eeb
User-Agent: PostmanRuntime/7.6.1
Accept: */*
Host: idealsoftexportaweb.eastus.cloudapp.azure.com:60500
accept-encoding: gzip, deflate

 

Resposta

HTTP/1.1 200
status: 200
Transfer-Encoding: chunked
Content-Type: application/json; charset=utf-8
Server: Microsoft-HTTPAPI/2.0
Date: Mon, 25 Mar 2019 11:57:38 GMT
Clique para visualizar o conteúdo completo
								
									{
    "sucesso": true,
    "mensagem": null,
    "tipo": null,
    "complementoTipo": null,
    "statusCode": 200,
    "dados": {
        "recibo": "49baf82b-8985-4be0-84e8-03a8d9130211",
        "pedidoProcessado": false,
        "erros": "A transportadora com o CPF/CNPJ 24165926000103 não está cadastrada no Shop Control 9.",
        "notaFiscal": null
    }
}								
							

Enviando uma venda correta

 

Requisição

POST /vendas/
Content-Type: application/json
CodFilial: 1
Authorization: Token SElFQVBBLTYwMDc1OS1ST0NUMDAwMQ0KYWRtaW4NCjYzNjg5MTEwNzc1NzQ3MTgwNA0KUG9zdG1hblJ1bnRpbWUvNy42LjE=:uZUkE9AJYS2/t8ZsspRcLgcWRN+ffwDPA0Rm+nF70Xo=
Signature: JD4ONSAx/bwwGR0TBtZHHHcz46gHVz8dcVKTjeUOr7U=
Timestamp: 1553515586
cache-control: no-cache
Accept: */*
Host: idealsoftexportaweb.eastus.cloudapp.azure.com:60500
accept-encoding: gzip, deflate
content-length: 1019
Clique para visualizar o conteúdo completo
								
									{
  "CpfCnpj": "16025717087",
  "CodigoOperacao": "500",
  "Data": "2019-02-19T00:00:00-03:00",
  "Produtos": [
    {
      "Codigo": "1",
      "CodigoCor": null,
      "CodigoTamanho": null,
      "Quantidade": 1.0000,
      "PrecoUnitario": 576.34,
      "DescontoUnitario": 100.00
    }
  ],
  "Recebimentos": [
    {
      "ValorParcelas": 476.34,
      "CodigoAdministradora": 1,
      "Vencimento": null,
      "Nsu": "995544",
      "QuantidadeParcelas": 1,
      "NumeroCartao": "2344",
      "Tipo": "C"
    }
  ],
  "DadosEntrega": {
    "Valor": 10.00,
    "OpcoesFretePagoPor": "O",
    "PesoBruto": 0.0,
    "PesoLiquido": 0.0,
    "Volume": 0.0,
    "DataEntrega": null,
    "CnpjTransportadora": "32163565000186",
    "NaoSomarFreteTotalNota": true,
    "OutroEndereco": {
      "Cep": "82600380",
      "Endereco": "Rua Nunia",
      "Numero": "11",
      "Complemento": null,
      "Bairro": "Teste",
      "Cidade": "Curitiba",
      "Uf": "PR"
    }
  }
}
								
							

 

Resposta

HTTP/1.1 200
status: 200
Transfer-Encoding: chunked
Content-Type: application/json; charset=utf-8
Server: Microsoft-HTTPAPI/2.0
Date: Mon, 25 Mar 2019 12:06:27 GMT
Clique para visualizar o conteúdo completo
								
									{
    "sucesso": true,
    "mensagem": null,
    "tipo": null,
    "complementoTipo": null,
    "statusCode": 200,
    "dados": {
        "recibo": "9d2e2138-9a9c-40ee-8dcb-390c4843d5a2",
        "dataGeracao": "2019-03-25T09:06:26.9699921-03:00"
    }
}								
							

Consultando o recibo de uma venda correta

 

Requisição

GET /vendas/9d2e2138-9a9c-40ee-8dcb-390c4843d5a2
CodFilial: 1
Authorization: Token SElFQVBBLTYwMDc1OS1ST0NUMDAwMQ0KYWRtaW4NCjYzNjg5MTEwNzc1NzQ3MTgwNA0KUG9zdG1hblJ1bnRpbWUvNy42LjE=:uZUkE9AJYS2/t8ZsspRcLgcWRN+ffwDPA0Rm+nF70Xo=
Signature: zkosSwd9JAaTotUIKJ9W/NIM541csGwG/odBuRgOrcA=
Timestamp: 1553515594
cache-control: no-cache
Postman-Token: ae856a65-df43-49db-b70f-a47e80e281ef
User-Agent: PostmanRuntime/7.6.1
Accept: */*
Host: idealsoftexportaweb.eastus.cloudapp.azure.com:60500
accept-encoding: gzip, deflate

 

Resposta

HTTP/1.1 200
status: 200
Transfer-Encoding: chunked
Content-Type: application/json; charset=utf-8
Server: Microsoft-HTTPAPI/2.0
Date: Mon, 25 Mar 2019 12:06:34 GMT
Clique para visualizar o conteúdo completo
								
									{
    "sucesso": true,
    "mensagem": null,
    "tipo": null,
    "complementoTipo": null,
    "statusCode": 200,
    "dados": {
        "recibo": "9d2e2138-9a9c-40ee-8dcb-390c4843d5a2",
        "pedidoProcessado": true,
        "erros": null,
        "notaFiscal": null
    }
}