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. 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)
• Índice de Endpoints (WEB)
• Comunicação via API (WEB)
• Obtendo suporte técnico e ajuda
• Antes de Falar com o Suporte Técnico