Páginas filhas
  • Integração com Salesforce - Arquitetura

Versões comparadas

Chave

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

...

  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
  3. Fluxo de Dados/APIs

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).

...

    • Exemplo de requisição Postman: PATCH - Talhão

...

03. Fluxo de Dados/APIs

1. Trigger
    1.1.
Trigger monitora cada novo evento na tabela
    1.2.
Para os eventos gerados a trigger insere o registro na tabela TCC_EVENT, com os dados que foram gerados no schema definition e status unprocessed
    
2. TOTVS Agro Connector Client
    2.1.
monitora a tabela TCC_EVENT, por meio da classe EventScheduler.java
    2.2.
Após receber os dados é feito uma verificação e uma atualização na tabela TCC_EVENT, alterando o status para processed por meio da classe RowDataService.java
    2.3.
Com os dados validados, é processado para tabela OUTCOMING_DATA e enviado para o TOTVS Agro Connector Server por meio da classe EventProcessor.java
    
3. TOTVS Agro Connector Server
    3.1.
A lista de eventos recebidas pelo TOTVS Agro Connector Client é enviado na tabela própria do produto chamada CLIENT_DATA que pode ser encontrado por meio da classe CriateClientDataService.java
    3.2.
ClientDataScheduler.java é responsavel por processar o JSON recebido para a fila do RabbitMQ no TOTVS Agro Plataforma.
    
4. TOTVS Agro Plataforma
    4.1.
Nesse momento o JSON é classificado de acordo com schema definition e inserido coluna por coluna nas tabelas com suas integridades do TOTVS Agro Plataforma
        4.1.1.
Se for uma fazenda (Nível 1) (FazendaTCServerListener.java), é inserido e registrado na tabela FAZENDA, por meio da classe FazendaTCServerProcessor.java
        4.1.2.
Se for um setor (Nível 2) (SetorTCServerListener.java), é inserido e registrado na tabela SETOR, por meio da classe SetorTCServerProcessor.java
        4.1.3.
Se for um talhão (Nível 3) (TalhaoTCServerListener.java), é inserido e registrado na tabela talhao_logico, por meio da classe TalhaoTCServerProcessor.java
    4.2.
Após as inserções e validações a mensagem (JSON) é novamente inserido em outra fila do Rabbit para enviar para o TOTVS Agro Conecta Dados por meio da classe EntidadePlataformaPublisher.java
    
5. TOTVS Agro Conecta Dados
    5.1.
Em uma fila única, a mensagem recebida é verificada o tipo do connector e a mesma é processada na classe AcaoConectorEntidade.java
    5.2. TOKEN
        5.2.1
O token é recuperado por meio do preenchimento no front e inserido nas tabelas do TOTVS Agro Conecta Dados, a autenticação e atualização de token pode ser acompanhado na classe: AtualizarTokenSalesforceService.java
    5.3. FAZENDA
        5.3.1.
SalesforceEnvioFazendaProcessor.java é a classe responsavél por ler a mensagem, criar e tratar o JSON com a estrutura da Salesforce
        5.3.2.
SalesforceFazendaHttpClient.java realiza a autenticação e realiza o envio se comunicando com a API Salesforce.
    5.4. SETOR
        5.4.1.
SalesforceEnvioSetorProcessor.java é a classe responsavél por ler a mensagem, criar e tratar o JSON com a estrutura da Salesforce
        5.4.2.
SalesforceSetorHttpClient.java realiza a autenticação e realiza o envio se comunicando com a API Salesforce.
    5.5. TALHAO
        5.5.1.
SalesforceEnvioTalhaoProcessor.java é a classe responsavél por ler a mensagem, criar e tratar o JSON com a estrutura da Salesforce
        5.5.2.
SalesforceTalhaoHttpClient.java realiza a autenticação e realiza o envio se comunicando com a API Salesforce.