Histórico da Página
Nesta página, é descrita a arquitetura de componentes e tecnologia utilizadas pelo TOTVS Agro API Hub, como forma de apresentar e elucidar a estrutura unificada e padronizada desenvolvida para expor as APIs do ecossistema TOTVS Agro Bioenergia. Este hub atua como uma camada de abstração e governança técnica centralizada, fornecendo endpoints RESTful consistentes, documentação interativa via Swagger/OpenAPI, gestão de ciclos de vida (API Lifecycle) e mecanismos robustos de segurança e autenticação (como OAuth 2.0). Seu propósito fundamental é simplificar e escalar a integração entre os sistemas corporativos (como ERPs, plataformas de trading, aplicações de campo e ferramentas de análise) e a suite de soluções TOTVS para o agronegócio, promovendo interoperabilidade, reduzindo a complexidade no desenvolvimento e acelerando a inovação digital no setor de bioenergia.
Links e referências
TOTVS Developers
https://api.totvs.com.br/
TOTVS API Pocket
https://api.totvs.com.br/guia
Guia de implementação das APIs TOTVS
https://tdn.totvs.com/display/INT/Guia+de+implementacao+das+APIs+TOTVS
Características Técnicas
- Requisitos
- TOTVS Agro API Hub (Instalação - Windows)
- Descrever ou tabular informações técnicas a respeito do TOTVS Agro API Hub como SO homologado, BD homologado, principais acessos que devem ser preparados para permitir a instalação, configuração e uso, URLs que devem ser liberados (e.g., TOTVS Apps e outros), autenticação, paginação, filtros, link para lista de APIs existentes;
- Resumir (listar) e deixar claro os principais tópicos e informações que envolvem características técnicas, como forma de facilitar o primeiro entendimento sobre API Hub e suas dependências;
- Utilizar de tópicos resumidos e objetivos, para facilitar;
Requisitos de Hardware
Diagrama Arquitetural
draw.io Diagram border true diagramName APIs Padrões TOTVS Agro Bioenergia simpleViewer false width links auto tbstyle top lbox true diagramWidth 1270 revision 4
Segurança / Autenticação
A autenticação/autorização das APIs de integração utiliza OAuth 2.0 Client Credentials Grant, sendo o método mais utilizado e também um fluxo de autorização projetado especificamente para integrações entre sistemas backend.
Principais vantagens:
- As credenciais do cliente são mantidas seguras e o token de acesso é temporário e pode ser revogado;
- Suporta múltiplos clientes e permite o controle granular de permissões e acessos;
- Amplamente adotado e suportado por muitos provedores de serviços, garantindo interoperabilidade entre sistemas diferentes;
Fluxo:
- Cliente realiza requisição para o servidor de autorização com as credenciais Client Id e Client Secret;
- Servidor verifica as credenciais, estando válidas retorno um token de acesso;
- Cliente utiliza o token de acesso para autenticar as requisições feitas para o servidor de recursos;
Consumo das APIs
O TOTVS Agro API Hub disponibiliza dois modelos de URL para acesso às APIs: Entidade e Query. Cada modelo possui características específicas e métodos GET, POST, PUT, DELETE e PATCH, conforme configurado para cada API. As definições e a estrutura de cada API estão disponíveis para consulta na página APIs Padrão TOTVS Agro Bioenergia
O TOTVS Agro API Hub disponibiliza dois modelos de URL para acesso às APIs: Entidade e Query. Cada modelo possui características específicas e suporta métodos HTTP ou HTTPs como GET, POST, PUT, DELETE e PATCH, conforme configurado para cada API.
- Entidade - Utilizado para operações diretas sobre entidades do sistema
Estrutura base de acesso: http://IP:PORTA/api/entity/[apiVersion]/[pathUrl]
Exemplo de uma Entidade: http://127.0.0.1:8080/api/entity/v1/unidadesMedidaInd?page=1&pagesize=1
- Query - Destinado a consultas e à obtenção de dados específicos previamente definidos pela equipe de produto
Estrutura base de acesso: http://IP:PORTA/api/query/[apiVersion]/[pathUrl]
Exemplo de uma Entidade: http://127.0.0.1:8080/api/query/v1/baixaConsumiveisMativ?page=1&pagesize=5
| Informações | ||
|---|---|---|
| ||
As definições detalhadas e a estrutura de cada API podem ser consultadas na página 🔗APIs Padrão TOTVS Agro Bioenergia. |
Perguntas Frequentes (FAQ)
Nesta seção, você encontrará orientações para configurar o TOTVS Agro API Hub, por meio do link 🔗Orientações e FAQ - TOTVS Agro API HUB
Requisitos de Hardware
- Recomendado (equivalente Recomendado (Equivalente ou superior): CPU Intel® Xeon® Gold 5415+ Processor (22.5M Cache, 2.90 GHz) / 4 vCPU
- Recomendado (inicial): 12 GB de RAM disponível (somente para TOTVS Agro API Hub + PostgreSQL);
Recomendado: 30 GB espaço em disco disponível (somente para TOTVS Agro API Hub + PostgreSQL);
Observações de instalação (ambiente/infraestrutura)
- Os requisitos de hardware (memória RAM e espaço em disco) podem ser superiores aos inicialmente recomendados, devido ao volume de dados monitorado/integrado entre as aplicações que estão sendo integradas por ele (para isto, será necessário monitorar e validar a necessidade de subida destes requisitos durante uma homologação);
- Na instalação, os componentes/serviços do TOTVS API Hub devem estar o mais próximo das bases de dados de Oracle/Bioenergia, reduzindo assim questões de latência e/ou instabilidade com a base de dados monitorada/sincronizada;
- Também recomendamos a separação entre ambiente/infraestrutura de TOTVS Agro API Hub e demais aplicações (por exemplo, TOTVS Agro Bioenergia, TOTVS Agro PIMSServer e/ou TOTVS Agro Portal Agrícola) - desta forma, seguir a recomendação mencionada no quadro "Infraestrutura e ambientes" (abaixo);
- A latência (ping) entre ambiente de instalação dos componentes/serviços do TOTVS Agro API Hub e as bases de dados deve ser inferior aos valores recomendados (em milissegundos);
"<= 3 ms": Uso de "ping" via comando "ping HOSTNAME";
- Importante: O teste de ping não reflete diretamente na latência durante a comunicação com o banco de dados, mas sim na indicação geral da conectividade/latência entre cliente e servidor de banco de dados.
"<= 3 ms": Uso de "tnsping" via comando "tnsping SERVICE_NAME";
- Importante: O teste com tnsping não reflete diretamente na latência durante a comunicação com o banco de dados, mas sim para testar a latência na resolução de nomes de serviço e na conexão inicial com o banco de dados Oracle.
- A latência durante as operações de banco de dados entre ambiente de instalação dos componentes/serviços do TOTVS Agro API Hub e as bases de dados deve ser inferior aos valores recomendados
- "<= 1 ms": Para execução de consultas simples, como exemplo:
Oracle: "SELECT 1 FROM DUAL"
- "<= 1 ms": Para execução de consultas simples, como exemplo:
| Informações | ||
|---|---|---|
| ||
Esta página apresenta os requisitos recomendados para uma instalação e configuração padrões. ⚠️ Como TOTVS Agro API Hub é uma plataforma de comunicação com TOTVS Agro Bioenergia, tais requisitos podem ser revistos e sinalizados aos clientes, a qualquer momento, pois seu uso (TOTVS Agro API Hub) tem relação com volume de dados e poder computacional necessário para chamadas HTTP/REST. |
| Informações | ||
|---|---|---|
| ||
Recomenda-se a separação entre ambiente/servidor (TOTVS Agro API Hub) - com seus componentes (por exemplo, PostgreSQL) e ambientes/servidores das demais soluções/ferramentas TOTVS Agro que farão uso da plataforma. Por exemplo:
* Em situações específicas (desde que alinhado com time TOTVS Agro), tais ambientes/servidores podem ser unificados, desde que os requisitos separados sejam atendidos em sua totalidade. Importante mencionar que a separação física/lógica destes ambientes/servidores otimiza aspectos de análise, investigação, disponibilidade e otimização de configurações. |
Requisitos de Software
Sistema Operacional
...
O TOTVS Agro API
...
Hub está homologado para execução no sistema operacional Windows Server. A seguir, são descritas as versões do Windows atualmente suportadas
- Windows Server 2019 Standard;
- Windows Server 2022 Standard;
Plataforma Java (JDK/JRE)
O TOTVS Agro API Hub faz uso da plataforma Java, como ambiente de execução, na versão OpenJDK 21.0.2 (versão opensource do Java, que não demanda por licenciamento).
O conjunto de binários utilizado é fornecido durante a instalação e configuração do TOTVS Agro API Hub.
Requisitos de Banco de Dados
...
O API-Hub
...
Bases de dados - TOTVS Agro API Hub
| Totvs custom tabs box | |||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||||||||||||||||||||||||||
|
...
|
...
|
...
|
...
|
...
|
...
|
...
|
Bases de dados - externas
É possível utilizar bases de dados de múltiplos produtos externos (mínimo de 1 e máximo de 3), como TOTVS Agro Bioenergia (obrigatório), Indústria MI (opcional) e Indústria PI (opcional). Para o processo de habilitação (instalação, configuração e uso) do API Hub com o TOTVS Agro Bioenergia, a versão mínima requerida do banco de dados é Oracle 19c.
Permissão de Banco
Bloco de código language sql theme Confluence title Permissões (Oracle / TOTVS Agro Bioenergia) linenumbers true GRANT CONNECT TO
- Oracle ⚠️ Base de Dados do Produto: Versão mínima requirida do banco de dados Oracle 12c, ou superior Permissão de Banco GRANT CONNECT TO
"NOME_OWNER";
GRANT RESOURCE TO "NOME_OWNER";
GRANT UNLIMITED TABLESPACE TO "NOME_OWNER";
GRANT CREATE SYNONYM TO "NOME_OWNER";
GRANT CREATE VIEW TO "NOME_OWNER";
GRANT CREATE PROCEDURE TO "NOME_OWNER";
GRANT CREATE TRIGGER TO "NOME_OWNER";
GRANT CREATE SEQUENCE TO "NOME_OWNER";
GRANT CREATE MATERIALIZED VIEW TO "NOME_OWNER
GRANT CREATE ANY TABLE TO ""NOME_OWNER";
GRANT ALTER ANY TABLE TO "NOME_OWNER";
GRANT INSERT ANY TABLE TO "NOME_OWNER";
GRANT UPDATE ANY TABLE TO "NOME_OWNER";
GRANT DELETE ANY TABLE TO "NOME_OWNER";
GRANT SELECT ANY TABLE TO "NOME_OWNER";
GRANT CREATE ANY TRIGGER TO "NOME_OWNER";
Requisitos de Acesso
...
Externo
O TOTVS Agro API Hub requer acesso à internet para realizar integrações e atualizações automáticas. Para garantir seu funcionamento, é necessário possua conectividade com as URLs listadas abaixo;
...
- Comunicação entre os ambientes do TOTVS Agro API Hub e bases de dados de outros produtos (por exemplo, TOTVS Agro Bioenergia, com compatibilidade com Oracle);
- Caso exista bloqueio/restrição na rede, baseado em whitelist, adicionar os hosts na máquina em que
o - o TOTVS Agro API Hub será instalado:
-
- Liberações de IPs do TOTVS iPaaS
- O TOTVS iPaaS é uma plataforma de integração como serviço (iPaaS) que permite conectar sistemas, aplicações e fontes de dados de forma ágil e segura. Caso essa solução seja utilizada, é necessário realizar a liberação dos itens descritos na documentação a seguir:
- Liberações de IPs do TOTVS iPaaS
...
| title | Infraestrutura e ambientes |
|---|
Demais Documentações TOTVS iPaaS
Recomenda-se a separação entre ambiente/servidor (TOTVS Agro API Hub) - com seus componentes (por exemplo, PostgreSQL) e ambientes/servidores das demais soluções/ferramentas TOTVS Agro que farão uso da plataforma.
Por exemplo:
- 1 ambiente/servidor para TOTVS Agro API Hub + 1 ambiente/servidor para TOTVS Agro Bioenergia (avaliar requisitos recomendados separados); ou
- 1 ambiente/servidor para TOTVS Agro API Hub + 1 ambiente/servidor para TOTVS Agro PIMSServer (avaliar requisitos recomendados separados);
...
| Aviso | ||
|---|---|---|
| ||
O TOTVS Agro API Hub é compatível com a versão 12.1.2412 ou superior do TOTVS Agro Bioenergia. |
Diagrama Arquitetural
...
Links e referências
...
...
...
...
Segurança / Autenticação
A autenticação/autorização das APIs de integração utilizará OAuth 2.0 Client Credentials Grant, sendo o método mais utilizado e também um fluxo de autorização projetado especificamente para integrações entre sistemas backend.
Principais vantagens:
- As credenciais do cliente são mantidas seguras e o token de acesso é temporário e pode ser revogado.
- Suporta múltiplos clientes e permite o controle granular de permissões e acessos.
- Amplamente adotado e suportado por muitos provedores de serviços, garantindo interoperabilidade entre sistemas diferentes.
Fluxo:
- Cliente realiza requisição para o servidor de autorização com as credenciais Client Id e Client Secret;
- Servidor verifica as credenciais, estando válidas retorno um token de acesso;
- Cliente utiliza o token de acesso para autenticar as requisições feitas para o servidor de recursos
Consumo das APIs
Composição da URL da API
A URL para as entidades e queries cadastradas é composta conforme conforme configurado no cadastro da EntityAPI e QueryHe/QueryDe, para os campos apiVersion e pathUrl, conforme demonstrado a seguir:
- Entidade: http://IP :PORTA/api/entity/[apiVersion]/[pathUrl]
- Query: http://IP :PORTA/api/query/[apiVersion]/[pathUrl]
...
pages/viewpage.action?pageId=886015459
- TOTVS Developers
- TOTVS API Pocket
- Guia de implementação das APIs TOTVS
https://tdn.totvs.com/display/INT/Guia+de+implementacao+das+APIs+TOTVS