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

Versões comparadas

Chave

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

...

O TOTVS Agro Connector Client é um aplicação On-Premise, 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.



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



Hoje, trabalhamos com Atualmente, o modelo de dados utiliza de 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:

...

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.



    • Abaixo, exibiremos em detalhe um exemplo Exemplo detalhado de JSON que irá para fila do rabbit mostrado acima.RabbitMQ (mencionado acima):


      Bloco de código
      themeConfluence
      {
         "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
         }
      }

...

    • O TOTVS Agro Conecta Dados (Front/Web) é responsável por cadastrar as informações disponibilizadas pela Salesforce e também ativar ou desabilitar integrações, tais elas como:

...

    • O TOTVS Agro Conecta Dados Server é responsável por receber o JSON via mensageria, então ele fica observando a fila que o TOTVS Agro Plataforma enviou os dados. Com o JSON disponível o TOTVS Agro Conecta Dados fica responsável por realizar a autenticação a partir dos dados informados no frontFront/Web, com isso ele monta o JSON baseado no modelo enviado e processamos a processam-se as requisições PATCH para Salesforce, conforme alguns exemplos abaixodemonstrados:


Aviso
titleAtenção

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


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


    • Modelo à ser enviado: FAZENDA (Local de Producão Produção 1) para Salesforce.

      APITipoDescrição
      IdConta__ctextoId Fazenda
      CodigodaPropriedade__cTexto(6) (ID Externo)Cod Fazenda
      Municipio__r.codigoMunicipio__cPesquisaCod Municipo PIMS
      codigoFornecedor__cNumero(8)Cod Fornecedor
      descricaoCompleta__ctexto(70)Descrição Completa
      BillingStreettexto(70)Endereço
      Phonetexto(70)Telefone
      cnpjCPF__ctexto(18)CNPJ ou CPF
      numeroIncra__ctexto(15)N° INCRA
      numeroInscricaoProdutorRural__ctexto(20)N° Insc.Produtor Rural
      Cep__ctexto(16)N° cep
      Tipo_de_Pessoa__ctexto(1)
      QtdeAreaTotalHA__cnumero(7,2)
      QtdeAreaTotalProdHectares__cnumero(7,2)
      codigoInternoErp__ctexto(15)
      Instancia__r.CodigoInstanciaPIMS__ctexto(5)
      flagAtivo__cLista de Opçoes

...

    • Modelo à ser enviado: SETOR (Local de Producão Produção 2) para Salesforce.

      APITipoDescrição
      IdBloco__cTexto(6) (ID Externo)Id Bloco
      Conta__r.IdConta__cPesquisa(Conta)Cod Fazenda
      codigoBloco__cTexto(6) (ID Externo)Cod Bloco
      Municipio__r.codigoMunicipio__cPesquisaCod Municipo PIMS
      NameNameDescrição do Bloco
      Hectares__cNumber(16,2)Qtde de Area Total em Hectares
      AreaProdutivaHA__cNumber(16,2)Qtde de Area Produtiva em Hectares

...

    • Modelo à ser enviado: TALHÃO (Local de Producão Produção 3) para Salesforce.

      APITipoDescrição
      IdTalhao__cTextoId Talhão
      Safra__cNumero(5)Codigo da Safra
      Conta__r.IdConta__cTexto(6)Cod Fazenda
      Bloco__r.IdBloco__cPesquisaCod Bloco
      codigoTalhao__c (ID Externo)Texto(6)Cod Talhão
      CodigoTipoPropriedade__cLista de OpçõesCod Tipo de Propriedade
      DistanciaTerra__cNumero(4,1)Distância Terra
      DistanciaAsfalto__cNumero(4,1)Distância Asfalto
      DistanciaHidrovia__cNumero(4,1)Distância Hidrovia
      CodigoSistemaColheita__cLista de OpçõesCodigo de Sistema de Colheita
      DataPlantio__cDateData do Plantio
      CodigoOcupacao__cLista de OpçõesCodigo de Ocupação
      CodigoVariedade__cLista de OpçõesCodigo de Variedade
      CodigoEstagio__cLista de OpçõesCodigo de Estagio
      CodigoEspacamento__cLista de OpçõesCodigo de Espaçamento
      CodigoSistemaPlantio__cLista de OpçõesCodigo de Sistema de Plantio
      AreaProdutivaHA__cNumber(7,2)Qtde de Area Produtiva em Hectares
      CodigoOcupacaoAnterior__cLista de OpçõesCodigo de Sistema de Plantio Anterior
      FlagTipoPlantio__cLista de OpçõesFlag de Tipo de Plantio

...