menu





    Confirmo que estou de acordo com os Termos de Uso da Política de Privacidade

    close

    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, delet
    * 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

    Filial

    Traz a lista de Filiais cadastradas.

    GET/filial/pagina?datade=[datade]&dataate=[dataate]

    Parâmetros

    datade (opcional): A data mínima de alteração para que sejam filtrados os resultados.

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

    ativo (opcional): booleano.

    <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.

    Traz detalhes do cadastro da filial.

    GET/filial/detalhe/codigoFilial

     

    Parâmetros

    codigoFilial: O campo código da filial.

    <JSON/>

     

    codigo: [string]
    nome: [string]
    razaoSocial: [string]
    cNPJ: [string]
    bairro: [string]
    cidade: [string]
    estado: [string]
    CEP: [string]

    Exemplo
    {
    "sucesso": true,
    "mensagem": null,
    "tipo": null,
    "complementoTipo": null,
    "statusCode": 200,
    "dados": [
         {
         "codigo": "1",
         "nome": "FILIAL 1",
         "razaoSocial": "Razão Social Curitiba",
         "cNPJ": "00000000000001",
         "bairro": "Alto da XV",
         "cidade": "Curitiba",
         "estado": "PR",
         "cEP": "80040380"
         },
         {
         "codigo": "2",
         "nome": "FILIAL SP",
         "razaoSocial": "Razão Social Sampa",
         "cNPJ": "00000000000002",
         "bairro": "Pinheiros",
         "cidade": "São Paulo",
         "estado": "SP",
         "cEP": "05414011"
         },
      ]
    }

    Funcionários

    Traz a lista de funcionários cadastrados.

    GET/funcionarios/pagina?datadefunc=[data]&dataatefunc=[data]

     

    Parâmetros

    datadefunc: A data mínima de alteração para que sejam filtrados os resultados.

    dataatefunc: A data máxima de alteração para que sejam filtrados os resultados.
    ativo: booleano.
    tecnico: booleano.
    vendedor: booleano.

    <JSON/>

     

    codigo: [string]
    nome: [string]
    apelido: [string]
    sexo: [string](M ou F)
    admissao: [string]
    demissao: [string]
    endereço: [string]
    bairro: [string]
    cidade: [string]
    estado: [string]
    telefone: [string]
    inativo: [bool]
    vendedor: [bool]
    tecnico: [bool]
    cargo: [string]
    cpf: [string]
    email: [string]

    Exemplo
    {
    "sucesso": true,
    "mensagem": null,
    "tipo": null,
    "complementoTipo": null,
    "statusCode": 200,
    "dados": [
         {
         "codigo": 1,
         "nome": "FUNCIONÁRIO ADMINISTRADOR",
         "apelido": "ADMINISTRADOR",
         "sexo": "M",
         "admissao": "2019-07-15T00:00:00-03:00",
         "demissao": null,
         "endereco": "Rua Aramis Taborda Athayde",
         "bairro": "Hugo Lange",
         "cidade": "Curitiba",
         "estado": "PR",
         "telefone": "41999466849",
         "inativo": false,
         "vendedor": false,
         "tecnico": false,
         "cargo": "Gestor Financeiro",
         "cpf": "000.000.000-00",
         "email": "email@email.com.br"
         },
         {
         "codigo": 2,
         "nome": "FUNCIONÁRIO DOIS",
         "apelido": "FUNC 2",
         "sexo": "M",
         "admissao": "2019-07-15T00:00:00-03:00",
         "demissao": null,
         "endereco": "Rua Professor Brandão",
         "bairro": "Alto da XV",
         "cidade": "Curitiba",
         "estado": "PR",
         "telefone": "41999999999",
         "inativo": false,
         "vendedor": false,
         "tecnico": false,
         "cargo": "Vendedor",
         "cpf": "000.000.000-00",
         "email": "email@email.com.br"
         },
       ]
    }

    Traz os detalhes do cadastro do funcionario.

    GET/funcionarios/detalhes/codigoFuncionario

     

    Parâmetros

    codigoFuncionario: O campo código do Funcionário.

    <JSON/>

     

    codigo: [string]
    nome: [string]
    apelido: [string]
    sexo: [string](M ou F)
    admissao: [string]
    demissao: [string]
    endereço: [string]
    bairro: [string]
    cidade: [string]
    estado: [string]
    telefone: [string]
    inativo: [bool]
    vendedor: [bool]
    tecnico: [bool]
    cargo: [string]
    cpf: [string]
    email: [string]

    Exemplo
    {
    "sucesso": true,
    "mensagem": null,
    "tipo": null,
    "complementoTipo": null,
    "statusCode": 200,
    "dados": [
         {
         "codigo": 1,
         "nome": "FUNCIONÁRIO ADMINISTRADOR",
         "apelido": "ADMINISTRADOR",
         "sexo": "M",
         "admissao": "2019-07-15T00:00:00-03:00",
         "demissao": null,
         "endereco": "Rua Aramis Taborda Athayde",
         "bairro": "Hugo Lange",
         "cidade": "Curitiba",
         "estado": "PR",
         "telefone": "41999999999",
         "inativo": false,
         "vendedor": false,
         "tecnico": false,
         "cargo": "Gestor Financeiro",
         "cpf": "000.000.000-00",
         "email": "email@email.com.br"
         },
       ]
    }

    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
    dataate (opcional): A data máxima de alteração

    <JSON/>

     

    codigo: [string]
    nome: [string]

    Exemplo
    {
    "sucesso": true,
    "mensagem": null,
    "tipo": null,
    "complementoTipo": null,
    "statusCode": 200,
    "dados": [
         {
         "codigo": "1",
         "nome": "Produto Acabado"
         },
         {
         "codigo": "2",
         "nome": "Insumos"
         },
         {
         "codigo": "9999",
         "nome": "Outras"
         }
       ]
    }

    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/>

     

    ordem: [int]
    codigo: [long]
    nome: [string]
    fantasia: [string]
    tipo: “C”, “F”, “R” – (Verificar descrição logo abaixo)
    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]
    LGPD_Receber_Campanhas_Marketing: [bool]
    LGPD_Receber_Contato_Situacao_Pedido: [bool]
    LGPD_Telefone_Contato_Formatado: [string] (II) IIIII-IIII
    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]
    IndicadorIE: 1, 2 ou 9 – (Verificar descrição logo abaixo)
    vendedor1: 
    {
         ordem:[int]
         codigo:[string]
         nome:[string]
    }
    vendedor2:
    {
         ordem:[int]
         codigo:[string]
         nome:[string]
    }
    tabelaPrecosPadrao: [string]
    codigoClasse: [string]
    codigoFilial: [string]
    filialExclusiva: [bool]
    urlContatos: [string]
    utiliza_Fidelidade: [bool]
    contatos:
    [{
              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” – (Verificar descrição logo abaixo)
              email: [string]
              ordem: [int]
    }]


    Tipo Cliente
    C – Cliente
    F – Fornecedor
    R – Revenda


    Indicador IE
    1 – Contribuinte
    2 – Isento
    9 – Não contribuinte


    Tipo Email
    E – Empresa
    P – Pessoal
    F – Financeiro
    N – NF-e
    M – Mala Direta

    Exemplo
    {
      "sucesso": true,
      "mensagem": null,
      "tipo": null,
      "complementoTipo": null,
      "statusCode": 200,
      "dados": [
        {
          "ordem": 1234,
          "codigo": 5678,
          "nome": "João da Silva",
          "fantasia": "Silva e Cia",
          "tipo": "J",
          "fisicaJuridica": "J",
          "cpfCnpj": "12345678000190",
          "rg": "MG12345678",
          "ie": "123456789",
          "cep": "30123456",
          "endereco": "Rua Exemplo de Dados",
          "numero": "1000",
          "complemento": "Sala 100",
          "bairro": "Centro",
          "cidade": "Belo Horizonte",
          "uf": "MG",
          "pais": "BRASIL",
          "telefone1": "31999999999",
          "telefone2": "3133333333",
          "fax": "3133334444",
          "lGPD_Receber_Campanhas_Marketing": false,
          "lGPD_Receber_Contato_Situacao_Pedido": true,
          "lGPD_Telefone_Contato_Formatado": "31999999999",
          "entregaCep": "30123456",
          "entregaEndereco": "Avenida Exemplo",
          "entregaNumero": "200",
          "entregaComplemento": "Loja 1",
          "entregaBairro": "Savassi",
          "entregaCidade": "Belo Horizonte",
          "entregaUf": "MG",
          "entregaPais": "BRASIL",
          "entregaPontoRef1": "Próximo ao shopping",
          "entregaPontoRef2": "Ao lado do banco",
          "faturamentoCep": "30123456",
          "faturamentoEndereco": "Rua Faturamento",
          "faturamentoNumero": "1500",
          "faturamentoComplemento": "Andar 3",
          "faturamentoBairro": "Funcionários",
          "faturamentoCidade": "Belo Horizonte",
          "faturamentoUf": "MG",
          "faturamentoPais": "BRASIL",
          "faturamentoPontoRef1": "Perto da praça",
          "faturamentoPontoRef2": "Próximo à igreja",
          "indicadorIE": 1,
          "vendedor1": {
            "ordem": 10,
            "codigo": 100,
            "nome": "Maria Souza"
          },
          "vendedor2": {
            "ordem": 20,
            "codigo": 200,
            "nome": "Carlos Oliveira"
          },
          "tabelaPrecosPadrao": "Tabela 1",
          "codigoClasse": 2,
          "codigoFilial": 3,
          "filialExclusiva": true,
          "urlContatos": "/contatos/5678",
          "utiliza_Fidelidade": false,
          "contatos": [
            {
              "nome": "João",
              "sexo": "M",
              "cargo": "Gerente",
              "diaAniversario": 10,
              "mesAniversario": "JUL",
              "anoAniversario": 1985,
              "telefone": "31999999999",
              "ramal": "100",
              "tipoEmail": "P",
              "email": "joao.silva@example.com",
              "ordem": 4321
            }
          ]
        }
      ]
    }

    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/>

     

    ordem: [int]
    codigo: [long]
    nome: [string]
    fantasia: [string]
    tipo: “C”, “F”, “R” – (Verificar descrição logo abaixo)
    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]
    LGPD_Receber_Campanhas_Marketing: [bool]
    LGPD_Receber_Contato_Situacao_Pedido: [bool]
    LGPD_Telefone_Contato_Formatado: [string] (II) IIIII-IIII
    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]
    IndicadorIE: 1, 2 ou 9 – (Verificar descrição logo abaixo)
    vendedor1: 
    {
         ordem:[int]
         codigo:[string]
         nome:[string]
    }
    vendedor2:
    {
         ordem:[int]
         codigo:[string]
         nome:[string]
    }
    tabelaPrecosPadrao: [string]
    codigoClasse: [string]
    codigoFilial: [string]
    filialExclusiva: [bool]
    urlContatos: [string]
    utiliza_Fidelidade: [bool]
    contatos:
    [{
              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” – (Verificar descrição logo abaixo)
              email: [string]
              ordem: [int]
    }]


    Tipo Cliente
    C – Cliente
    F – Fornecedor
    R – Revenda


    Indicador IE
    1 – Contribuinte
    2 – Isento
    9 – Não contribuinte


    Tipo Email
    E – Empresa
    P – Pessoal
    F – Financeiro
    N – NF-e
    M – Mala Direta

    Exemplo
    {
      "sucesso": true,
      "mensagem": null,
      "tipo": null,
      "complementoTipo": null,
      "statusCode": 200,
      "dados": [
        {
          "ordem": 1234,
          "codigo": 5678,
          "nome": "João da Silva",
          "fantasia": "Silva e Cia",
          "tipo": "J",
          "fisicaJuridica": "J",
          "cpfCnpj": "12345678000190",
          "rg": "MG12345678",
          "ie": "123456789",
          "cep": "30123456",
          "endereco": "Rua Exemplo de Dados",
          "numero": "1000",
          "complemento": "Sala 100",
          "bairro": "Centro",
          "cidade": "Belo Horizonte",
          "uf": "MG",
          "pais": "BRASIL",
          "telefone1": "31999999999",
          "telefone2": "3133333333",
          "fax": "3133334444",
          "lGPD_Receber_Campanhas_Marketing": false,
          "lGPD_Receber_Contato_Situacao_Pedido": true,
          "lGPD_Telefone_Contato_Formatado": "31999999999",
          "entregaCep": "30123456",
          "entregaEndereco": "Avenida Exemplo",
          "entregaNumero": "200",
          "entregaComplemento": "Loja 1",
          "entregaBairro": "Savassi",
          "entregaCidade": "Belo Horizonte",
          "entregaUf": "MG",
          "entregaPais": "BRASIL",
          "entregaPontoRef1": "Próximo ao shopping",
          "entregaPontoRef2": "Ao lado do banco",
          "faturamentoCep": "30123456",
          "faturamentoEndereco": "Rua Faturamento",
          "faturamentoNumero": "1500",
          "faturamentoComplemento": "Andar 3",
          "faturamentoBairro": "Funcionários",
          "faturamentoCidade": "Belo Horizonte",
          "faturamentoUf": "MG",
          "faturamentoPais": "BRASIL",
          "faturamentoPontoRef1": "Perto da praça",
          "faturamentoPontoRef2": "Próximo à igreja",
          "indicadorIE": 1,
          "vendedor1": {
            "ordem": 10,
            "codigo": 100,
            "nome": "Maria Souza"
          },
          "vendedor2": {
            "ordem": 20,
            "codigo": 200,
            "nome": "Carlos Oliveira"
          },
          "tabelaPrecosPadrao": "Tabela 1",
          "codigoClasse": 2,
          "codigoFilial": 3,
          "filialExclusiva": true,
          "urlContatos": "/contatos/5678",
          "utiliza_Fidelidade": false,
          "contatos": [
            {
              "nome": "João",
              "sexo": "M",
              "cargo": "Gerente",
              "diaAniversario": 10,
              "mesAniversario": "JUL",
              "anoAniversario": 1985,
              "telefone": "31999999999",
              "ramal": "100",
              "tipoEmail": "P",
              "email": "joao.silva@example.com",
              "ordem": 4321
            }
          ]
        }
      ]
    }

    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:
    [{
             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” – (Verificar descrição logo abaixo)
             email: [string]
             ordem: [int]
    }]


    Tipo Email
    E – Empresa
    P – Pessoal
    F – Financeiro
    N – NF-e
    M – Mala Direta

    Exemplo
    {
      "sucesso": true,
      "mensagem": null,
      "tipo": null,
      "complementoTipo": null,
      "statusCode": 200,
      "dados": [
        {
          "codigoCliente": 2,
          "contatos": [
             {
              "sexo": "M",
              "cargo": "Gerente de TI",
              "diaAniversario": 15,
              "mesAniversario": "MAR",
              "anoAniversario": 1985,
              "telefone": "+55 11 91234-5678",
              "ramal": "101",
              "tipoEmail": "E",
              "email": "gerente.ti@empresa.com",
              "ordem": 118,
              "codigo": 2,
              "nome": "Carlos Silva"
            },
            {
              "sexo": "M",
              "cargo": "Desenvolvedor",
              "diaAniversario": 5,
              "mesAniversario": "DEZ",
              "anoAniversario": 1992,
              "telefone": "+55 31 97654-3210",
              "ramal": "303",
              "tipoEmail": "F",
              "email": "dev.junior@empresa.com",
              "ordem": 120,
              "codigo": 4,
              "nome": "João Souza"
            }
          ]
        }
      ]
    }

    Cadastrar Cliente

    POST /clientes

     

    Parâmetros

    Nenhum.

     

    Parâmetros BODY

    Content-Type: application/json

     

    Único JSON:

    Nome: [string]
    Fantasia: [string]
    Tipo: “C”, “F”, “R” (Verificar descrição logo abaixo)
    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]
    LGPD_Receber_Campanhas_Marketing: [bool]
    LGPD_Receber_Contato_Situacao_Pedido: [bool]
    LGPD_Telefone_Contato_Formatado: [string] (II) IIIII-IIII
    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]
    IndicadorIE: 1, 2 ou 9 (Verificar descrição logo abaixo)
    UrlContatos: [string]
    Utiliza_Fidelidade: [bool]
    FilialExclusiva: [bool]
    CodigoFilial: [string]
    CodigoClasse: [string]
    TabelaPrecosPadrao: [string]


    Indicador IE
    1 – Contribuinte
    2 – Isento
    9 – Não contribuinte

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

    <JSON/>

     

    codigoGerado: [long]

    Exemplo
    {
    "sucesso": true,
    "mensagem": null,
    "tipo": null,
    "complementoTipo": null,
    "statusCode": 200,
         "dados": {
              "codigoGerado": 1562
         }
    }

    Atualizar Cliente

    PUT /clientes

     

    Parâmetros

    Nenhum.

     

    Parâmetros BODY

    Content-Type: application/json

     

    Único JSON:

    Nome: [string]
    Fantasia: [string]
    Tipo: “C”, “F”, “R” – (Verificar descrição logo abaixo)
    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]
    LGPD_Receber_Campanhas_Marketing: [bool]
    LGPD_Receber_Contato_Situacao_Pedido: [bool]
    LGPD_Telefone_Contato_Formatado: [string] (II) IIIII-IIII
    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]
    IndicadorIE: 1, 2 ou 9 – (Verificar descrição logo abaixo)
    UrlContatos: [string]
    Utiliza_Fidelidade: [bool]
    FilialExclusiva: [bool]
    CodigoFilial: [string]
    CodigoClasse: [string]
    TabelaPrecosPadrao: [string]


    Indicador IE
    1 – Contribuinte
    2 – Isento
    9 – Não contribuinte

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

    <JSON/>

     

    codigoGerado: [long]

    Exemplo
    {
    "sucesso": true,
    "mensagem": null,
    "tipo": null,
    "complementoTipo": null,
    "statusCode": 200,
         "dados": {
              "codigoGerado": 1562
         }
    }

    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:

    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” – (Verificar descrição logo abaixo)
    Email: [string]
    Ordem: [int]
    Codigo: [long]
    Nome: [string]


    Tipo Email
    E – Empresa
    P – Pessoal
    F – Financeiro
    N – NF-e
    M – Mala Direta

    <JSON/>

     

    Exemplo
    {
      "sucesso": true,
      "mensagem": null,
      "tipo": null,
      "complementoTipo": null,
      "statusCode": 200,
      "dados": [
        7885
      ]
    }

    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:

    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” – (Verificar descrição logo abaixo)
    Email: [string]
    Ordem: [int]
    Codigo: [long]
    Nome: [string]


    Tipo Email
    E – Empresa
    P – Pessoal
    F – Financeiro
    N – NF-e
    M – Mala Direta

    <JSON/>

    Exemplo
    {
      "sucesso": true,
      "mensagem": null,
      "tipo": null,
      "complementoTipo": null,
      "statusCode": 200,
      "dados": [
        7885
      ]
    }

    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/detalhes/codigo

     

    Parâmetros

    codigo: Código do produto

     

    Parâmetros BODY
    Nenhum.

    <JSON/>

     

    ordem: [int]
    codigo: [int]
    nome: [string]
    extra1: [string]
    extra2: [string]
    extra3: [string]
    observacao1: [string]
    observacao2: [string]
    observacao3: [string]
    tipo: 0 ou 1 (Normal, Grade)
    codigoClasse: [int]
    codigoSubclasse: [int]
    codigoGrupo: [int]
    codigoMoeda: [int]
    codigoFamilia: [int]
    codigoUnidadeVenda: [int]
    codigoPesquisa1: [int]
    codigoPesquisa2: [int]
    codigoPesquisa3: [int]
    pesoLiquido: [decimal]
    pesoBruto: [decimal]
    estoqueAtual: [decimal]
    codigoFabricante: [int]
    webObs1: [string]
    webObs2: [string]
    inativo: [bool]
    altura: [decimal]
    largura: [decimal]
    comprimento: [decimal]
    codigoAdicional1: [string]
    codigoAdicional2: [string]
    codigoAdicional3: [string]
    codigoAdicional4: [string]
    codigoAdicional5: [string]
    codigoBarras: [string]
    urlDetalhe: [string]
    urlEstoqueDetalhe: [string]
    urlTabelaPreco: [string]
    urlPromocoes: [string]
    urlFotos: [string]
    precos:
    [{
             tabela: [string]
             preco: [decimal]
             promocional: [bool]
    }]
    nomeSite: [string]
    codigoNCM: [string]
    nomeUnidadeVendas: [string]
    codigoPesquisa1: [int]
    nomePesquisa1: [string]
    eanTributavel: [string]
    codigoFornecedor: [int]
    nomeFornecedor: [string]
    nomeClasse: [string]
    nomeLocalizacao: [string]
    fornecedores:
    [{
             nome: [string]
             codigo: [int]
    }]

    Exemplo
    {
      "ordem": 1,
      "codigo": 123456,
      "nome": "Produto Exemplo",
      "extra1": "Detalhe extra 1",
      "extra2": "Detalhe extra 2",
      "extra3": "Detalhe extra 3",
      "observacao1": "Observação relevante 1",
      "observacao2": "Observação relevante 2",
      "observacao3": "Observação relevante 3",
      "tipo": 0,
      "codigoClasse": 10,
      "codigoSubclasse": 20,
      "codigoGrupo": 30,
      "codigoMoeda": 1,
      "codigoFamilia": 100,
      "codigoUnidadeVenda": 200,
      "codigoPesquisa1": 300,
      "codigoPesquisa2": 400,
      "codigoPesquisa3": 500,
      "pesoLiquido": 1.5,
      "pesoBruto": 1.7,
      "estoqueAtual": 100.0,
      "codigoFabricante": 999,
      "webObs1": "Observação web 1",
      "webObs2": "Observação web 2",
      "inativo": false,
      "altura": 10.0,
      "largura": 5.0,
      "comprimento": 20.0,
      "codigoAdicional1": "ADIC001",
      "codigoAdicional2": "ADIC002",
      "codigoAdicional3": "ADIC003",
      "codigoAdicional4": "ADIC004",
      "codigoAdicional5": "ADIC005",
      "codigoBarras": "1234567890123",
      "urlDetalhe": "produto/123456",
      "urlEstoqueDetalhe": "",
      "urlTabelaPreco": "",
      "urlPromocoes": "",
      "urlFotos": "",
      "precos": [
        {
          "tabela": "Padrão",
          "preco": 100.0,
          "promocional": false
        },
        {
          "tabela": "Promocional",
          "preco": 90.0,
          "promocional": true
        }
      ],
      "nomeSite": "Loja Exemplo"
      "nomeUnidadeVendas": "un",
      "nomePesquisa1": "30 ml",
      "eanTributavel": "192505072498",
      "codigoFornecedor": 5077,
      "nomeFornecedor": "Fornecedor Teste",
      "nomeClasse": "Exemplo",
      "nomeLocalizacao": "CD",
      "fornecedores": [
        {
          "nome": "Fornecedor 2",
          "codigo": 5077
        },
        {
          "nome": "Fornecedor 3",
          "codigo": 5043
        },
      ]
    }

    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/>

     

    ordem: [int]
    codigo: [int]
    nome: [string]
    extra1: [string]
    extra2: [string]
    extra3: [string]
    observacao1: [string]
    observacao2: [string]
    observacao3: [string]
    tipo: 0 ou 1 (Normal, Grade)
    codigoClasse: [int]
    codigoSubclasse: [int]
    codigoGrupo: [int]
    codigoMoeda: [int]
    codigoFamilia: [int]
    codigoUnidadeVenda: [int]
    codigoPesquisa1: [int]
    codigoPesquisa2: [int]
    codigoPesquisa3: [int]
    pesoLiquido: [decimal]
    pesoBruto: [decimal]
    estoqueAtual: [decimal]
    codigoFabricante: [int]
    webObs1: [string]
    webObs2: [string]
    inativo: [bool]
    altura: [decimal]
    largura: [decimal]
    comprimento: [decimal]
    codigoAdicional1: [string]
    codigoAdicional2: [string]
    codigoAdicional3: [string]
    codigoAdicional4: [string]
    codigoAdicional5: [string]
    codigoBarras: [string]
    urlDetalhe: [string]
    urlEstoqueDetalhe: [string]
    urlTabelaPreco: [string]
    urlPromocoes: [string]
    urlFotos: [string]
    precos:
    [{
             tabela: [string]
             preco: [decimal]
             promocional: [bool]
    }]
    nomeSite: [string]
    codigoNCM: [string]
    nomeUnidadeVendas: [string]
    codigoPesquisa1: [int]
    nomePesquisa1: [string]
    eanTributavel: [string]
    codigoFornecedor: [int]
    nomeFornecedor: [string]
    nomeClasse: [string]
    nomeLocalizacao: [string]
    fornecedores:
    [{
             nome: [string]
             codigo: [int]
    }]

    Exemplo
    {
      "ordem": 1,
      "codigo": 123456,
      "nome": "Produto Exemplo",
      "extra1": "Detalhe extra 1",
      "extra2": "Detalhe extra 2",
      "extra3": "Detalhe extra 3",
      "observacao1": "Observação relevante 1",
      "observacao2": "Observação relevante 2",
      "observacao3": "Observação relevante 3",
      "tipo": 0,
      "codigoClasse": 10,
      "codigoSubclasse": 20,
      "codigoGrupo": 30,
      "codigoMoeda": 1,
      "codigoFamilia": 100,
      "codigoUnidadeVenda": 200,
      "codigoPesquisa1": 300,
      "codigoPesquisa2": 400,
      "codigoPesquisa3": 500,
      "pesoLiquido": 1.5,
      "pesoBruto": 1.7,
      "estoqueAtual": 100.0,
      "codigoFabricante": 999,
      "webObs1": "Observação web 1",
      "webObs2": "Observação web 2",
      "inativo": false,
      "altura": 10.0,
      "largura": 5.0,
      "comprimento": 20.0,
      "codigoAdicional1": "ADIC001",
      "codigoAdicional2": "ADIC002",
      "codigoAdicional3": "ADIC003",
      "codigoAdicional4": "ADIC004",
      "codigoAdicional5": "ADIC005",
      "codigoBarras": "1234567890123",
      "urlDetalhe": "produto/123456",
      "urlEstoqueDetalhe": "",
      "urlTabelaPreco": "",
      "urlPromocoes": "",
      "urlFotos": "",
      "precos": [
        {
          "tabela": "Padrão",
          "preco": 100.0,
          "promocional": false
        },
        {
          "tabela": "Promocional",
          "preco": 90.0,
          "promocional": true
        }
      ],
      "nomeSite": "Loja Exemplo"
      "nomeUnidadeVendas": "un",
      "nomePesquisa1": "30 ml",
      "eanTributavel": "192505072498",
      "codigoFornecedor": 5077,
      "nomeFornecedor": "Fornecedor Teste",
      "nomeClasse": "Exemplo",
      "nomeLocalizacao": "CD",
      "fornecedores": [
        {
          "nome": "Fornecedor 2",
          "codigo": 5077
        },
        {
          "nome": "Fornecedor 3",
          "codigo": 5043
        },
      ]
    }

    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:
    [{
             posicao: [int]
             principal: [bool]
    }]

    Exemplo
    {
      "sucesso": true,
      "mensagem": null,
      "tipo": null,
      "complementoTipo": null,
      "statusCode": 200,
      "dados": {
        "codigo": "111333",
        "fotos": [
          {
            "posicao": 0,
            "principal": true
          }
        ]
      }
    }

    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

    (Imagem em Base64)

     

    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:
    [{
             ordem_Prod_Serv: [string]
             codigo_Prod_Serv: [string]
             tabela: [string]
             preco_Original: [decimal]
             promocional: [bool]
             preco_Promocional: [decimal]
             dataInicio: [DateTime]
             dataFim: [DateTime]
    }]

    Exemplo
    {
      "codigo": "PROD001",
      "precos": [
        {
          "ordem_Prod_Serv": "001",
          "codigo_Prod_Serv": "PROD001,
          "tabela": "Tabela Padrão",
          "preco_Original": 150.00,
          "promocional": true,
          "preco_Promocional": 120.00,
          "dataInicio": "2024-01-01T00:00:00",
          "dataFim": "2024-01-15T23:59:59"
        },
        {
          "ordem_Prod_Serv": "001",
          "codigo_Prod_Serv": "PROD001",
          "tabela": "Tabela Especial",
          "preco_Original": 180.00,
          "promocional": false,
          "preco_Promocional": 0.00,
          "dataInicio": "2024-02-01T00:00:00",
          "dataFim": "2024-02-28T23:59:59"
        }
      ]
    }

    GET v2/precos/codigoProduto

     

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

     

    Parâmetros BODY
    Nenhum.

    <JSON/>

     

    codigo: [string]
    precos:
    [{
             ordem_Prod_Serv: [string]
             codigo_Prod_Serv: [string]
             tabela: [string]
             preco_Original: [decimal]
             promocional: [bool]
             preco_Promocional: [decimal]
             dataInicio: [DateTime]
             dataFim: [DateTime]
    }]

    Exemplo
    {
      "codigo": "PROD002",
      "precos": [
        {
          "ordem_Prod_Serv": "002",
          "codigo_Prod_Serv": "PROD002",
          "tabela": "Tabela Varejo",
          "preco_Original": 200.00,
          "promocional": true,
          "preco_Promocional": 180.00,
          "dataInicio": "2024-03-01T00:00:00",
          "dataFim": "2024-03-10T23:59:59"
        },
        {
          "ordem_Prod_Serv": "002",
          "codigo_Prod_Serv": "PROD002",
          "tabela": "Tabela Atacado",
          "preco_Original": 190.00,
          "promocional": false,
          "preco_Promocional": 0.00,
          "dataInicio": "2024-04-01T00:00:00",
          "dataFim": "2024-04-30T23:59:59"
        }
      ]
    }

    Alteração de preços

    Alterar Preços de Produtos e Serviços

    PUT produtos/codigoProduto/tabelasprecos/ordemTabelaPreco

     

    Parâmetros
    codigoProduto: O campo código do produto.
    ordemTabelaPreco: O campo ordem da Tabela de Preços.

     

    Parâmetros BODY
    precoAtualizado: [decimal]

    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: [DateTime]
    dataFim: [DateTime]
    preco: [decimal]

    Exemplo
    {
      "sucesso": true,
      "mensagem": null,
      "tipo": null,
      "complementoTipo": null,
      "statusCode": 200,
      "dados": [
        {
          "codigoProduto": "10007",
          "tabelaPreco": "CUSTO",
          "dataInicio": "2024-06-25T00:00:00-03:00",
          "dataFim": "2024-11-22T00:00:00-03:00",
          "preco": 1.0
        },
        {
          "codigoProduto": "10007",
          "tabelaPreco": "ESPECIAL",
          "dataInicio": "2024-06-25T00:00:00-03:00",
          "dataFim": "2024-11-22T00:00:00-03:00",
          "preco": 11.2
        },
        {
          "codigoProduto": "10007",
          "tabelaPreco": "VAREJISTA",
          "dataInicio": "2024-06-25T00:00:00-03:00",
          "dataFim": "2024-11-22T00:00:00-03:00",
          "preco": 8.88
        }
      ]
    }

    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: [DateTime]
    dataFim: [DateTime]
    preco: [decimal]

    Exemplo
    {
      "sucesso": true,
      "mensagem": null,
      "tipo": null,
      "complementoTipo": null,
      "statusCode": 200,
      "dados": [
        {
          "codigoProduto": "10007",
          "tabelaPreco": "CUSTO",
          "dataInicio": "2024-06-25T00:00:00-03:00",
          "dataFim": "2024-11-22T00:00:00-03:00",
          "preco": 1.0
        },
        {
          "codigoProduto": "10007",
          "tabelaPreco": "ESPECIAL",
          "dataInicio": "2024-06-25T00:00:00-03:00",
          "dataFim": "2024-11-22T00:00:00-03:00",
          "preco": 11.2
        },
        {
          "codigoProduto": "10007",
          "tabelaPreco": "VAREJISTA",
          "dataInicio": "2024-06-25T00:00:00-03:00",
          "dataFim": "2024-11-22T00:00:00-03:00",
          "preco": 8.88
        }
      ]
    }

    Tabelas de Preço

    Consultar Várias Tabelas de Preço Paginada

    GET /tabelasprecos/pagina

     

    Parâmetros

    pagina: A requisição trará sempre no máximo 10 registros de Tabelas de Preço por página. Para pegar todos 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”.

     

    Parâmetros BODY
    Nenhum.

    <JSON/>

     

    [{
             ordem: [int]
             nome: [string]
             tipo: [string]
             ativo: [bool]
    }]

    Exemplo
    {
      "sucesso": true,
      "mensagem": null,
      "tipo": null,
      "complementoTipo": null,
      "statusCode": 200,
      "dados": [
        {
          "ordem": 10,
          "nome": "ATACADO 3",
          "tipo": "V",
          "ativo": false
        },
        {
          "ordem": 12,
          "nome": "ATACADO 4",
          "tipo": "V",
          "ativo": false
        },
      ]
    }
    

    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] “N” (Normal)
    estoqueFiliais:
    [{
             codigoFilial: [int]
             estoqueAtual: [decimal]
    }]

    Exemplo
    {
      "sucesso": true,
      "mensagem": null,
      "tipo": null,
      "complementoTipo": null,
      "statusCode": 200,
      "dados": {
        "codigo": "10001",
        "urlDetalhe": "",
        "tipoEstoque": "N",
        "estoqueFiliais": [
          {
            "codigoFilial": 1,
            "estoqueAtual": 127.0
          }
        ]
      }
    }

    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:
    [{
             codigoCompleto: [string]
             codigoCor: [int]
             codigoTamanho: [int]
             estoqueAtual: [decimal]
             codigoFilial: [int]
    }]

    Exemplo
    {
      "sucesso": true,
      "mensagem": null,
      "tipo": null,
      "complementoTipo": null,
      "statusCode": 200,
      "dados": {
        "codigo": "111333",
        "lista": [
          {
            "codigoCompleto": "001002",
            "codigoCor": "2",
            "codigoTamanho": "1",
            "estoqueAtual": 8990.0,
            "codigoFilial": 1
          },
          {
            "codigoCompleto": "001001",
            "codigoCor": "1",
            "codigoTamanho": "1",
            "estoqueAtual": 999000.0,
            "codigoFilial": 1
          },
          {
            "codigoCompleto": "001003",
            "codigoCor": "3",
            "codigoTamanho": "1",
            "estoqueAtual": 9000.0,
            "codigoFilial": 1
          },
          {
            "codigoCompleto": "002001",
            "codigoCor": "1",
            "codigoTamanho": "2",
            "estoqueAtual": 10000.0,
            "codigoFilial": 1
          }
        ]
      }
    }

    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:
    [{
             codigoCompleto: [string]
             codigoCor: [int]
             codigoTamanho: [int]
             estoqueAtual: [decimal]
             codigoFilial: [int]
    }]

    Exemplo
    {
      "sucesso": true,
      "mensagem": null,
      "tipo": null,
      "complementoTipo": null,
      "statusCode": 200,
      "dados": {
        "codigo": "111333",
        "lista": [
          {
            "codigoCompleto": "001002",
            "codigoCor": "2",
            "codigoTamanho": "1",
            "estoqueAtual": 8990.0,
            "codigoFilial": 1
          }
        ]
      }
    }

    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:
    [{
             codigoCompleto: [string]
             codigoCor: [int]
             codigoTamanho: [int]
             estoqueAtual: [decimal]
             codigoFilial: [int]
    }]

    Exemplo
    {
      "sucesso": true,
      "mensagem": null,
      "tipo": null,
      "complementoTipo": null,
      "statusCode": 200,
      "dados": {
        "codigo": "111333",
        "lista": [
          {
            "codigoCompleto": "001002",
            "codigoCor": "2",
            "codigoTamanho": "1",
            "estoqueAtual": 8990.0,
            "codigoFilial": 1
          }
        ]
      }
    }

    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:
    [{
             codigoCompleto: [string]
             codigoCor: [int]
             codigoTamanho: [int]
             estoqueAtual: [decimal]
             codigoFilial: [int]
    }]

    Exemplo
    {
      "sucesso": true,
      "mensagem": null,
      "tipo": null,
      "complementoTipo": null,
      "statusCode": 200,
      "dados": {
        "codigo": "111333",
        "lista": [
          {
            "codigoCompleto": "001002",
            "codigoCor": "2",
            "codigoTamanho": "1",
            "estoqueAtual": 8990.0,
            "codigoFilial": 1
          }
        ]
      }
    }

    Estoque V2

    Produtos Normais

    GET v2/estoque/detalhes/codigoProduto

     

     

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

     

    Parâmetros BODY
    Nenhum.

    <JSON/>

     

    codigo: [string]
    urlDetalhe: [string]
    tipoEstoque: “N”, “G”, “S”, “E”, “L” – (Verificar descrição logo abaixo)
    estoqueFiliais:
    [{
             codigoFilial: [int]
             estoqueAtual: [decimal]
    }]


    Tipo Estoque
    N – Normal
    G – Grade
    S – Série
    E – Edição
    L – Lote

    Exemplo
    {
      "sucesso": true,
      "mensagem": null,
      "tipo": null,
      "complementoTipo": null,
      "statusCode": 200,
      "dados": {
        "codigo": "10001",
        "urlDetalhe": "",
        "tipoEstoque": "N",
        "estoqueFiliais": [
          {
            "codigoFilial": 1,
            "estoqueAtual": -301.0
          }
        ]
      }
    }

    Produtos Lote

    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:
    [{
             lote: [string]
             estoqueAtual: [int]
             codigoFilial: [int]
    }]

    Exemplo
    {
      "sucesso": true,
      "mensagem": null,
      "tipo": null,
      "complementoTipo": null,
      "statusCode": 200,
      "dados": {
        "codigo": "20192",
        "lista": [
          {
            "lote": "Lote1",
            "estoqueAtual": 12.0,
            "codigoFilial": 1
          },
          {
            "lote": "Lote2",
            "estoqueAtual": 28.0,
            "codigoFilial": 1
          },
          {
            "lote": "Lote3",
            "estoqueAtual": 30.0,
            "codigoFilial": 1
          }
        ]
      }
    }

    Produto Série

    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:
    [{
             serie: [string]
             disponivel: [bool]
             codigoFilial: [int]
    }]

    Exemplo
    {
      "sucesso": true,
      "mensagem": null,
      "tipo": null,
      "complementoTipo": null,
      "statusCode": 200,
      "dados": {
        "codigo": "20191",
        "lista": [
          {
            "serie": "123ABC",
            "disponivel": true,
            "codigoFilial": 1
          },
          {
            "serie": "ABCDE12345",
            "disponivel": true,
            "codigoFilial": 1
          }
        ]
      }
    }

    Produto Edição

    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:
    [{
             codigo: [int]
             nome: [string]
             estoqueAtual: [decimal]
             codigoFilial: [int]
    }]

    Exemplo
    {
      "sucesso": true,
      "mensagem": null,
      "tipo": null,
      "complementoTipo": null,
      "statusCode": 200,
      "dados": {
        "codigo": "1123456789111",
        "lista": [
          {
            "codigo": 1112,
            "nome": "Revista Teste",
            "estoqueAtual": 1222.0,
            "codigoFilial": 1
          }
        ]
      }
    }

    Produtos Grade

    Todas as Grades

    GET v2/estoque/detalhes/codigoProduto/grade/

     

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

     

    Parâmetros BODY
    Nenhum.

    <JSON/>

     

    codigo: [string]
    lista:
    [{
             codigoCompleto: [string]
             codigoCor: [int]
             codigoTamanho: [int]
             estoqueAtual: [decimal]
             codigoFilial: [int]
    }]

    Exemplo
    {
      "sucesso": true,
      "mensagem": null,
      "tipo": null,
      "complementoTipo": null,
      "statusCode": 200,
      "dados": {
        "codigo": "111333",
        "lista": [
          {
            "codigoCompleto": "001002",
            "codigoCor": "2",
            "codigoTamanho": "1",
            "estoqueAtual": 8990.0,
            "codigoFilial": 1
          },
          {
            "codigoCompleto": "001001",
            "codigoCor": "1",
            "codigoTamanho": "1",
            "estoqueAtual": 999000.0,
            "codigoFilial": 1
          },
          {
            "codigoCompleto": "001003",
            "codigoCor": "3",
            "codigoTamanho": "1",
            "estoqueAtual": 9000.0,
            "codigoFilial": 1
          }
        ]
      }
    }

    Grade da Cor

    GET v2/estoque/detalhes/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:
    [{
             codigoCompleto: [string]
             codigoCor: [int]
             codigoTamanho: [int]
             estoqueAtual: [decimal]
             codigoFilial: [int]
    }]

    Exemplo
    {
      "sucesso": true,
      "mensagem": null,
      "tipo": null,
      "complementoTipo": null,
      "statusCode": 200,
      "dados": {
        "codigo": "111333",
        "lista": [
          {
            "codigoCompleto": "001002",
            "codigoCor": "2",
            "codigoTamanho": "1",
            "estoqueAtual": 8990.0,
            "codigoFilial": 1
          }
        ]
      }
    }

    Grade do Tamanho

    GET v2/estoque/detalhes/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:
    [{
             codigoCompleto: [string]
             codigoCor: [int]
             codigoTamanho: [int]
             estoqueAtual: [decimal]
             codigoFilial: [int]
    }]

    Exemplo
    {
      "sucesso": true,
      "mensagem": null,
      "tipo": null,
      "complementoTipo": null,
      "statusCode": 200,
      "dados": {
        "codigo": "111333",
        "lista": [
          {
            "codigoCompleto": "001002",
            "codigoCor": "2",
            "codigoTamanho": "1",
            "estoqueAtual": 8990.0,
            "codigoFilial": 1
          }
        ]
      }
    }

    Grade Específica

    GET v2/estoque/detalhes/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:
    [{
             codigoCompleto: [string]
             codigoCor: [int]
             codigoTamanho: [int]
             estoqueAtual: [decimal]
             codigoFilial: [int]
    }]

    Exemplo
    {
      "sucesso": true,
      "mensagem": null,
      "tipo": null,
      "complementoTipo": null,
      "statusCode": 200,
      "dados": {
        "codigo": "111333",
        "lista": [
          {
            "codigoCompleto": "001002",
            "codigoCor": "2",
            "codigoTamanho": "1",
            "estoqueAtual": 8990.0,
            "codigoFilial": 1
          }
        ]
      }
    }

    Paginado

    Estoque Paginado

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

     

    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”, “L” – (Verificar descrição logo abaixo)
    estoqueFiliais:
    [{
             codigoCor: [int]
             codigoTamanho: [int]
             codigoFilial: [int]
             estoqueAtual: [decimal]
    }]


    Tipo Estoque
    N – Normal
    G – Grade
    S – Série
    E – Edição
    L – Lote

    Exemplo
    {
      "sucesso": true,
      "mensagem": null,
      "tipo": null,
      "complementoTipo": null,
      "statusCode": 200,
      "dados": [
        {
          "codigo": "10001",
          "urlDetalhe": "",
          "tipoEstoque": "N",
          "estoqueFiliais": [
            {
              "codigoCor": null,
              "codigoTamanho": null,
              "codigoFilial": 1,
              "estoqueAtual": -301.0
            }
          ]
        },
        {
          "codigo": "10003",
          "urlDetalhe": "",
          "tipoEstoque": "N",
          "estoqueFiliais": [
            {
              "codigoCor": null,
              "codigoTamanho": null,
              "codigoFilial": 1,
              "estoqueAtual": -276.99
            }
          ]
        },
        {
          "codigo": "10004",
          "urlDetalhe": "",
          "tipoEstoque": "N",
          "estoqueFiliais": [
            {
              "codigoCor": null,
              "codigoTamanho": null,
              "codigoFilial": 1,
              "estoqueAtual": -78.0
            }
          ]
        },
        {
          "codigo": "111333",
          "urlDetalhe": "/estoque/111333/grade",
          "tipoEstoque": "G",
          "estoqueFiliais": [
            {
              "codigoCor": "2",
              "codigoTamanho": "1",
              "codigoFilial": 1,
              "estoqueAtual": 8990.0
            },
            {
              "codigoCor": "1",
              "codigoTamanho": "1",
              "codigoFilial": 1,
              "estoqueAtual": 999000.0
            },
            {
              "codigoCor": "3",
              "codigoTamanho": "1",
              "codigoFilial": 1,
              "estoqueAtual": 9000.0
            },
            {
              "codigoCor": "1",
              "codigoTamanho": "3",
              "codigoFilial": 1,
              "estoqueAtual": 9000.0
            }
          ]
        }
      ]
    }

    Vendas

    Enviar Venda

    POST /vendas/

     

    Parâmetros
    Nenhum

     

    Parâmetros BODY
    Content-Type: application/json
    Único JSON:
    CodigoCliente: [long]
    CodigoFilialEstoque: [long]
    cpfCnpj: [string]
    codigoOperacao: [int]
    codigoCaixa: [int]
    data: [data]
    Observacao: [string]
    Desconto_Total_Geral: [decimal]
    Custo_Adicional_Ecommerce: [decimal]
    CodigoVendedor_1: [int]
    CodigoVendedor_2: [int]
    CodigoIndicadorPresencial: [int] – (Verificar descrição logo abaixo)
    ReferenciaInterna: [string]
    produtos:
    [{
             codigo: [string]
             codigoCor: [string]
             codigoTamanho: [string]
             quantidade: [decimal]
             precoUnitario: [decimal]
             descontoUnitario: [decimal]
    }]
    recebimentos:
    [{
             valorParcelas: [decimal]
             valor: [decimal]
             codigoContaBancaria: [int]
             vencimento: [data]
             codigoAdministradora: [int]
             nsu: [string]
             quantidadeParcelas: [int]
             numeroCartao: [string]
             tipo: [string] – (Verificar descrição logo abaixo)
    }]
    dadosEntrega:
    [{
             valor: [decimal]
             opcoesFretePagoPor: [string] – (Verificar descrição logo abaixo)
             pesoBruto: [decimal]
             pesoLiquido: [decimal]
             volume: [decimal]
             dataEntrega: [data],
             cnpjTransportadora: [string(14)]
             naoSomarFreteTotalNota: [bool]
             outroEndereco:
              [{
                     cep: [string]
                     endereco: [string]
                     numero: [string]
                     complemento: [string]
                     bairro: [string]
                     cidade: [string]
                     uf: [string]
              }]
             OpçõesFreteTipoEndereco: [string]
    }]

     

    Código Indicador Presencial
    0 – Não se Aplica
    1 – Operação Presencial
    2 – Operação não presencial, pela internet
    3 – Operação não presencial, Teleatendimento
    4 – NFC-e em operação com entrega em domícilio
    5 – Operação presencial, fora do estabelecimento
    9 – Operação não presencial, outros

     

    Recebimentos – Tipo
    B – Boleto
    C – Cartão de Crédito
    CB – Conta Bancária
    CR – Crédito de Cliente

     

    Frete Pago por
    C – Pegar informação do cadastro de cliente
    E – Sempre pelo emitente
    D – Sempre pelo destinatário
    O – Decidido pelo operador

    <JSON/>

     

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

    Exemplo
    {
      "sucesso": true,
      "mensagem": null,
      "tipo": null,
      "complementoTipo": null,
      "statusCode": 200,
      "dados": {
        "recibo": "1ff7b77b-4327-48cb-9c63-0f7b5cc87e3d",
        "dataGeracao": "2024-10-23T10:55:16.2297494-03:00"
      }
    }

    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]
    sequenciaGerada: [string]
    ordemMovimentoGerado: [string]
    notaFiscal:
    {
             notaAutorizada: [bool]
             chaveNfe: [string]
             erros: [string]
             numero: [string]
             serie: [string]
             xML_Documento: [string]
             xMl_Autorizacao: [string]
             XML_Cancelamento: [string]
    }

    Exemplo
    {
      "recibo": "d290f1ee-6c54-4b01-90e6-d701748f0851",
      "pedidoProcessado": true,
      "erros": "",
      "sequenciaGerada": "SEQ12345",
      "ordemMovimentoGerado": "MOV67890",
      "notaFiscal": {
        "notaAutorizada": true,
        "chaveNfe": "NFe35191000000000000000550010001234567890123456",
        "erros": "",
        "numero": "123456",
        "serie": "1",
        "xML_Documento": "",
        "xMl_Autorizacao": "",
        "XML_Cancelamento": ""
      }
    }

    Consulta de Vendas

    GET /saidas/detalhes/Numero_Sequencia

     

    Parâmetros
    Numero_Sequencia: O número da sequência para retornar os dados.

     

    Parâmetros BODY
    Nenhum.

    <JSON/>

     

    ordem: [int]
    sequencia: [int]
    tipo_Operacao: [string]
    codigo_Cliente: [long]
    codigo_Vendedor_1: [int]
    codigo_Vendedor_2: [int]
    data: [DateTime]
    total_Com_Desconto: [decimal]
    total_Sem_Desconto: [decimal]
    desconto_Total_Geral: [decimal]
    observacao: [string]
    produtos:
    [{
             ordem: [int]
             codigo: [string]
             quantidade: [decimal]
             preco_Unitario: [decimal]
             preco_Final: [decimal]
             preco_Final_Com_Desconto: [decimal]
             desconto_Unitario: [decimal]
             desconto_Total: [decimal]
    }]
    documento_Fiscais:
    [{
             numero: [string]
             data_Emissao: [DateTime]
             situacao: [string]
             xML_Documento: [string]
             xMl_Autorizacao: [string]
             XML_Cancelamento: [string]
             modelo: [string]
    }]

    Exemplo
    {
      "sucesso": true,
      "mensagem": null,
      "tipo": null,
      "complementoTipo": null,
      "statusCode": 200,
      "dados": {
        "ordem": 14157,
        "sequencia": 622,
        "tipo_Operacao": "VND",
        "codigo_Cliente": 1053,
        "codigo_Vendedor_1": 33,
        "codigo_Vendedor_2": 0,
        "data": "2020-11-23T14:56:08.53-03:00",
        "total_Com_Desconto": 800.0,
        "total_Sem_Desconto": 800.0,
        "desconto_Total_Geral": 0.0,
        "observacao": "",
        "produtos": [
          {
            "ordem": 30528,
            "codigo": "10006",
            "quantidade": 2000.0,
            "preco_Unitario": 0.08,
            "preco_Final": 160.0,
            "preco_Final_Com_Desconto": 160.0,
            "desconto_Unitario": 0.0,
            "desconto_Total": 0.0
          },
          {
            "ordem": 30529,
            "codigo": "10004",
            "quantidade": 3000.0,
            "preco_Unitario": 0.08,
            "preco_Final": 240.0,
            "preco_Final_Com_Desconto": 240.0,
            "desconto_Unitario": 0.0,
            "desconto_Total": 0.0
          },
          {
            "ordem": 30530,
            "codigo": "10010",
            "quantidade": 3000.0,
            "preco_Unitario": 0.08,
            "preco_Final": 240.0,
            "preco_Final_Com_Desconto": 240.0,
            "desconto_Unitario": 0.0,
            "desconto_Total": 0.0
          },
          {
            "ordem": 30531,
            "codigo": "10103",
            "quantidade": 2000.0,
            "preco_Unitario": 0.08,
            "preco_Final": 160.0,
            "preco_Final_Com_Desconto": 160.0,
            "desconto_Unitario": 0.0,
            "desconto_Total": 0.0
          }
        ],
        "documento_Fiscais": [
          {
            "numero": "253",
            "data_Emissao": "2020-11-23T14:52:02-03:00",
            "situacao": "Autorizado o uso da NF-e",
            "xML_Documento": "",
            "xML_Cancelamento": "",
            "modelo": "55"
          }
        ]
      }
    }

    Consultar Várias Sequências por Operação

    GET /saidas/pagina/tipoOperacao

     

    Parâmetros
    tiposOperacao: VND, FPV, TRS, AJS, GRS, ORC, DAV, DOS, DVF, RSV, VEF, PVN, CNS, VPC, DCS, EVF, OTS, EPA e TCS.

     

    Parâmetros BODY
    Nenhum.

    <JSON/>

     

    ordem: [int]
    sequencia: [int]
    tipo_Operacao: [string]
    codigo_Cliente: [long]
    codigo_Vendedor_1: [int]
    codigo_Vendedor_2: [int]
    data: [DateTime]
    total_Com_Desconto: [decimal]
    total_Sem_Desconto: [decimal]
    desconto_Total_Geral: [decimal]
    observacao: [string]
    produtos:
    [{
             ordem: [int]
             codigo: [string]
             quantidade: [decimal]
             preco_Unitario: [decimal]
             preco_Final: [decimal]
             preco_Final_Com_Desconto: [decimal]
             desconto_Unitario: [decimal]
             desconto_Total: [decimal]
    }]
    documento_Fiscais:
    [{
             numero: [string]
             data_Emissao: [DateTime]
             situacao: [string]
             xML_Documento: [string]
             xMl_Autorizacao: [string]
             XML_Cancelamento: [string]
             modelo: [string]
    }]

    Exemplo
    {
      "sucesso": true,
      "mensagem": null,
      "tipo": null,
      "complementoTipo": null,
      "statusCode": 200,
      "dados": {
        "ordem": 14157,
        "sequencia": 622,
        "tipo_Operacao": "VND",
        "codigo_Cliente": 1053,
        "codigo_Vendedor_1": 33,
        "codigo_Vendedor_2": 0,
        "data": "2020-11-23T14:56:08.53-03:00",
        "total_Com_Desconto": 800.0,
        "total_Sem_Desconto": 800.0,
        "desconto_Total_Geral": 0.0,
        "observacao": "",
        "produtos": [
          {
            "ordem": 30528,
            "codigo": "10006",
            "quantidade": 2000.0,
            "preco_Unitario": 0.08,
            "preco_Final": 160.0,
            "preco_Final_Com_Desconto": 160.0,
            "desconto_Unitario": 0.0,
            "desconto_Total": 0.0
          },
          {
            "ordem": 30529,
            "codigo": "10004",
            "quantidade": 3000.0,
            "preco_Unitario": 0.08,
            "preco_Final": 240.0,
            "preco_Final_Com_Desconto": 240.0,
            "desconto_Unitario": 0.0,
            "desconto_Total": 0.0
          },
          {
            "ordem": 30530,
            "codigo": "10010",
            "quantidade": 3000.0,
            "preco_Unitario": 0.08,
            "preco_Final": 240.0,
            "preco_Final_Com_Desconto": 240.0,
            "desconto_Unitario": 0.0,
            "desconto_Total": 0.0
          },
          {
            "ordem": 30531,
            "codigo": "10103",
            "quantidade": 2000.0,
            "preco_Unitario": 0.08,
            "preco_Final": 160.0,
            "preco_Final_Com_Desconto": 160.0,
            "desconto_Unitario": 0.0,
            "desconto_Total": 0.0
          }
        ],
        "documento_Fiscais": [
          {
            "numero": "253",
            "data_Emissao": "2020-11-23T14:52:02-03:00",
            "situacao": "Autorizado o uso da NF-e",
            "xML_Documento": "",
            "xML_Cancelamento": "",
            "modelo": "55"
          }
        ]
      }
    }

    Consultar Várias Sequências Paginada

    GET /saidas/Numero_Pagina

     

    Parâmetros
    Numero_Pagina: Retornará sempre uma página com 10 sequências.

     

    Parâmetros BODY
    Nenhum.

    <JSON/>

    Consulta por Período

    GET /saidas/?tipodata=A&datade=aaaa-MM-dd&dataate= aaaa-MM-dd

     

    Parâmetros
    tipodata=A: Data de Alteração da Sequência.
    tipodata=C: Data de Criação da Sequência.
    tipodata=E: Data de Efetivação da Sequência.

     

    Parâmetros BODY
    Nenhum.

    <JSON/>

     

    ordem: [int]
    sequencia: [int]
    tipo_Operacao: [string]
    codigo_Cliente: [long]
    codigo_Vendedor_1: [int]
    codigo_Vendedor_2: [int]
    data: [DateTime]
    total_Com_Desconto: [decimal]
    total_Sem_Desconto: [decimal]
    desconto_Total_Geral: [decimal]
    observacao: [string]
    produtos:
    [{
             ordem: [int]
             codigo: [string]
             quantidade: [decimal]
             preco_Unitario: [decimal]
             preco_Final: [decimal]
             preco_Final_Com_Desconto: [decimal]
             desconto_Unitario: [decimal]
             desconto_Total: [decimal]
    }]
    documento_Fiscais:
    [{
             numero: [string]
             data_Emissao: [DateTime]
             situacao: [string]
             xML_Documento: [string]
             xMl_Autorizacao: [string]
             XML_Cancelamento: [string]
             modelo: [string]
    }]

    Exemplo
    {
      "sucesso": true,
      "mensagem": null,
      "tipo": null,
      "complementoTipo": null,
      "statusCode": 200,
      "dados": [
        {
          "ordem": 20871,
          "sequencia": 1087,
          "tipo_Operacao": "VND",
          "codigo_Cliente": 1,
          "codigo_Vendedor_1": 2,
          "codigo_Vendedor_2": 0,
          "data": "2024-10-11T15:54:22.403-03:00",
          "total_Com_Desconto": 10000.0,
          "total_Sem_Desconto": 10000.0,
          "desconto_Total_Geral": 0.0,
          "observacao": "teste",
          "produtos": [
            {
              "ordem": 37885,
              "codigo": "1",
              "quantidade": 1.0,
              "preco_Unitario": 10000.0,
              "preco_Final": 10000.0,
              "preco_Final_Com_Desconto": 10000.0,
              "desconto_Unitario": 0.0,
              "desconto_Total": 0.0
            }
          ],
          "documento_Fiscais": []
        },
        {
          "ordem": 20873,
          "sequencia": 1088,
          "tipo_Operacao": "VND",
          "codigo_Cliente": 1,
          "codigo_Vendedor_1": 2,
          "codigo_Vendedor_2": 0,
          "data": "2024-10-21T13:28:56.41-03:00",
          "total_Com_Desconto": 1530.0,
          "total_Sem_Desconto": 1800.0,
          "desconto_Total_Geral": 270.0,
          "observacao": "",
          "produtos": [
            {
              "ordem": 37886,
              "codigo": "1",
              "quantidade": 1.0,
              "preco_Unitario": 1800.0,
              "preco_Final": 1800.0,
              "preco_Final_Com_Desconto": 1530.0,
              "desconto_Unitario": 270.0,
              "desconto_Total": 270.0
            }
          ],
          "documento_Fiscais": []
        },
        {
          "ordem": 21886,
          "sequencia": 1089,
          "tipo_Operacao": "VND",
          "codigo_Cliente": 1562,
          "codigo_Vendedor_1": 1,
          "codigo_Vendedor_2": 0,
          "data": null,
          "total_Com_Desconto": 1600.0,
          "total_Sem_Desconto": 1600.0,
          "desconto_Total_Geral": 0.0,
          "observacao": "Teste 123",
          "produtos": [
            {
              "ordem": 38886,
              "codigo": "10001",
              "quantidade": 12.0,
              "preco_Unitario": 133.3333,
              "preco_Final": 1600.0,
              "preco_Final_Com_Desconto": 1600.0,
              "desconto_Unitario": 0.0,
              "desconto_Total": 0.0
            }
          ],
          "documento_Fiscais": []
        }
      ]
    }

    Consulta de Devoluções

    GET /devolucao/detalhes/Numero_Sequencia

     

    Parâmetros
    Numero_Sequencia: O número da sequência para retornar os dados.

     

    Parâmetros BODY
    Nenhum.

    <JSON/>

     

    ordem: [int]
    sequencia: [int]
    tipo_Operacao: [string]
    codigo_Cliente: [long]
    codigo_Vendedor_1: [int]
    codigo_Vendedor_2: [int]
    data: [DateTime]
    total_Com_Desconto: [decimal]
    total_Sem_Desconto: [decimal]
    desconto_Total_Geral: [decimal]
    observacao: [string]
    produtos:
    [{
             ordem: [int]
             codigo: [string]
             quantidade: [decimal]
             preco_Unitario: [decimal]
             preco_Final: [decimal]
             preco_Final_Com_Desconto: [decimal]
             desconto_Unitario: [decimal]
             desconto_Total: [decimal]
    }]
    documento_Fiscais:
    [{
             numero: [string]
             data_Emissao: [DateTime]
             situacao: [string]
             xML_Documento: [string]
             xMl_Autorizacao: [string]
             XML_Cancelamento: [string]
             modelo: [string]
    }]

    Exemplo
    {
      "sucesso": true,
      "mensagem": null,
      "tipo": null,
      "complementoTipo": null,
      "statusCode": 200,
      "dados": {
        "ordem": 16373,
        "sequencia": 670,
        "tipo_Operacao": "DEV",
        "codigo_Cliente": 1,
        "codigo_Vendedor_1": 0,
        "codigo_Vendedor_2": 0,
        "data": "2020-12-29T09:26:20.243-03:00",
        "total_Com_Desconto": 10.23,
        "total_Sem_Desconto": 10.33,
        "desconto_Total_Geral": 0.1,
        "observacao": "",
        "produtos": [
          {
            "ordem": 33254,
            "codigo": "10004",
            "quantidade": 5.0,
            "preco_Unitario": 2.0,
            "preco_Final": 10.0,
            "preco_Final_Com_Desconto": 9.9,
            "desconto_Unitario": 0.02,
            "desconto_Total": 0.1
          },
          {
            "ordem": 33255,
            "codigo": "20099",
            "quantidade": 10.0,
            "preco_Unitario": 0.0332,
            "preco_Final": 0.33,
            "preco_Final_Com_Desconto": 0.33,
            "desconto_Unitario": 0.0,
            "desconto_Total": 0.0
          }
        ],
        "documento_Fiscais": []
      }
    }

    Consultar Várias Devoluções Paginada

    GET /devolucao/Numero_Pagina

     

    Parâmetros
    Numero_Pagina: Retornará sempre uma página com 10 sequências.

     

    Parâmetros BODY
    Nenhum.

    <JSON/>

    Consulta por Período

    GET /devolucao/?tipodata=A&datade=aaaa-MM-dd&dataate= aaaa-MM-dd

     

    Parâmetros
    tipodata=A: Data de Alteração da Sequência.
    tipodata=C: Data de Criação da Sequência.
    tipodata=E: Data de Efetivação da Sequência.

     

    Parâmetros BODY
    Nenhum.

    <JSON/>

     

    ordem: [int]
    sequencia: [int]
    tipo_Operacao: [string]
    codigo_Cliente: [long]
    codigo_Vendedor_1: [int]
    codigo_Vendedor_2: [int]
    data: [DateTime]
    total_Com_Desconto: [decimal]
    total_Sem_Desconto: [decimal]
    desconto_Total_Geral: [decimal]
    observacao: [string]
    produtos:
    [{
             ordem: [int]
             codigo: [string]
             quantidade: [decimal]
             preco_Unitario: [decimal]
             preco_Final: [decimal]
             preco_Final_Com_Desconto: [decimal]
             desconto_Unitario: [decimal]
             desconto_Total: [decimal]
    }]
    documento_Fiscais:
    [{
             numero: [string]
             data_Emissao: [DateTime]
             situacao: [string]
             xML_Documento: [string]
             xMl_Autorizacao: [string]
             XML_Cancelamento: [string]
             modelo: [string]
    }]

    Exemplo
    {
      "sucesso": true,
      "mensagem": null,
      "tipo": null,
      "complementoTipo": null,
      "statusCode": 200,
      "dados": [
        {
          "ordem": 16373,
          "sequencia": 670,
          "tipo_Operacao": "DEV",
          "codigo_Cliente": 1,
          "codigo_Vendedor_1": 0,
          "codigo_Vendedor_2": 0,
          "data": "2020-12-29T09:26:20.243-03:00",
          "total_Com_Desconto": 10.23,
          "total_Sem_Desconto": 10.33,
          "desconto_Total_Geral": 0.1,
          "observacao": "",
          "produtos": [
            {
              "ordem": 33254,
              "codigo": "10004",
              "quantidade": 5.0,
              "preco_Unitario": 2.0,
              "preco_Final": 10.0,
              "preco_Final_Com_Desconto": 9.9,
              "desconto_Unitario": 0.02,
              "desconto_Total": 0.1
            },
            {
              "ordem": 33255,
              "codigo": "20099",
              "quantidade": 10.0,
              "preco_Unitario": 0.0332,
              "preco_Final": 0.33,
              "preco_Final_Com_Desconto": 0.33,
              "desconto_Unitario": 0.0,
              "desconto_Total": 0.0
            }
          ],
          "documento_Fiscais": []
        },
        {
          "ordem": 16374,
          "sequencia": 671,
          "tipo_Operacao": "DEV",
          "codigo_Cliente": 1,
          "codigo_Vendedor_1": 0,
          "codigo_Vendedor_2": 0,
          "data": "2020-12-29T09:26:51.79-03:00",
          "total_Com_Desconto": 8.74,
          "total_Sem_Desconto": 8.74,
          "desconto_Total_Geral": 0.0,
          "observacao": "",
          "produtos": [
            {
              "ordem": 33256,
              "codigo": "20002",
              "quantidade": 1.0,
              "preco_Unitario": 8.74,
              "preco_Final": 8.74,
              "preco_Final_Com_Desconto": 8.74,
              "desconto_Unitario": 0.0,
              "desconto_Total": 0.0
            }
          ],
          "documento_Fiscais": []
        }
      ]
    }

    Editar Vendas

    Ativar / Inativar Venda

    PATCH /saidas/sequencia/ativar ou inativar

     

    Parâmetros
    sequencia: O número da sequência para editar os dados.

     

    Parâmetros BODY
    Nenhum.

    <JSON/>

    Editar Conferência

    PUT /saidas/sequencia/conferencia

     

    Parâmetros
    sequencia: O número da sequência para editar os dados.

     

    Parâmetros BODY
    ordemProdServ: [int]
    quantidadeConferida: [string]

    <JSON/>

    Contagem de Estoque

    Consultar Contagem

    Consultar Várias Contagens de Estoque Paginada

    GET /contagemestoque/paginasituacao=A

     

    Parâmetros
    situacao=T: Mostrar todas as contagens.
    situacao=C: Apenas contagens concluídas.
    situacao=A: Apenas contagens em andamento.

     

    Parâmetros BODY
    Nenhum.

    <JSON/>

     

    numero: [int]
    ordem: [int]
    dataInicio: [data/hora UTC]
    situacao: [string]
    ordemFuncionarioAlteracao: [int]
    qtdeProdutos: [int]

    Consultar Contagem de Estoque por Número

    GET /contagemestoque/detalhes/numero

     

    Parâmetros
    numero: O número da contagem de estoque requisitado.
    ordem_tabela_preco (opcional): A ordem da tabela de preço para trazer o preço específico de uma tabela.

     

    Parâmetros BODY
    Nenhum.

    <JSON/>

     

    numero: [int]
    ordem: [int]
    dataInicio: [data/hora UTC]
    situacao: [string]
    ordemFuncionarioAlteracao: [int]
    listaprodutos:
    [{
             OrdemContagemItem: [int]
             OrdemProdServ: [int]
             CodigoProduto: [string]
             NomeProduto: [string]
             NomeCor: [string](Grade)
             NomeTamanho: [string](Grade)
             NomeEdicao: [string](Edição)
             NomeUnidadeVenda: [string]
             CodigoBarras: [string]
             QtdeEstoque: [decimal]
             Preco: [decimal]
             CodigoFilial: [int]
             Pesquisa1: [string]
             Tipo: [string]
    }]
    qtdeProdutos: [int]

    Exemplo
    {
      "Numero": 206,
      "Ordem": 244,
      "DataInicio": "2025-01-14T13:56:48.48",
      "Situacao": "Em Andamento",
      "OrdemFuncionarioAlteracao": 1,
      "listaProdutos": [
        {
          "OrdemContagemItem": 33347,
          "OrdemProdServ": 4,
          "CodigoProduto": "10003",
          "NomeProduto": "Argila Branca Nossa que Argila top a mais top das ",
          "NomeUnidadeVenda": "un",
          "CodigoBarras": "192505072733",
          "QtdeEstoque": -276.99,
          "CodigoFilial": 1,
          "Pesquisa1": "50 g",
          "Tipo": "N"
        },
        {
          "OrdemContagemItem": 33348,
          "OrdemProdServ": 5,
          "CodigoProduto": "10004",
          "NomeProduto": "Argila Matriz branca granel",
          "NomeUnidadeVenda": "g",
          "CodigoBarras": "",
          "QtdeEstoque": -78.0,
          "CodigoFilial": 1,
          "Pesquisa1": "g",
          "Tipo": "N"
        }
    ],
    "qtdeProdutos": 2
    

    Atualizar Contagem

    Produtos Normais

    PUT /contagemestoque/numero/itens

     

    Parâmetros
    numero: O número da contagem de estoque requisitado.

     

    Parâmetros BODY
    listaprodutos:
    [{
             ordemContagemItem: [int]
             qtdeDigitada: [decimal]
    }]

    <JSON/>

    Produtos Lotes

    PUT /contagemestoque/numero/itens/lotes

     

    Parâmetros
    numero: O número da contagem de estoque requisitado.

     

    Parâmetros BODY
    listaprodutos:
    [{
             ordemContagemItem: [int]
             qtdeDigitada: [decimal]
             lotes:
                      [{
                               lote: [string]
                               qtde: [int]
                               dataFabricacao: [data/hora UTC]
                               dataValidade: [data/hora UTC]
                      }]
    }]

    <JSON/>

    Bipagem

    Atualizar Lista de Bipagem

    Criar/Atualizar Lista de Bipagem

    POST /bipagem/

     

    Parâmetros BODY
    ordemMovimento: [int]
    listaProdutoBipagem:
    [{
             codigoDigitado: [string]
             qtde: [decimal]
             ordemProdServ: [int]
             ordemFuncionarioAlteracao: [int]
    }]

    Entradas

    Referente a movimentações de compra

    Consulta de Entradas

    Consulta de Entradas por Sequência

    GET /entradas/detalhessequencia

     

    Parâmetros

    sequencia: O número da sequência para retornar os dados.

    Parâmetros BODY
    Nenhum.

    <JSON/>

     

    ordem: [int]
    sequencia: [int]
    tipo_Operacao: [string]
    codigo_Cliente: [long]
    data: [DateTime]
    total_com_Desconto: [decimal]
    total_sem_Desconto: [decimal]
    desconto_Total_Geral: [decimal]
    observacao: [string]
    produtos:
    [{
             ordem: [string]
             codigo: [decimal]
             quantidade: [bool]
             preco_Unitario: [bool]
             preco_Final: [bool]
             preco_Final_Com_Desconto: [bool]
             desconto_Unitario: [bool]
             desconto_Total: [bool]
    }]
    documento_Fiscais:
    [{
             numero: [string]
             data_Emissao: [decimal]
             situacao: [bool]
             xML_Documento: [bool]
             xMl_autorizacao: [bool]
             xML_cancelamento: [bool]
             modelo: [bool]
    }]

    Exemplo
    {
      "Sucesso": true,
      "Mensagem": null,
      "Tipo": null,
      "ComplementoTipo": null,
      "StatusCode": 200,
      "Dados": {
        "Ordem": 165,
        "Sequencia": 28,
        "Tipo_Operacao": "COM",
        "Codigo_Cliente": 5057,
        "Data": "2019-11-06T14:10:25.25",
        "Total_Com_Desconto": 298.0,
        "Total_Sem_Desconto": 298.22,
        "Desconto_Total_Geral": 0.22,
        "Observacao": "",
        "Produtos": [
          {
            "Ordem": 847,
            "Ordem_Prod_Serv": 220,
            "Codigo": "20127",
            "Quantidade": 7400.0,
            "Preco_Unitario": 0.0403,
            "Preco_Final": 298.22,
            "Preco_Final_Com_Desconto": 298.0,
            "Desconto_Unitario": 0.0,
            "Desconto_Total": 0.22
          }
        ],
        "Documento_Fiscais": [
            "numero": "NF123456",
            "data_Emissao": "2025-03-18T11:00:00Z",
            "situacao": "Autorizado",
            "xML_Documento": "Documento XML",
            "xMl_Autorizacao": "Autorizacao XML",
            "XML_Cancelamento": "",
            "modelo": "55"
        ]
      }
    }

    Consulta de Várias Entradas Paginada

    GET /entradas/pagina/tiposOperacao

     

    Parâmetros

    pagina: A requisição trará sempre no máximo 10 registros de Entradas por página. Para pegar todos 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”.
    tipoOperacao: ACE, AJE, CNE, COM, CPC, CVE, DCE, DEV, GRE, INE, OTE, PED, TCE, TRE.


    Parâmetros BODY

    Nenhum.

    <JSON/>

     

    ordem: [int]
    sequencia: [int]
    tipo_Operacao: [string]
    codigo_Cliente: [long]
    data: [DateTime]
    total_com_Desconto: [decimal]
    total_sem_Desconto: [decimal]
    desconto_Total_Geral: [decimal]
    observacao: [string]
    produtos:
    [{
             ordem: [string]
             codigo: [decimal]
             quantidade: [bool]
             preco_Unitario: [bool]
             preco_Final: [bool]
             preco_Final_Com_Desconto: [bool]
             desconto_Unitario: [bool]
             desconto_Total: [bool]
    }]
    documento_Fiscais:
    [{
             numero: [string]
             data_Emissao: [decimal]
             situacao: [bool]
             xML_Documento: [bool]
             xMl_autorizacao: [bool]
             xML_cancelamento: [bool]
             modelo: [bool]
    }]

    Exemplo
    {
      "Sucesso": true,
      "Mensagem": null,
      "Tipo": null,
      "ComplementoTipo": null,
      "StatusCode": 200,
      "Dados": [{
        "Ordem": 165,
        "Sequencia": 28,
        "Tipo_Operacao": "COM",
        "Codigo_Cliente": 5057,
        "Data": "2019-11-06T14:10:25.25",
        "Total_Com_Desconto": 298.0,
        "Total_Sem_Desconto": 298.22,
        "Desconto_Total_Geral": 0.22,
        "Observacao": "",
        "Produtos": [
          {
            "Ordem": 847,
            "Ordem_Prod_Serv": 220,
            "Codigo": "20127",
            "Quantidade": 7400.0,
            "Preco_Unitario": 0.0403,
            "Preco_Final": 298.22,
            "Preco_Final_Com_Desconto": 298.0,
            "Desconto_Unitario": 0.0,
            "Desconto_Total": 0.22
          }
        ],
        "Documento_Fiscais": [
            "numero": "NF123456",
            "data_Emissao": "2025-03-18T11:00:00Z",
            "situacao": "Autorizado",
            "xML_Documento": "Documento XML",
            "xMl_Autorizacao": "Autorizacao XML",
            "XML_Cancelamento": "",
            "modelo": "55"
        ]
      },
      {
        "Ordem": 166,
        "Sequencia": 29,
        "Tipo_Operacao": "COM",
        "Codigo_Cliente": 11,
        "Data": "2019-11-06T14:10:25.25",
        "Total_Com_Desconto": 300.0,
        "Total_Sem_Desconto": 300.00,
        "Desconto_Total_Geral": 0.0,
        "Observacao": "",
        "Produtos": [
          {
            "Ordem": 846,
            "Ordem_Prod_Serv": 221,
            "Codigo": "20000",
            "Quantidade": 1.0,
            "Preco_Unitario": 300.00,
            "Preco_Final": 300.00,
            "Preco_Final_Com_Desconto": 300.0,
            "Desconto_Unitario": 0.0,
            "Desconto_Total": 0.0
          }
        ],
        "Documento_Fiscais": [
            "numero": "NF1234562",
            "data_Emissao": "2025-03-18T11:00:00Z",
            "situacao": "Autorizado",
            "xML_Documento": "Documento XML",
            "xMl_Autorizacao": "Autorizacao XML",
            "XML_Cancelamento": "",
            "modelo": "55"
        ]
      }
    ]
    }

    GET /entradas/pagina/?tipodata=tipoData&datade=dataDe&dataate=dataAte

     

    Parâmetros

    tipodata=A: Data de Alteração da Sequência.
    tipodata=C: Data de Criação da Sequência.
    tipodata=E: Data de Efetivação da Sequência.

    Parâmetros BODY
    Nenhum.

    <JSON/>

     

    ordem: [int]
    sequencia: [int]
    tipo_Operacao: [string]
    codigo_Cliente: [long]
    data: [DateTime]
    total_com_Desconto: [decimal]
    total_sem_Desconto: [decimal]
    desconto_Total_Geral: [decimal]
    observacao: [string]
    produtos:
    [{
             ordem: [string]
             codigo: [decimal]
             quantidade: [bool]
             preco_Unitario: [bool]
             preco_Final: [bool]
             preco_Final_Com_Desconto: [bool]
             desconto_Unitario: [bool]
             desconto_Total: [bool]
    }]
    documento_Fiscais:
    [{
             numero: [string]
             data_Emissao: [decimal]
             situacao: [bool]
             xML_Documento: [bool]
             xMl_autorizacao: [bool]
             xML_cancelamento: [bool]
             modelo: [bool]
    }]

    Exemplo
    {
      "Sucesso": true,
      "Mensagem": null,
      "Tipo": null,
      "ComplementoTipo": null,
      "StatusCode": 200,
      "Dados": [{
        "Ordem": 165,
        "Sequencia": 28,
        "Tipo_Operacao": "COM",
        "Codigo_Cliente": 5057,
        "Data": "2019-11-06T14:10:25.25",
        "Total_Com_Desconto": 298.0,
        "Total_Sem_Desconto": 298.22,
        "Desconto_Total_Geral": 0.22,
        "Observacao": "",
        "Produtos": [
          {
            "Ordem": 847,
            "Ordem_Prod_Serv": 220,
            "Codigo": "20127",
            "Quantidade": 7400.0,
            "Preco_Unitario": 0.0403,
            "Preco_Final": 298.22,
            "Preco_Final_Com_Desconto": 298.0,
            "Desconto_Unitario": 0.0,
            "Desconto_Total": 0.22
          }
        ],
        "Documento_Fiscais": [
            "numero": "NF123456",
            "data_Emissao": "2025-03-18T11:00:00Z",
            "situacao": "Autorizado",
            "xML_Documento": "Documento XML",
            "xMl_Autorizacao": "Autorizacao XML",
            "XML_Cancelamento": "",
            "modelo": "55"
        ]
      },
      {
        "Ordem": 166,
        "Sequencia": 29,
        "Tipo_Operacao": "COM",
        "Codigo_Cliente": 11,
        "Data": "2019-11-06T14:10:25.25",
        "Total_Com_Desconto": 300.0,
        "Total_Sem_Desconto": 300.00,
        "Desconto_Total_Geral": 0.0,
        "Observacao": "",
        "Produtos": [
          {
            "Ordem": 846,
            "Ordem_Prod_Serv": 221,
            "Codigo": "20000",
            "Quantidade": 1.0,
            "Preco_Unitario": 300.00,
            "Preco_Final": 300.00,
            "Preco_Final_Com_Desconto": 300.0,
            "Desconto_Unitario": 0.0,
            "Desconto_Total": 0.0
          }
        ],
        "Documento_Fiscais": [
            "numero": "NF1234562",
            "data_Emissao": "2025-03-18T11:00:00Z",
            "situacao": "Autorizado",
            "xML_Documento": "Documento XML",
            "xMl_Autorizacao": "Autorizacao XML",
            "XML_Cancelamento": "",
            "modelo": "55"
        ]
      }
    ]
    }

    Enviar Entradas

    POST /entradas/

     

    Parâmetros
    Nenhum.

     

    Parâmetros BODY
    codigoCliFor: [long]
    codigoFilialEstoque: [int]
    cpfCnpj: [string]
    codigoOperacao: [int]
    codigoCaixa: [int]
    data: [DateTime]
    observacao: [string]
    descontoTotalGeral: [decimal]
    referenciaInterna: [string]
    produtos:
    [{
             codigo: [string]
             codigoCor: [string]
             codigoTamanho: [string]
             quantidade: [decimal]
             precoUnitario: [decimal]
             descontoUnitario: [decimal]
             codigoEdicao: [int]
             lote: [string]
             loteFabricacao: [DateTime]
             loteValidade: [DateTime]
             serie: [string]
    }]
    pagamentos:
    [{
             valorParcelas: [decimal]
             valor: [decimal]
             codigoContaBancaria: [int]
             vencimento: [DateTime]
             quantidade Parcelas: [int]
             tipo: [string] – (Verificar descrição logo abaixo)
    }]
    dadosFrete:
    [{
             valor: [decimal]
             opcoesFretePagoPor: [string]
             opcoesFreteTipoRecebimento: [string]
             pesoBruto: [decimal]
             pesoLiquido: [decimal]
             cnpjTransportadora: [string]
             descricao: [string]
             pagamentos:
    [{
             valorParcelas: [decimal]
             valor: [decimal]
             codigoContaBancaria: [int]
             vencimento: [DateTime]
             quantidadeParcelas: [int]
             tipo: [string] – (Verificar descrição logo abaixo)
    }]
    }]

    Pagamentos- Tipo
    P – Parcelamento
    CB – Conta Bancária
    CR – Crédito

    <JSON/>

     

    Atualizar Entradas

    Efetivar o Estoque

    PATCH /entradas/sequencia/efetivarestoque

     

    Parâmetros

    sequencia: O número da sequência de entrada.

    Parâmetros BODY
    Nenhum.

    <JSON/>

     

    Efetivar o Financeiro

    PATCH /entradas/sequencia/efetivarfinanceiro

     

    Parâmetros

    sequencia: O número da sequência de entrada.

    Parâmetros BODY
    Nenhum.

    <JSON/>

     

    Roteiro Teste

    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