Central do Uniplus

Índice
< Todo o conteúdo
Imprimir

API Alto Nível (WEB)

A API de alto nível é disponibilizada em JAVA junto com uma aplicação exemplo. A API é baixada automaticamente do repositório da Intelidata

A seguir mostramos os trechos de código mais importantes

Configuração do projeto em Gradle. Observe a configuração do repositório da Intelidata e as dependências necessárias. Atente também para a versão da uniplus-api: recomendamos usar sempre a versão mais recente.

repositories {
    mavenCentral()
    maven {
        url "s3://intelidata-maven/release"
        authentication {
            awsIm(AwsImAuthentication)
        }
    }
}

dependencies {
    implementation 'br.intelidata:uniplus-api:1.0.11'
    implementation 'commons-codec:commons-codec:1.14'
    implementation 'com.sun.jersey:jersey-bundle:1.19.4'
    implementation 'com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.7.5'

    testCompile group: 'junit', name: 'junit', version: '4.12'
}

Existem 3 métodos de conexão ao servidor:

  1. Conexão a um servidor remoto (quando for Amazon ou GetTI)
  2. Conexão a um servidor local (quando for um servidor local do Uniplus Web)
  3. Conexão a um servidor Yoda (quando for um servidor local Yoda)

A seguir veja como configurar cada tipo de conexão:

Connection CONNECTION = new RemoteConnection(CONTA, SECRET);
Connection CONNECTION = new LocalConnection(HOST, CONTA, SECRET);
Connection CONNECTION = new YodaConnection(HOST);

sendo que

  • CONTA: identificador da conta ou tenant do cliente
  • SECRET: a chave de acesso gerada dentro do próprio Uniplus Web no menu Ferrametas – Configuração API
  • HOST: endereço e porta do servidor. ex: http://localhost:8080

A seguir é preciso instanciar um objeto Sessao que define qual filial e usuário devem ser usados em cada chamada ao servidor

Sessao SESSAO = new Sessao(ID_USUARIO, ID_FILIAL);

sendo que

  • ID_USUARIO é o identificador do usuário que será registrado na auditoria do Uniplus Web
  • ID_FILIAL é o identificador da filial que está sendo chamado

Agora basta invocar o servidor através de um destes métodos

// Insere um objeto no servidor
ServerStatus insert(Connection, ApiRequest, String url)

// Atualiza um objeto no servidor
ServerStatus update(Connection, ApiRequest, String url)

// Apaga um objeto no servidor
String delete(Connection connection, ApiRequest, String url)

// Retorna um objeto do servidor
T get(Connection, ApiRequest, String url, Class<T>)

// Retorna uma lista de objetos do servidor
List<T> getAll(Connection, ApiRequest, String url, Class<T>, int pageSize)

A aplicação exemplo demonstra como cada método é utilizado. Segue uma breve explicação para auxiliar na compreensão:

  1. objeto: a api disponibiliza um DTO (data transfer object) para cada tipo de objeto enviado e recebido do servidor.
  2. ServerStatus: objeto de retorno dos métodos de insert e update. Contém uma lista de erros e avisos ou indicam que a operação foi bem sucedida.
  3. Connection: objeto com a conexão instanciada do tipo RemoteConnection, LocalConnection ou YodaConnection
  4. ApiRequest: objeto com o DTO mais a sessão (veja a aplicação exemplo)
  5. url: String correspondente a url do tipo de objeto sendo invocado
  6. T: tipo de objeto sendo invocado
  7. pageSize: tamanho dá página usada em consultas que podem retornar muitos objetos. Sugerimos o número 100

Abaixo segue a lista de objetos suportados pela API

DescriçãoDTOURLApiRequest
ProdutoProdutoprodutosProdutoRequest
Código de barras EANEaneansEanRequest
Variação (Grades)VariacaovariacoesVariacaoRequest
EmbalagemEmbalagemembalagensEmbalagemRequest
Saldo em estoqueSaldoEstoquesaldo-estoqueSaldoRequest
Cliente, Fornecedor, Transportadora, Vendedor, Técnico, FabricanteEntidadeentidadesEntidadeRequest
Pré-vendas, Orçamento, Pedido de vendas, Pedido de faturamentoDav,DavItemdavsDavRequest

Os detalhes de cada objeto são os mesmos utilizados pelo R2D2: centraldouniplus.intelidata.inf.br/cdu/desktop/layout-de-importacao-exportacao-de-arquivo-texto-r2d2/

Aplicação exemplo: https://file.ac/e_7CAqtMRm8/uniplus-api-demo.zip?download=true

Conteúdo Relacionado

Os artigos listados abaixo estão relacionados ao que você acabou de ler:
Yoda
Layout de importação/exportação de arquivo texto (R2D2)
API para acesso externo (WEB)
API Rest (WEB)
Api Rest – Lista de objetos (WEB)
Comunicação via API (WEB)

   15 Artigos recentes   

Ver os últimos 100