Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

Totvs custom tabs box
tabsPré-requisitos,Instalação,Configuração,Utilização
idsprerequisitos,instalacao,configuracao,utilizacao
Totvs custom tabs box items
defaultyes
referenciaprerequisitos

Para implantação da API OAuth2 é necessário:

  1. Sistema operacional 64 bits compatível (Linux/Microsoft Windows);
  2. Servidor web Apache 64 bits versão 2.4 (versão homologada: 2.4.47 e superiores);
  3. Servidor Redis versão 3.2 (versão homologada: 3.2.100 e superiores)
  4. 512 MB de memória RAM (mínimo);
  5. Processador 1,6 GHz (mínimo) e;
  6. 25 MB de espaço disponível em disco.
Totvs custom tabs box items
defaultno
referenciainstalacao
Totvs custom tabs box
tabsLinux,Microsoft Windows
idslinux,windows
Totvs custom tabs box items
defaultyes
referencialinux

A instalação da API em sistemas operacionais Linux depende, em todos os casos, da distribuição adotada. Em distribuições baseadas na distribuição Ubuntu, é necessário disponibilizar a API no diretório /usr/lib/apache2/modules. Além disso, é necessário criar os arquivos littera_v1.loadlittera_v1.conf no diretório /etc/apache2/mods-available.

O conteúdo do arquivo littera_v1.load é:

Bloco de código
titleArquivo littera_v1.load
LoadModule littera_module_v1 modules/mod_littera_v1.so

Já o conteúdo do arquivo littera_v1.conf é:

Bloco de código
titleArquivo littera_v1.conf
<IfModule littera_module_v1>
  <Location /api/tlra/littera/v1>
    SetHandler mod_littera_v1-handler
  </Location>
</IfModule>

Configuradas as opções de carregamento da API através do servidor web Apache, é necessário criar o arquivo de configuração da API em /etc/littera_v1/database.conf conforme indicado abaixo:

Bloco de código
# Este é o arquivo de configuração da API de autenticação OAuth2 do 
# ecossistema Recintos Aduaneiros. Assim como o arquivo de configuração
# do Apache, as configurações aqui seguem o padrão "chave valor",
# sendo assim, tanto chaves quanto valores contém uma única palavra.
#
# Comentários podem ser feitos adicionando o símbolo # como primeiro
# caractere da linha. Isso também pode ser utilizado para desativar
# configurações.

# Definições de acesso ao banco de dados 
#
# DriverID: Driver utilizado para a conexão com o banco de dados
# Server: Nome do servidor onde a instância do banco de dados está instalada
# Port: Porta pela qual o banco de dados pode ser acessado
# Name: Nome do banco de dados a ser acessado
# User: Nome do usuário de acesso ao banco de dados
# Password: Senha usada pelo usuário para acesso ao banco de dados (criptografada)
# Charset: Conjunto de caracteres utilizado pelo banco de dados

CharSet=UTF8
DriverID=PG
Database=littera
Hostname=localhost
Password=tlra@2024
Port=5432
Username=postgres

Com as configurações efetivadas, é necessário ativar o módulo da API através do comando abaixo:

sudo a2enmod littera_v1

E reiniciar o servidor web Apache através do comando abaixo:

$ sudo service apache2 restart

Totvs custom tabs box items
defaultno
referenciawindows

Para implantação da API em servidores com sistema operacional Microsoft Windows é necessário disponibilizar seu módulo no diretório de módulos da instalação do servidor web Apache. Após a disponibilização do arquivo, é necessário editar o arquivo httpd.conf constante na instalação do servidor web Apache, acrescentando as linhas a seguir:

Bloco de código
LoadModule littera_module_v1 modules/mod_littera_v1.so

<IfModule littera_module_v1>
  <Location /api/tlra/littera/v1>
    SetHandler mod_littera_v1-handler
  </Location>
</IfModule>

Como parte da configuração da API, é necessário criar seu arquivo de configuração em C:\TOTVS\etc\littera_v1\database.conf com o conteúdo abaixo:

Bloco de código
# Este é o arquivo de configuração da API de autenticação OAuth2 do 
# ecossistema Recintos Aduaneiros. Assim como o arquivo de configuração
# do Apache, as configurações aqui seguem o padrão "chave valor",
# sendo assim, tanto chaves quanto valores contém uma única palavra.
#
# Comentários podem ser feitos adicionando o símbolo # como primeiro
# caractere da linha. Isso também pode ser utilizado para desativar
# configurações.

