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. Uma aplicação exemplo pode ser obtida neste link.

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)
Obtendo suporte técnico e ajuda
Antes de Falar com o Suporte Técnico

15 Artigos recentes

Ver os últimos 100