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:
- Conexão a um servidor remoto (quando for Amazon ou GetTI)
- Conexão a um servidor local (quando for um servidor local do Uniplus Web)
- 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:
- objeto: a api disponibiliza um DTO (data transfer object) para cada tipo de objeto enviado e recebido do servidor.
- 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.
- Connection: objeto com a conexão instanciada do tipo RemoteConnection, LocalConnection ou YodaConnection
- ApiRequest: objeto com o DTO mais a sessão (veja a aplicação exemplo)
- url: String correspondente a url do tipo de objeto sendo invocado
- T: tipo de objeto sendo invocado
- 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ção | DTO | URL | ApiRequest |
---|---|---|---|
Produto | Produto | produtos | ProdutoRequest |
Código de barras EAN | Ean | eans | EanRequest |
Variação (Grades) | Variacao | variacoes | VariacaoRequest |
Embalagem | Embalagem | embalagens | EmbalagemRequest |
Saldo em estoque | SaldoEstoque | saldo-estoque | SaldoRequest |
Cliente, Fornecedor, Transportadora, Vendedor, Técnico, Fabricante | Entidade | entidades | EntidadeRequest |
Pré-vendas, Orçamento, Pedido de vendas, Pedido de faturamento | Dav,DavItem | davs | DavRequest |
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)