Esta integração foi construída para efetuar o envio de dados entre TOTVS Agro Bioenergia para Salesforce, levando os cadastros de Fazenda (Nível 1), Setor (Nível 2) e Talhão (Nível 3) sempre que forem inseridos ou atualizados. Com esses dados é realizado a construção de contratos via Salesforce. Com isso, esse material foi construído para detalhes técnicos da integração.
Salesforce Integration - Guia de Referência
TOTVS Agro Bioenergia (Pagadoria APIs) - Configuração IIS
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:
Nas próximas seções, iremos exibir com detalhes qual é a função de cada produto citado acima.
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:
UPNIVEL1 | UPNIVEL2 | UPNIVEL3 |
---|---|---|
CD_UPNIVEL1 | CD_UPNIVEL1 + CD_UPNIVEL2 | CD_SAFRA + CD_UPNIVEL1 + CD_UPNIVEL2 + CD_UPNIVEL3 |
CD_UPNIVEL1 | CD_UPNIVEL1 | CD_SAFRA |
CD_MUNIC | CD_UPNIVEL2 | CD_UPNIVEL1 |
CD_FORNEC | CD_MUNIC | CD_UPNIVEL2 |
DE_UPNIVEL1 | DE_UPNIVEL2 | CD_UPNIVEL3 |
DE_ENDERECO | QT_AREA_TOT | CD_TP_PROPR |
NO_TELEFONE | QT_AREA_PROD | DS_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.
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.
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 uma fila via RabbitMQ.
{ |
{ "header":{ "type":"FazendaCriada", "tenantId":"8c12da2baca8de2e6b5dd2f6999c6998cbc7b563e5c24e043fa26b72f1f406e8", "generatedOn":"2023-03-22T14:12:21.428785Z", "locale":"pt_BR" }, "content":{ "originId":"Q0RfVVBOSVZFTDE9NjAwODZB", "metadata":{ }, "codigo":"FazendaA1", "descricao":"Fazenda Teste", "documento":null, "instanciaOriginId":null, "cdMunicipio":"2308", "cdFornecedores":"94500", "endereco":"Fazenda Teste", "telefone":null, "cnpjCpf":"12345678", "incra":null, "inscricaoProdutorRural":"123.456.789-10", "cep":"111111", "tipoPessoa":"J", "qtdAreaTotal":"24", "qtdAreaProdutiva":"24", "cdIntErp":null } } |
Termo | Descrição |
---|---|
TOTVS Agro Bioenergia | TOTVS Agro Bioenergia é um sistema de gestão agroindustrial completo, feito para gerenciar todos os processos envolvidos na produção de bioenergia. |
TOTVS Agro Connector | TOTVS Agro Connector é responsável por monitorar os dados que serão enviados e chegar até o TOTVS Agro Conecta Dados. |
TOTVS Agro Conecta Dados | TOTVS Agro Conecta Dados é responsável por realizar as requisições (Envio de dados) para API da Salesforce. |
Salesforce | Salesforce é a solução responsável pela construção de contratos. |
Postman | Postman é uma plataforma para realizar testes de API. |