# Definições de acesso ao banco de dados 
#
# DriverID: Driver utilizado para a conexão com o banco de dados
# Server: Nome do servidor onde a instância do banco de dados está instalada
# Port: Porta pela qual o banco de dados pode ser acessado
# Name: Nome do banco de dados a ser acessado
# User: Nome do usuário de acesso ao banco de dados
# Password: Senha usada pelo usuário para acesso ao banco de dados (criptografada)
# Charset: Conjunto de caracteres utilizado pelo banco de dados

CharSet=UTF8
DriverID=PG
Database=littera
Hostname=localhost
Password=tlra@2024
Port=5432
Username=postgres

Tendo efetivado a construção do arquivo de configuração da API, é necessário reiniciar o servidor web Apache através de seu gestor de serviços ou o gestor de serviços do sistema operacional.

Totvs custom tabs box items
defaultno
referenciaconfiguracao

Para configuração da API de integração, é necessário editar o arquivo de configuração database.conf definindo seus parâmetros conforme abaixo:

ConjuntoParâmetroDescriçãoValor padrãoFormatoStatus
Banco de dadosCharSetConjunto de caracteres utilizado pelo banco de dados.UTF8NenhumImplementado
Banco de dadosDriverIDIdentificador do tipo de conexão com o banco de dados.PGNenhumImplementado
Banco de dadosDatabaseNome do banco de dados a ser conectado.litteraNenhumImplementado
Banco de dadosHostnameNome do servidor e instância de instalação do banco de dados.localhostHostname/IPv4/IPv6Implementado
Banco de dadosPasswordSenha do usuário de acesso ao banco de dados.tlra@2024NenhumImplementado
Banco de dadosPortPorta de conexão com o banco de dados.54321~65535Implementado
Banco de dadosUsernameNome do usuário de conexão com o banco de dados.postgresNenhumImplementado

É importante notar que entre os parâmetros e seus valores deve haver apenas um sinal de igualdade "=". Se esta regra não for obedecida, a configuração adotará o valor padrão por considerar inválida a opção.

Totvs custom tabs box items
defaultno
referenciautilizacao
Totvs custom tabs box
tabsAutenticação,Consumo
idsautenticacao,consumo
Totvs custom tabs box items
defaultyes
referenciaautenticacao
Totvs custom tabs box
tabsLogon,Renovação
idslogon,renovacao
Totvs custom tabs box items
defaultyes
referencialogon

Para efetivar a autenticação do usuário junto à API de integração, a aplicação cliente deve, considerando o endereço de instalação da API como localhost, operando em suas portas padrão (80443):

  1. Utilizar o verbo POST para a solicitação;
  2. Definir o Content Type da requisição como application/x-www-form-urlencoded;
  3. Adicionar ao corpo da requisição os campos:
    1. grant_type com valor password;
    2. username com o valor referente ao nome do usuário utilizado para o logon e;
    3. password com o valor referente à senha deste usuário;
  4. Enviar a requisição para o endpoint https://localhost/api/tlra/littera/v1/auth.

Como resultado de sucesso, a API devolverá um objeto JSON como o demonstrado abaixo:

Bloco de código
languagejs
titleResposta para sucesso na autenticação
{
    "access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhdWQiOiJFeHBlZGlcdTAwRTdcdTAwRTNvIGRlIHBhY290ZXMiLCJleHAiOjE3MTQ1MDQyMjIsImlhdCI6MTcxNDI0NTAyMiwiaXNzIjoiTGl0dGVyYSIsInN1YiI6IjAxMjM0NTY3LTg5YWItY2RlZi0wMTIzLTQ1Njc4OWFiY2RlZiIsIm5ubSI6IkFkbWluaXN0cmFkb3IiLCJuYW0iOiJVc3VcdTAwRTFyaW8gQWRtaW5pc3RyYWRvciJ9.5dWQ0BJHaa9piHP6yoPv57VqI_dO66_MIr7fWt-SYVI",
    "expires_in": 259200,
    "token_type": "Basic",
    "refresh_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHAiOjE3MTQ1MDUxMjIsImlzcyI6IkxpdHRlcmEiLCJuYmYiOjE3MTQ1MDM5MjIsInN1YiI6ImFkbWluIn0.xB79G_B6RsnBg_wzDDN-XFRdMzLoY7wAXP2o2Pv1Y4I"
}

Em caso de falha na autenticação, a API retornará um erro 401 - Unauthorized.

