Como integrar o Salesforce e o Procore

Como integrar o Salesforce e o Procore

cupom com desconto - o melhor site de cupom de desconto cupomcomdesconto.com.br


Entregar experiências ricas e consistentes para as partes interessadas e clientes é um dos objetivos da transformação digital. Os dados fornecem contexto e permitem que os processos de negócios criem experiências poderosas. À medida que os aplicativos SaaS proliferam no cenário de TI da empresa, resulta inadvertidamente em silos de dados, retardando as iniciativas de transformação. De acordo com o relatório de benchmark 2020 Connectivity da MuleSoft, 89% dos líderes de TI dizem que os silos de dados são um obstáculo à transformação digital.

Nesta postagem, discutiremos uma abordagem liderada por API para eliminar silos de dados e manter os dados do aplicativo sincronizados em tempo real, capacitando as empresas a oferecer experiências consistentes. Especificamente, abordaremos um padrão de integração para manter sincronizado o Salesforce e o Procore, um software de gerenciamento de construção baseado em nuvem, embora você possa redefinir esse padrão com qualquer aplicativo que suporte a interface REST.

O que causa silos de dados?

Em uma configuração corporativa típica, uma das maneiras pelas quais um processo de negócios é iniciado é por aplicativos usados ​​pelos clientes ou pela equipe de atendimento ao cliente. Por exemplo, um ticket pode ser registrado no portal de suporte ao cliente ou um contratado pode iniciar um projeto em nome do cliente. Esses dados são movidos a jusante através de um ou mais aplicativos departamentais ou de back-office especializados para processamento adicional. No final do processo, os dados de conclusão são duplicados várias vezes, criando silos de dados e requer esforço deliberado para mantê-los sincronizados.

Embora as empresas adotem abordagens diferentes para manter os dados sincronizados – incluindo coleta manual de dados, cabeamento giratório entre telas, lotes noturnos e integrações personalizadas ponto a ponto – esses métodos são difíceis de dimensionar e não atendem às necessidades atuais e reais de hoje. demandas de negócios de tempo.

Design liderado por API para quebrar silos de dados

Para mitigar os silos de dados, descrevemos um padrão de integração estruturado liderado por API que não é apenas escalável, mas também reutilizável em toda a empresa. Tomaremos o Salesforce como o aplicativo upstream usado pelos gerentes de conta para iniciar projetos de construção em nome de contas comerciais ou franqueados. O Procore será o aplicativo especializado downstream usado pelos gerentes de projeto para gerenciar o ciclo de vida do projeto de construção. O objetivo é manter os dados do projeto sincronizados em tempo real entre esses dois aplicativos, que abordaremos usando os três casos de uso a seguir:

  1. O gerente de contas cria um novo projeto no Salesforce que é replicado no Procore.
  2. O gerente de projetos atualiza os detalhes do projeto no Procore, refletidos no Salesforce.
  3. O gerente de contas atualiza o projeto no Salesforce, atualizado no Procore.
Leia Também  Conheça o desenvolvedor MuleSoft de 4 anos

Para realizar os casos de uso acima, recomendamos conectividade liderada por API em camadas, conforme mostrado no diagrama abaixo, onde a camada de API do sistema foi projetada para desbloquear dados de sistemas de registro – Procore e Salesforce. A API do sistema Procore consome a API REST da Procore usando a solicitação do conector HTTP MuleSoft para fornecer operações CRUD no objeto Projeto. Usaremos o Salesforce Connector pronto para uso MuleSoft para criar e atualizar o objeto Project personalizado no Salesforce.

A segunda camada é onde a mágica da sincronização de dados em tempo real acontece. A API de sincronização do projeto ouve eventos de alteração nos aplicativos e, quando um evento é recebido, a API faz a transformação de dados necessária e toma as ações apropriadas para manter o outro aplicativo em sincronia. Por fim, a camada Experiência (opcional neste caso) pode moldar os dados para o consumo do aplicativo do usuário final.

Abaixo está a captura de tela do aplicativo Salesforce e Procore lado a lado, mostrando as informações do projeto conforme aplicável aos casos de uso listados acima.

Implementação de caso de uso

Agora, vamos percorrer todos os três casos de uso, um por um. Você pode baixar o aplicativo MuleSoft para esses casos de uso no Github.

cupom com desconto - o melhor site de cupom de desconto cupomcomdesconto.com.br

1. Caso de uso: criação de novo projeto Salesforce e replicação no Procore

Esse caso de uso supõe que o usuário no aplicativo Salesforce crie um novo projeto e o objetivo agora é replicar o projeto no Procore. O novo evento de criação do projeto é notificado à API do Project Sync na camada de processo por meio do Salesforce Change Data Capture (CDC). Na configuração do CDC, você pode clicar e selecionar um ou mais objetos padrão ou personalizados para os quais deseja receber notificações.

