Central do Uniplus

Índice
< Todo o conteúdo
Imprimir

Comunicação via API

Introdução

A comunicação via API pode ser realizada via linhas de comando utilizando CURL ou aplicação destinada a requisição API, como POSTMAN (o mais conhecido) e INSOMNIA.


 Acesso Insomnia

Download – Insomnia


 Acesso Curl

Download – Curl

Request via GET TI/AWS

Via GET TI será o endereço resolvido da instância da revenda, como por exemplo o da Intelidata: “https://getcard.intelidata.inf.br“.

Especialmente na Amazon, cada instância tem um IP/URL próprio. Então, cada vez que é instanciado uma nova versão, um novo IP/URL será gerado.

Para garantir sempre o sucesso da conexão, é possível fazer uma chamada para o serviço de roteamento do UniplusWeb, a fim de obter a URL atualizada de uma conta.

Logado na conta do cliente que será integrado acesse: Ferramentas → Configuração API, e teremos os seguintes dados:

No Insominia, crie um Projeto e depois uma Request Collection. Uma função legal do Insomnia é a possibilidade de criar diferentes projetos com diferentes requests, como diferentes áreas de trabalho.

Primeiro vamos criar uma Request tipo Get, ou seja, consultar dados, clicando no + e em HTTP Request: Obs: Para requisições via internet, sempre temos de usar HTTPS://.

Em seguida, clique em Auth → OAth 2.0:

Antes de iniciar uma Request, é necessário solicitar a criação do Token ao servidor, assim poderá ser iniciado as consultas via API, este token possui validade de 60 minutos, e sua geração pode ser feita quantas vezes for necessária.

  • 1- Configure Grant Type como Client Credentials;
  • 2- Informe endereço da instância do cliente com HTTPS:// seguido de: /oauth/token como na imagem acima. Exemplo: https://getcard.intelidata.inf.br/oauth/token;
  • 3- Em Client ID informe a conta do cliente, que será o mesmo que o Tenant do cliente;
  • 4- Copie e cole neste campo a chave de acesso do cliente;
  • 5- Depois clique em Fetch Tokens.

Após os passos acima, o resultado será um token gerado como abaixo

No endereço o tipo da Request será Get, porém, existem outros tipos, conforme documentação: Métodos de requisição HTTP.

O endereço usado será o mesmo da instância do cliente com o HTTPS, com acréscimo de /public-api/V1/davs. Para isso, configuraremos conforme a imagem abaixo:

Para fazer uma Request de uma dav específica, basta adicionar /numeroDav.

Exemplo: /public-api/V1/davs/2

Para saber a lista de Objetos suportados, consulte o artigo: Api Rest – Lista de objetos.

Basicamente, os atributos dos objetos são os mesmos objetos do R2D2, então o layout será similar, observe também que alguns objetos estão como V1 e outros como V2, isso porque na V2 provavelmente foi adicionado algum atributo que não existia na V1, e provavelmente V1 foi descontinuada.

{
	"identificacao": "DV",
	"tabela": "dav",
	"descricaoLayout": "DAV (Orçamento, Pedido de venda, Pedido de faturamento)",
	"codigo": 2,
	"filial": "1",
	"tipoDocumento": 4,
	"valor": 11.50,
	"itens": [
		{
			"produto": "1077",
 			"quantidade": 1.000000,
			"precoUnitario": 11.500000,
			"desconto": 0.00,
			"precoTotal": 11.50,
			"numeroSerie": "",
			"codigoDAV": 2,
			"nrItem": 1,
			"codigoUnidadeMedida": "UN",
 		}
	]
}

Json é formado por {} (Chaves) e [] (Colchetes), sempre que tivermos [] (Colchetes) significa que dentro teremos uma lista de algo, neste exemplo, de itens.

Para realizar um cadastro ou Post, como é feito na API, precisamos criar um método Post como na imagem abaixo e adicionar um corpo (Body).

No corpo vamos informar o Json e no endereço informar o tipo Post e o caminho do Andpoint:

Para entender mais sobre o formato Json, sugerimos que acesse o conteúdo a seguir: Afinal, o que é JSON e para que ele serve? Descubra agora!.

API Desktop

Para conectar API com desktop, será necessário utilizar o Yoda e não possuir UniplusWeb rodando na mesma porta da máquina local, isso porque, por padrão, tanto o Yoda quanto UniplusWeb usam a porta 8443. API desktop NÃO utiliza o conceito tenant, então a conta e a chave de acesso é fixa igualmente descrito no artigo API Rest.

Não há como gerar o token pela aplicação como na GET TI, então usaremos o Curl para gerar o token e configurar ele manualmente no Insominia.

Instale o Curl e abra o terminal a partir do endereço da pasta.

Obs: Para facilitar esse processo, digite CMD no endereço de qualquer pasta e tecle Enter:

Em seguida, execute o comando.

Obs: O comando será exatamente o mesmo abaixo, exceto pelo IP, caso não seja localhost, deve-se informar o IP de onde está rodando o serviço.

Comando: 
curl -k -X POST -H "Authorization: Basic dW5pcGx1czpsNGd0cjFjazJyc3ByM25nY2wzZW50" -H "Content-Type: application/x-www-form-urlencoded" -d "grant_type=client_credentials" "https://localhost:8443/oauth/token"

A chave é o que está na frente de “access_token” dentro da próxima aspas:

Nesse caso, o token é:

"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOlsieW9kYSJdLCJzY29wZSI6WyJwdWJsaWMtYXBpIl0sImV4cCI6MTY2MzEwNzU0MywianRpIjoiZWUwNjY4OTEtMmE4Ni00MjFlLWJjYmItNWY2NjU3NmFhY2I4IiwiY2xpZW50X2lkIjoidW5pcGx1cyJ9.HrD9Op3k0_X5DNy819C7vOgSp0j9fEcGQa-zNTKdp4Q"

No Insominia, deverá ser informado o endpoint de acordo com o desejado e o Token:

O restante (GetPost e Put Delete) segue o mesmo padrão da API REST.

Conteúdo Relacionado

Os artigos listados abaixo estão relacionados ao que você acabou de ler:
Índice de Endpoints (WEB)
API Rest (WEB)
API Alto Nível (WEB)
API para acesso externo (WEB)
API Pública do Gourmet
Antes de Falar com o Suporte Técnico
Obtendo suporte técnico e ajuda

15 Artigos recentes

Ver os últimos 100