Totvs custom tabs box items
defaultno
referenciarenovacao

Para renovar a autenticação do usuário junto à API de integração, a aplicação cliente deve, considerando o endereço de instalação da API como localhost, operando em suas portas padrão (80443):

  1. Utilizar o verbo POST para a solicitação;
  2. Definir o Content Type da requisição como application/x-www-form-urlencoded;
  3. Adicionar ao corpo da requisição os campos:
    1. grant_type com valor refresh_token e;
    2. refresh_token com o valor referente ao token de renovação de autenticação obtido durante o processo de autenticação;
  4. Enviar a requisição para o endpoint https://localhost/api/tlra/littera/v1/auth.

Como resultado de sucesso, a API devolverá um objeto JSON como o demonstrado abaixo:

Bloco de código
languagejs
titleResposta para sucesso na autenticaçãorenovação
{
    "access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhdWQiOiJFeHBlZGlcdTAwRTdcdTAwRTNvIGRlIHBhY290ZXMiLCJleHAiOjE3MTQ1MDQyMjIsImlhdCI6MTcxNDI0NTAyMiwiaXNzIjoiTGl0dGVyYSIsInN1YiI6IjAxMjM0NTY3LTg5YWItY2RlZi0wMTIzLTQ1Njc4OWFiY2RlZiIsIm5ubSI6IkFkbWluaXN0cmFkb3IiLCJuYW0iOiJVc3VcdTAwRTFyaW8gQWRtaW5pc3RyYWRvciJ9.5dWQ0BJHaa9piHP6yoPv57VqI_dO66_MIr7fWt-SYVI",
    "expires_in": 259200,
    "token_type": "Basic",
    "refresh_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHAiOjE3MTQ1MDUxMjIsImlzcyI6IkxpdHRlcmEiLCJuYmYiOjE3MTQ1MDM5MjIsInN1YiI6ImFkbWluIn0.xB79G_B6RsnBg_wzDDN-XFRdMzLoY7wAXP2o2Pv1Y4I"
}

Em caso de falha na verificação de validade do token fornecido, a API retornará um erro 401 - Unauthorized.

Totvs custom tabs box items
defaultno
referenciaconsumo
Totvs custom tabs box
tabsConsulta,Inclusão,Alteração,Exclusão
idsconsulta,inclusao,alteracao,exclusao
Totvs custom tabs box items
defaultyes
referenciaconsulta

As consultas aos objetos armazenados na base de dados do projeto Littera podem ser efetivadas de duas formas diferentes: por meio de seu identificado único ou por meio de parâmetros fornecidos na Query String adicionada à URL da requisição. Para tanto, a aplicação cliente deve, considerando o endereço de instalação da API como localhost, operando em suas portas padrão (80443):

  1. Utilizar o verbo GET para a requisição;
  2. Adicionar o cabeçalho Authorization aos cabeçalhos da requisição, contendo como valor "Basic " - sem aspas -, sucedido do valor de token obtido por meio do processo de autenticação, devendo este estar dentro de sua validade e;
  3. Utilizar a URL https://localhost/api/tlra/littera/v1/{className} como base para a requisição, onde className refere-se ao nome do objeto a ser consultado, podendo:
    1. Não acrescentar qualquer parâmetro à URL, efetuando uma pesquisa genérica que trará os primeiros 25 registros ativos daquele objeto, ordenados por sua descrição;
    2. Adicionar um identificador único à URL, retornando o objeto completo caso o identificador seja encontrado e;
    3. Adicionar uma Query String à URL, podendo esta conter os campos page, pageSizeactivefilter.

Os campos page, pageSize e active são valores escaláveis, podendo ser descritos conforme a seguinte tabela:

CampoTipo de dadoValores aceitosValor padrãoUso
pageInteiro1~1Determina o número da "página de dados a ser acessada. Se não fornecido, seu valor é 1.
pageSizeInteiro1~5025Determina o número de registros por página a serem exibidos. Se não fornecido, seu valor padrão é 25, tendo seu valor máximo como 50.
activeTextotrue/false/alltrue

Determina qual flag de status deve ser considerada na busca, referindo-se ao campo active, sendo true para os registros ativos, false para os registros inativos e all para todos os registros.

Totvs custom tabs box items
defaultno
referenciainclusao


Totvs custom tabs box items
defaultno
referenciaalteracao


Totvs custom tabs box items
defaultno
referenciaexclusao


...