1. Visão Geral
  2. Arquitetura TOTVS
    1. TOTVS Connector Client
    2. TOTVS Connector Server
    3. TOTVS Agro Plataforma
    4. TOTVS Agro Conecta Dados
    5. Monitoramento TOTVS Apps

01. VISÃO GERAL

Esta integração foi construída para efetuar o envio de dados entre TOTVS Agro Bioenergia (módulo de Pagadoria) para Salesforce com foco em "dados mestres" de Fazenda (Nível 1), Setor (Nível 2) e Talhão (Nível 3), quando inseridos ou atualizados via aplicação (Bioenergia/Pagadoria).

A partir destes eventos, dados mestres de Locais de Produção são compartilhados com a plataforma Salesforce, possibilitando a criação de novos contratos (no Salesforce). Desta forma, esta documentação técnica fornece detalhes arquiteturais e de tecnologia para tal integração (via TOTVS Agro Plataforma e TOTVS Agro Conecta Dados).

Salesforce Integration - Guia de Referência

TOTVS Agro Bioenergia (Pagadoria APIs) - Configuração IIS

02. Arquitetura TOTVS

Na imagem abaixo, podemos ver com detalhes o fluxo geral, desde quando os dados saí do TOTVS Agro Bioenergia até chegar para Salesforce. O fluxo é divido em 3 etapas que serão detalhadas de acordo com decorrer do material, essas etapas são:



Resumidamente a integração segue o fluxo abaixo.


Após a explicação resumida acima, nas próximas seções iremos detalhas o papel de cada produto e suas funções a serem utilizadas.

2.1. TOTVS Agro Connector Client

O TOTVS Agro Connector Client é um aplicação On-premises, que é instalado localmente no ambiente do cliente com um TENTANT_ID que é disponibilizado pela equipe do TOTVS Agro e atualmente possui uma interface do Swagger e a sua própria base de dados, conforme a imagem abaixo.


No Swagger, cadastramos a base de dados do produto, no caso TOTVS Agro Bioenergia.


Hoje, trabalhamos com schemas definitions, que é o mapeamento de tabelas e colunas que serão enviadas para parceira, conforme solicitação, a equipe TOTVS Agro realiza esse cadastro e será enviado os seguintes dados:

UPNIVEL1UPNIVEL2UPNIVEL3
CD_UPNIVEL1CD_UPNIVEL1 + CD_UPNIVEL2CD_SAFRA + CD_UPNIVEL1 + CD_UPNIVEL2 + CD_UPNIVEL3
CD_UPNIVEL1CD_UPNIVEL1CD_SAFRA
CD_MUNICCD_UPNIVEL2CD_UPNIVEL1
CD_FORNECCD_MUNICCD_UPNIVEL2
DE_UPNIVEL1DE_UPNIVEL2CD_UPNIVEL3
DE_ENDERECOQT_AREA_TOTCD_TP_PROPR
NO_TELEFONEQT_AREA_PRODDS_TERRA
NO_CGC_CPF
DS_ASFALTO
NO_INCRA
DS_HIDROVIA
NO_INSC_PROD
CD_SIST_COLH
NO_CEP
DT_PLANTIO
FG_TP_PESS
CD_OCUP
QT_AREA_TOT
CD_VARIED
QT_AREA_PROD
CD_ESTAGIO
CD_INT_ERP
CD_ESPACAM
INSTANCIA
CD_SIST_PLAN
FG_ATIVO
QT_AREA_PROD


CD_OCUP_ANT


FG_TP_PLANTIO


Após o cadastro, vinculamos a base de dados com o schema definition (LocalProducao1, LocalProducao2 e LocalProducao3), esses schemas definitions (dados que serão enviados), após efetuar esse vínculo é criado uma trigger que monitora cada insert/update que foi cadastrado conforme a tabela acima. Quando é realizado algum INSERT ou UPDATE esse dado é processado através de tabelas do TOTVS Agro Connector Client e enviado por API como JSON para o TOTVS Agro Connector Server. Em caso de perda de conexão (serviço desligado) o registro fica em uma tebela criada chamada TCC_EVENT com status de UNPROCESSED, assim que serviço é ligado novamente o dado é processado e enviado, isso para garantir que não haja perca de dados.

2.2. TOTVS Agro Connector Server

O TOTVS Agro Connector Server é uma aplicação que fica nos ambientes TOTVS Apps e é utilizado pela equipe TOTVS Agro para realizar os cadastros dos clientes, gerando o tenant_id (para os clientes conseguirem realizar instalação do TOTVS Agro Connector Client) e os cadastros dos schemas definitions que foram citados Anteriormente.


Ele também é responsável por receber os dados que o TOTVS Agro Connector Client envia, com esse JSON recebido, ele é enviado para uma fila de mensageria da TOTVS por meio do RabbitMQ para o TOTVS Agro Plataforma


2.3. TOTVS Agro Plataforma

O TOTVS Agro Plataforma está disponível nos ambientes do TOTVS Apps, porém ele não possuí uma interface gráfica. Ele é responsável por receber as mensagens do TOTVS Connector Server que foi processado na fila do RabbitMQ, então ele pega o JSON recebido, insere os dados na própria base de dados para haver controles de chaves primárias, foreign key e garantir a integridade das tabelas e relacionamentos. Após conclusão de inserção com sucesso, novamente esse JSON é enviado para outra fila via RabbitMQ, que será processado pelo TOTVS Agro Conecta Dados.


2.4. TOTVS Agro Conecta Dados


Para realizar as requisições é necessário passar o token recuperado, após autenticação.

Abaixo será exibidos as tabelas disponibilizadas para nós com base na API deles, ou seja o que devemos passar no body da requisição como JSON e exemplos de como estamos utilizando cada uma no postman: