Endpoints Agrupados - API
O que é?
São apenas consultas. Na prática, foi criado um endpoint genérico que retorna informações diretamente do banco de dados. Assim, com base no nome da tabela, o sistema recupera os dados correspondentes.
Como Funciona no Uniplus?
Endpoints sobre Saldo estoque:
1. Endpoint Saldo em estoque (v1)
Seta o saldo em estoque de produtos. Atenção: versão descontinuada. Verifique a versão mais nova do endpoint
URL: “/public-api/v1/saldo-estoque“
Verbos suportados: POST, GET
Status HTTP
200 = OK,
422 = A requisição falhou ao ser processada. Veja a mensagem retornada para mais detalhes
JSON Exemplo
{“saldoEstoque”: {“produto”: “97”, “quantidade”:200}} |
Exemplos
curl –verbose –header “Authorization: Bearer ${token_de_acesso}” –header “Content-Type: application/json” –data “${json}” –request “POST” “${endereco_do_servidor}/public-api/v1/saldo-estoque” |
curl –header “Authorization: Bearer ${token_de_acesso}” –header “Content-Type: application/json” –request “GET” “${endereco_do_servidor}/public-api/v1/saldo-estoque?produto=${97}&filial=${1}” |
Lista dos campos do JSON
Identificador | Descrição | Obrigatório | Tipo | Tamanho | Decimais | Observações |
custo | Custo | Decimal | 15 | 6 | ||
custoMedio | Custo médio | Decimal | 15 | 6 | ||
filial | Filial | Caractere | 4 | Código da filial | ||
produto | Produto | Sim | Caractere | 14 | Código do produto | |
quantidade | Quantidade | Sim | Decimal | 12 | 6 | |
variacao | Variação | Caractere | 12 | |||
localEstoque | Local de Estoque | Caractere | 5 | Código do Local de Estoque |
2. Endpoint Saldo em estoque (v2)
Seta o saldo em estoque de produtos
URL: “/public-api/v2/saldo-estoque“
Verbos suportados: POST, GET
Status HTTP
200 = OK
422 = A requisição falhou ao ser processada. Veja a mensagem retornada para mais detalhes
JSON Exemplo
{“saldoEstoque”: {“produto”: “97”, “quantidade”:200}} |
Exemplos
Atualizando o saldo: curl –verbose –header “Authorization: Bearer ${token_de_acesso}” –header “Content-Type: application/json” –data “${json}” –request “POST” “${endereco_do_servidor}/public-api/v2/saldo-estoque” |
Buscando saldo por produto e filial: curl –header “Authorization: Bearer ${token_de_acesso}” –header “Content-Type: application/json” –request “GET” “${endereco_do_servidor}/public-api/v2/saldo-estoque?produto=${97}&filial=${1}” |
Buscando saldo por alteração maior ou igual ao current time millis: curl –header “Authorization: Bearer ${token_de_acesso}” –header “Content-Type: application/json” –request “GET” “${endereco_do_servidor}/public-api/v2/saldo-estoque?currenttimemillis=${1620308836208}” |
Lista dos campos do JSON
Identificador | Descrição | Obrigatório | Tipo | Tamanho | Decimais | Observações |
custo | Custo | Decimal | 15 | 6 | ||
custoMedio | Custo médio | Decimal | 15 | 6 | ||
filial | Filial | Caractere | 4 | Código da filial | ||
produto | Produto | Sim | Caractere | 14 | Código do produto | |
quantidade | Quantidade | Sim | Decimal | 12 | 6 | |
variacao | Variação | Caractere | 12 | |||
localEstoque | Local de estoque | Caractere | 5 | Código do local de estoque |
3. Endpoint Saldo em estoque por variação (v2)
Devolve uma lista de saldo em estoque do produto por variação
URL: “/public-api/v2/saldo-estoque/variacao“
Verbos suportados: GET
Status HTTP
200 = OK, 422 = A requisição falhou ao ser processada. Veja a mensagem retornada para mais detalhes
JSON Exemplo
[{“variacao”: “AMARELO/P”, “saldo”:200}] |
Exemplos
Consultando o saldo por variação
|
Lista dos campos do JSON
Identificador | Descrição | Obrigatório | Tipo | Tamanho | Decimais | Observações |
codigo | Código da variação | Inteiro | ||||
saldo | Saldo em estoque | Decimal | 12 | 6 | ||
variacao | Variação | Caractere |
Endpoints sobre Produtos:
4. Endpoint para atualizar dados de produtos e preços dos produtos (v1)
Criado o endpoint para atualizar o preço de vários produtos: /public-api/v1/produtos/preços.
Código : Código do produto, Caractere, 20;
Preço: Preço do produto, decimal, 15,6;
Preços: Lista de Produto preço, para filiais;
No “precos” foi adicionado a estrutura “PautasPreco” que recebe uma estrutura do tipo pautaPreco.
Estrutura “pautaPreco”:
“codigoPauta”: Código da pauta de preço, Caracter, 20;
“Preco”: Preço do produto, decimal, 15,6;
Quando a base não possuir filiais a estrutura “pautasPreco” não precisa ficar dentro de “Precos”;
Quando possuir múltiplas filiais, o endpoint funcionará conforme a configuração para replicar preço ou não;
Quanto a preferência estiver para replicar preço, não precisa informar a final no campo “Preco[]”, caso contrário, quando não estiver para replicar o preço a filial é obrigatória.
[ { "codigo": Caracter, "preco": Numérico, "precos": [ { "filial": caracter, "preco": numérico, "pautasPreco": [ { "codigoPauta": caracter, "preco": numérico }, { "codigoPauta": caracter, "preco": Numérico }, { "codigoPauta": caracter, "preco": Numérico }, { "codigoPauta": Numérico, "preco": Numérico } ] } ] } ] |
Estrutura quando não possuir filiais:
[ { "codigo": Caracter, "preco": Numérico, "pautasPreco": [ { "codigoPauta": caracter, "preco": numérico }, { "codigoPauta": caracter, "preco": Numérico }, { "codigoPauta": caracter, "preco": Numérico }, { "codigoPauta": Numérico, "preco": Numérico } ] } ] |
Criado endpoint que recebe uma lista de produtos: /public-api/v1/produtos/lista.
Exemplo de JSON:
[ { "codigo": "", "referencia": "", "ean": "", "inativo": 0, "nome": "Produto teste filial 01 - caso 38421 - jar 1857", "tipoRegistro": "P", "codigoFornecedor": "", "unidadeMedida": "UN", "lucroBruto": "0.00", "peso": "0.000", "numeroSerie": 0, "tributacaoICMS": "T", "aliquotaIPI": "0.000000", "situacaoTributaria": "00", "custo": "22.000000", "iat": "T", "ippt": "T", "origem": 0, "nomeGrupoProduto": "Produtos diversos", "nomeFornecedor": "Fornecedor SP", "caminhoImagem": "", "aliquotaICMS": "17.00", "tributacaoEspecial": "", "casasDecimais": 2, "codigoGrupoProduto": " 1", "pesavel": 0, "tipoProduto": "00", "observacao": "", "ncm": "01012100", "situacaoTributariaSN": "101", "cstPisCofins": "99", "aliquotaPis": "0.0000", "aliquotaCofins": "0.0000", "cstPisCofinsEntrada": "99", "aliquotaPisEntrada": "0.0000", "aliquotaCofinsEntrada": "0.0000", "informarDimensoes": 0, "codigoCfopEntrada": "", "codigoCfopSaida": "", "codigoCfopEntradaExterna": "", "codigoCfopSaidaExterna": "", "codigoCfopEntradaDevolucaoInterna": "", "codigoCfopSaidaDevolucaoInterna": "", "codigoCfopEntradaDevolucaoExterna": "", "codigoCfopSaidaDevolucaoExterna": "", "codigoCfopEntradaTransfInterna": "", "codigoCfopSaidaTransfInterna": "", "codigoCfopEntradaTransfExterna": "", "codigoCfopSaidaTransfExterna": "", "codigoCfopSaidaExternaNaoContribuinte": "", "extra1": "", "extra2": "", "extra3": "", "extra4": "", "extra5": "", "extra6": "", "cest": "0100100", "informacaoAdicional": "", "tributacaoSN": "300", "custoMedioInicial": "0.000000", "codigoLeiComplementar": "01012100", "exigibilidadeIss": 0, "codigoReceitaSemContribuicao": "", "tributacaoEspecialNfceSat": "00", "enviaECommerce": 0, "nomeEcf": "Produto normal", "descricaoShop": "", "infoShop": "", "codigoFabricante": "", "pesoShop": "0.000", "alturaShop": "0.0", "larguraShop": "0.0", "comprimentoShop": "0.0", "tipoEmbalagemShop": 0, "extraBalanca1": "", "extraBalanca2": "", "extraBalanca3": "", "extraBalanca4": "", "extraBalanca5": "", "extraBalanca6": "", "extraBalanca7": "", "extraBalanca8": "", "extraBalanca9": "", "extraBalanca10": "", "extraBalanca11": "", "currentTimeMillis": 1665173609113, //"preco": 102.00, "precos": [ { "filial": 1, "preco": 111.00, "pautasPreco": [ { "codigoPauta": 1, "preco": 191.00 }, { "codigoPauta": 2, "preco": 192.00 } ] }, { "filial": 2, "preco": 212.00, "pautasPreco": [ { "codigoPauta": 1, "preco": 211.00 }, { "codigoPauta": 2, "preco": 212.00 ] } ], "atributos": [], "tags": [], "imagens": [], "tipoVolume": 0, "quantidadeVolume": 0, "possuiVariacao": 0, "enviarOutrosECommerce": 0, "possuiLote": 0, "kit": 0 } ] |
No “Produto (V1)”, foi adicionado a estrutura “pautasPreco” no campo “precos[]”.
5. Endpoint Produtos (v1)
Manipulação de produtos e serviços
URL: “/public-api/v1/produtos“
Verbos suportados: POST, PUT, GET e DELETE
Status HTTP
200 = OK
422 = A requisição falhou ao ser processada. Veja a mensagem retornada para mais detalhes
JSON Exemplo
{“produto”: {“codigo”: “999000”, “nome”:”PRODUTO TESTE”, “preco”: 10.23}} |
Exemplos
curl –header “Authorization: Bearer ${token_de_acesso}” –header “Content-Type: application/json” –data “${json}” –request “POST” “${endereco_do_servidor}/public-api/v1/produtos” |
curl –header “Authorization: Bearer ${token_de_acesso}” –header “Content-Type: application/json” –data “${json}” –request “PUT” “${endereco_do_servidor}/public-api/v1/produtos” |
curl –header “Authorization: Bearer ${token_de_acesso}” –header “Content-Type: application/json” –request “GET” “${endereco_do_servidor}/public-api/v1/produtos/${codigo}” Observação: Caso trabalhe com preço por filial, pode ser passado a filial como parâmetro, após o código, no método acima. |
curl –header “Authorization: Bearer ${token_de_acesso}” –header “Content-Type: application/json” –request “GET” “${endereco_do_servidor}/public-api/v1/produtos” |
curl –header “Authorization: Bearer ${token_de_acesso}” –header “Content-Type: application/json” –request “DELETE” “${endereco_do_servidor}/public-api/v1/produtos/${codigo}” |
Observação: Caso queira consultar os produtos incluídos e/ou alterados após uma data e hora, é possível usar um filtro especial pelo currentTimeMillis, conforme este exemplo: curl –header “Authorization: Bearer ${token_de_acesso}” –header “Content-Type: application/json” –request “GET” “${endereco_do_servidor}/public-api/v1/produtos?currentTimeMillis.ge=1616786400000” Para mais informações sobre como converter data e hora para currentTimeMillis, acesse esse link. |
Lista dos campos do JSON
Identificador | Descrição | Obrigatório | Tipo | Tamanho | Decimais | Observações |
aliquotaCofins | Alíquota Cofins saída | Decimal | 5 | 2 | ||
aliquotaCofinsEntrada | Alíquota Cofins Entrada | Decimal | 5 | 4 | ||
aliquotaICMS | Aliquota ICMS | Decimal | 5 | 2 | Caso for serviço informar a alíquota do ISS | |
aliquotaIPI | Aliquota IPI | Decimal | 5 | 2 | ||
aliquotaPis | Alíquota Pis saída | Decimal | 5 | 2 | ||
aliquotaPisEntrada | Alíquota Pis Entrada | Decimal | 5 | 4 | ||
alturaShop | Altura shop | Decimal | 12 | 1 | ||
caminhoImagem | Caminho da imagem | Caracter | 200 | Ex: c:exportaarquivo.jpg | ||
casasDecimais | Casas decimais | Inteiro | Número de casas decimais da unidade de medida | |||
cest | Código do CEST | Caracter | 10 | |||
codigo | Código | Sim | Caracter | 20 | Se deixar em branco o sistema gera um sequencial | |
codigoCfopEntrada | CFOP interna de entrada | Caracter | 6 | |||
codigoCfopEntradaDevolucaoExterna | CFOP externa de entrada devolução | Caracter | 6 | |||
codigoCfopEntradaDevolucaoInterna | CFOP interna de entrada devolucao | Caracter | 6 | |||
codigoCfopEntradaExterna | CFOP externa de entrada | Caracter | 6 | |||
codigoCfopEntradaTransfExterna | CFOP externa de entrada transferência | Caracter | 6 | |||
codigoCfopEntradaTransfInterna | CFOP interna de entrada transferência | Caracter | 6 | |||
codigoCfopSaida | CFOP interna de saida | Caracter | 6 | |||
codigoCfopSaidaDevolucaoExterna | CFOP externa de saida devolução | Caracter | 6 | |||
codigoCfopSaidaDevolucaoInterna | CFOP interna de saida devolucao | Caracter | 6 | |||
codigoCfopSaidaExterna | CFOP externa de saida | Caracter | 6 | |||
| CFOP Externa de saída para não contribuinte | Caracter | 6 | |||
codigoCfopSaidaTransfExterna | CFOP externa de saida transferência | Caracter | 6 | |||
codigoCfopSaidaTransfInterna | CFOP interna de saida transferência | Caracter | 6 | |||
codigoFabricante | Código do fabricante | Caracter | 10 | |||
codigoFornecedor | Código do fornecedor | Caracter | 10 | |||
codigoGrupoProduto | Codigo do grupo de produto | Caracter | 30 | |||
codigoLeiComplementar | Código da Lei complementar | Caracter | 10 | |||
codigoReceitaSemContribuicao | Código da Receita sem contribuição | Caracter | 10 | |||
comprimentoShop | Comprimento shop | Decimal | 12 | 1 | ||
cstPisCofins | CST Pis/Cofins saída | Caracter | 2 | |||
cstPisCofinsEntrada | CST Pis/Cofins Entrada | Caracter | 2 | |||
currentTimeMillis | Controle de registro | Inteiro | ||||
custo | Custo | Decimal | 12 | 6 | ||
custoMedioInicial | Custo médio inicial | Decimal | 15 | 6 | ||
descricaoShop | Descrição Uniplus Shop | Caracter | 4096 | |||
ean | Código EAN | Caracter | 20 | |||
enviaECommerce | Enviar produto ao E-Commerce | 1=Sim 0=Não | ||||
exigibilidadeIss | Indicador da exigibilidade do ISS | Inteiro | 1 | |||
extra1 | extra1 | Caracter | 50 | |||
extra2 | extra2 | Caracter | 50 | |||
extra3 | extra3 | Caracter | 50 | |||
extra4 | extra4 | Caracter | 50 | |||
extra5 | extra5 | Caracter | 50 | |||
extra6 | extra6 | Caracter | 50 | |||
iat | IAT | Caracter | 1 | A=Arredondamento T=Truncamento | ||
imagens | Imagens do produto | Retorno das imagens cadastradas no produto | ||||
inativo | Inativo | Inteiro | 1=inativo 0=ativo | |||
infoShop | Informações no Uniplus Shop | Caracter | 4096 | |||
informacaoAdicional | Informação Adicional | Caracter | 500 | |||
informarDimensoes | Informar dimensões | Inteiro | 1 | 1=Sim 0=Não | ||
ippt | IPPT | Caracter | 1 | P=fabricação própria T=fabricação por terceiros | ||
larguraShop | Largura shop | Decimal | 12 | 1 | ||
lucroBruto | % Lucro | Decimal | 5 | 2 | ||
ncm | NCM | Caracter | 10 | |||
nome | Nome | Sim | Caracter | 120 | ||
nomeEcf | Nome ECF | Caracter | 120 | |||
nomeFornecedor | Nome do fornecedor | Caracter | 50 | |||
nomeGrupoProduto | Nome do grupo do produto | Caracter | 40 | Nome do grupo. Caso não informado será usado GERAL | ||
numeroSerie | Número de série | Inteiro | Controlar o produto por número de série 1=Sim 0=Não | |||
observacao | Observação | Caracter | 4096 | |||
origem | Origem | Inteiro | 0=Nacional 1=Importado | |||
pesavel | Pesável | Inteiro | 1=produto pesável 0=produto não pesável | |||
peso | Peso | Decimal | 12 | 3 | ||
pesoShop | Peso shop | Decimal | 12 | 3 | ||
preco | Preço | Sim | Decimal | 15 | 6 | Preço (Venda) |
precoPauta1 | Pauta preço 1 | Decimal | 15 | 6 | Preço na pauta 1 | |
precoPauta2 | Pauta preço 2 | Decimal | 15 | 6 | Preço na pauta 2 | |
precoPauta3 | Pauta preço 3 | Decimal | 15 | 6 | Preço na pauta 3 | |
precoPauta4 | Pauta preço 4 | Decimal | 15 | 6 | Preço na pauta 4 | |
precos | Preços por filiais | Lista de Produto preço, para filiais(Verificar documentação de Produto preço) | ||||
referencia | Referência | Caracter | 20 | |||
situacaoTributaria | Codigo da situação tributária | Caracter | 3 | |||
situacaoTributariaSN | Situação tributária Simples Nacional NF-e | Caracter | 3 | |||
tipoProduto | Tipo produto | Caracter | 2 | 00=Mercadoria p/ revenda 01=Mat.Prim 02=Embalagem 03=Prod. Em Processo 04=Prod. Acabado 05=SubProduto 06=Prod.Intermediario 07=Mat.Uso Consumo 08=Ativo Imobilizado 09=Serviços 10=Outros insumos 99=Outros | ||
tipoRegistro | Tipo do registro | Caracter | 1 | P=Produto S=Serviço | ||
tributacaoEspecial | Tributacao especial | Caracter | 10 | |||
tributacaoEspecialNfceSat | Situação tributária especial para NFC-e/SAT | Caracter | 3 | |||
tributacaoICMS | Tributacao ICMS | Caracter | 7 | Para produto: T=Tributado N=Não tributado I=Isento F=Substituição tributária.Para servico: S=Tributado, NS=Não tributado, IS=Isento, FS=substituição tributária | ||
tributacaoSN | Situação tributária Simples Nacional NFC-e e SAT | Caracter | 3 | |||
unidadeMedida | Unidade de medida | Sim | Caracter | 3 | Ex: UN,PC,CX | |
tipoVolume | Tipo de volume | Inteiro | 1 | 1=Volumes 2=Embalagem | ||
quantidadeVolume | Quantidade do volume | Inteiro | 2 | |||
possuiVariacao | Identifica se o produto possui variação | Inteiro | 1 | 1=Sim 0=Não | ||
enviarOutrosECommerce | Identifica se o produto será enviado para ecommerce integrado | Inteiro | 1 | 1=Sim 0=Não | ||
possuiLote | Identifica se o produto possui lote | Inteiro | 1 | 1=Sim 0=Não | ||
kit | Identifica se o produto é um kit | Inteiro | 1 | 1=Sim 0=Não | ||
codigoEmpresa | Informação de código das empresas, para quando o sistema estiver trabalhando com “Produto por empresa” | Inteiro | 10 | |||
codigoBeneficioFiscalPDV | Código do Benefício Fiscal do PDV | Caractere | 10 | |||
descricaoBeneficioFiscalPDV | Descrição do beneficio fiscal do PDV | Caractere | 512 | |||
motivoDesoneracaoIcmsPDV | Código do motivo da desoneração | Numérico | 1 – Táxi; | |||
codigoBeneficioFiscalNF | Código do benefício fiscal da NF-e | Caractere | 10 | |||
descricaoBeneficioFiscalNF | Descrição do benefício fiscal da NF-e | Caractere | 512 | |||
motivoDesoneracaoNf | Código do motivo da desoneração | Numérico | 1 – Táxi; | |||
Lista de Objetos opcionais |
Estrutura de Opcionais do Uniplus Gourmet
Identificador | Descrição | Obrigatório | Tipo | Tamanho | Decimais | Observações |
codigo | Código do produto opcional | Caractere | 20 | |||
descricao | Descrição do produto opcional | Caractere | 120 | |||
preco | Preço adicional | Numérico | 12 | 3 |
6. Endpoint Produto preço (v1)
Manipulação de preço quando trabalhar com preços diferente por filial.
JSON Exemplo
"precos": [ { "filial": 1, "preco": 111.00, "pautasPreco": [ { "codigoPauta": 1, "preco": 191.00 }, { "codigoPauta": 2, "preco": 192.00 } ] }, |
Observações:
A linha “pautasPreço“: não será necessário em todas as requisições, apenas quando ser trabalhado com múltiplas pautas.
Este objeto tem que ser enviado junto ao produto para cadastrar ou alterar o preço de um produto para uma determinada filiais e pautas de preço.
Lista dos campos do JSON
Identificador | Descrição | Obrigatório | Tipo | Tamanho | Decimais | Observações |
filial | Filial | Sim | Caracter | 4 | Código da filial que vai receber a atualização do preço | |
preco | Preço | Sim | Decimal | 15 | 6 | Preço (Venda) |
codigoPauta | Código da Pauta | Caracter | 20 | |||
preco* | Preço do produto na pauta | Decimal | 15 | 6 |
*este campo deve ser chamado após abrir o chamado da pauta de preço no JSON.