Leia Também  Avaliação e análise precoce de casos mais rápidas e eficientes

Com o CDC ativado para o objeto Projeto, o fluxo a seguir agora pode receber notificações usando o Salesforce Connector, assinando o canal de streaming “/ Data / Project__ChangeEvent.” Quando o tipo de evento do Salesforce é “CREATE”, o fluxo chama a API do sistema Procore para criar um novo projeto e atualizar o ID do projeto Procore correspondente novamente no registro do Salesforce para referência futura.

Embora a maior parte do mapeamento do campo de dados entre o Salesforce e o Procore possa ser facilmente realizada usando um script DataWeave simples, existem alguns campos que precisam de uma tabela de pesquisa. Por exemplo, o tipo de projeto é inserido como uma sequência no Salesforce e transformado como um número ao passar para o Procore. Para esses casos, é sugerido o uso de um arquivo de propriedades para capturar os mapeamentos de valores-chave e executar uma pesquisa no processador de transformação.

Dica profissional: para oferecer suporte à sincronização de dados, é necessário manter um link usando um ID de referência para o registro individual no outro aplicativo. Neste exemplo, um registro de projeto do Salesforce terá uma referência ao registro de projeto Procore correspondente e vice-versa; ou seja, o ID do registro do Salesforce será armazenado no projeto do Procore origin_id e o ID do projeto Procore serão armazenados no objeto personalizado do projeto Salesforce Procore_ID__c campo.

2. Caso de uso: atualização do projeto no Procore refletida no Salesforce

Agora, com o projeto criado no Procore, vamos supor que o gerente do projeto tenha atualizado o registro do projeto com detalhes adicionais e o objetivo agora é propagar essas alterações no Salesforce. A maioria dos aplicativos em nuvem modernos oferece suporte ao Webhook que notifica um terminal com base nos gatilhos configurados. Para este caso de uso, vamos configurar os webhooks Procore, como mostrado abaixo.

Com o Webhook no lugar, o seguinte ponto de extremidade do ouvinte do Procore agora será notificado sobre todas as alterações no objeto do projeto. A notificação de evento Procore fornece metadados, incluindo o ID do recurso do projeto, que pode ser usado para consultar o objeto real do projeto e fazer atualizações no Salesforce.

Dica profissional: ao usar um design orientado a eventos para manter os aplicativos sincronizados, você encontrará uma referência circular em que o aplicativo A atualiza B, que por sua vez resulta no aplicativo B acionando um evento de atualização notificando A e assim por diante, criando uma notificação loop entre aplicativos. Uma maneira de evitar esse loop é processar eventos acionados pelos usuários (por meio da interface do usuário) e ignorar eventos acionados por atualizações da API. Neste exemplo, usamos source_application_id no objeto de metadados do evento Procore para identificar a origem do evento e processar apenas eventos acionados pelo usuário. o source_application_id será API ID do Cliente se o evento for devido à API e nulo se acionado pelo usuário através do aplicativo.

Leia Também  Medindo o sucesso de SEO - 3 métricas que você não está acompanhando, mas deve ser

3. Caso de uso: atualização do projeto no Salesforce refletida no Procore

Esse caso de uso propaga quaisquer alterações adicionais no projeto no Salesforce para Procore. Ele usará a mesma configuração e assinatura do Salesforce CDC, conforme descrito no caso de uso um, mas procurará o tipo de evento “UPDATE” e chamará a API do sistema Procore com campos atualizados.

Dica profissional: como discutido anteriormente, para evitar referência circular, precisamos processar apenas eventos acionados pelo usuário e ignorar eventos acionados pela API. Vamos usar o changeOrigin campo sob ChangeEventHeader na notificação de evento do Salesforce CDC para identificar a origem do evento.

Com a implementação dos três casos de uso, os dados do projeto agora permanecem sincronizados em tempo real entre o Salesforce, o Procore e as APIs podem ser reutilizadas e dimensionadas para outros objetos entre os aplicativos. Sem mais silos de dados e sem necessidade de atualizações noturnas de lotes!

Resumo

Os silos de dados são um efeito colateral comum quando as empresas usam uma infinidade de aplicativos SaaS, um obstáculo para a transformação digital. Embora a integração manual ou ad-hoc possa ajudar a manter os dados sincronizados, é ineficiente e geralmente não é escalável. Esta publicação descreveu um padrão de integração liderado por API para manter sincronizados os dados do projeto Salesforce e Procore, que podem ser redirecionados para outros aplicativos em toda a empresa.

Para mais recursos para desenvolvedores, consulte nossos tutoriais.


cupom com desconto - o melhor site de cupom de desconto cupomcomdesconto.com.br
Luiz Presso
Luiz Presso