Esse texto foi traduzido usando o sistema de tradução automatizado do Salesforce. Pegue nossa enquisa para fornecer feedback sobre esse conteúdo e diga-nos o que você gostaria de ver em seguida.
Há várias maneiras de acessar, sincronizar e compartilhar dados entre o Salesforce e sistemas externos. Porém, nem todas as ferramentas são adequadas para seu projeto específico. Este guia apresenta o panorama das ferramentas de integração de dados disponíveis no Salesforce. Ele também oferece recomendações para as ferramentas (ou combinações de ferramentas) mais adequadas para um determinado caso de uso, bem como orientações sobre ferramentas para evitar em cenários específicos.
Este guia de decisão foca integrações no nível de dados envolvendo o Salesforce. Especificamente, ele abrange os seguintes casos de uso de integração de dados:
- Salesforce para sistemas externos
- Sistemas externos para o Salesforce
- Organização do Salesforce para organização do Salesforce
Esses são apenas um subconjunto dos desafios de integração que os Arquitetos do Salesforce enfrentam, assim, planejamos adicionar mais guias de decisão focados na integração conduzida por evento, criar fluxos de trabalho eficazes voltados para o cliente ou para o funcionário usando a integração de processos e assim por diante. Por fim, é importante observar que muitas das ferramentas e abordagens descritas aqui podem ser usadas para resolver desafios de integração em toda a empresa, mas esses usos estão além do escopo deste guia.
- Evite replicação desnecessária de dados. A menos que os dados absolutamente precisem residir no Salesforce, considere a virtualização de dados com o Salesforce Connect. Mais dados em sua organização resultam em maiores volumes de dados, o que pode afetar negativamente o desempenho e aumentar o débito técnico. Se seus dados já residem no Salesforce e você precisar deles em um sistema externo, evite copiá-los para um sistema externo, a menos que seja absolutamente necessário. Em vez disso, permita que o sistema externo acesse os dados por meio das APIs do Salesforce.
- Use o MuleSoft ou outras soluções Enterprise Service Bus (ESB) ou Extract-Transform-Load (ETL), se disponíveis e parte de sua paisagem existente. Como essas ferramentas são criadas para ajudar a dar suporte à migração e à transformação de dados, elas geralmente têm recursos poderosos que permitem reutilizar integrações em toda a empresa, manter uma governança mais forte e centralizar o gerenciamento de integrações. Neste guia, sempre que o MuleSoft Anypoint for recomendado, considere se sua solução ESB/ETL existente será suficiente.
- Harmonize dados de diferentes origens com o Data 360 e o Data Cloud One. Por meio do Modelo de Dados Customer 360, resolução de identidade, federação de dados e outros recursos, o Data 360 consolida dados do Salesforce e outros sistemas externos em uma visão unificada do seu cliente. Com o Data Cloud One, os usuários em outras organizações do Salesforce podem acessar com segurança dados compartilhados virtualmente no Data 360 por meio de espaços de dados.
- Mova dados entre organizações usando ações e ativações do Data 360. Depois que os dados são ingeridos de diferentes organizações no Data 360, as ações e ativações de dados podem sincronizar os dados com outra organização. Essa abordagem pode ser muito útil para integrações com organizações do Marketing Cloud.
- Extraia e mova dados usando o MuleSoft Anypoint. O MuleSoft Anypoint pode ser usado para extrair dados do Data 360 usando a API do Connect e a API do Data Graph e movê-los para outra organização do Salesforce. Sem o Data 360, o MuleSoft Anypoint também pode ser usado quando os dados precisam ser movidos entre organizações sem serem replicados no Data 360.
- Tome cuidado se você optar por criar com Mensagens de saída. A Salesforce continuará oferecendo suporte a Mensagens de saída dentro das capacidades funcionais atuais, mas não planeja fazer mais investimentos nessa tecnologia.
- A licença de usuário de integração com o perfil "apenas API" é sempre recomendada para todas as integrações. A Salesforce também recomenda usar Aplicativos cliente externos (em favor de aplicativos conectados ou login SOAP) como os padrões AuthN e AuthZ devidamente autorizados para todas as integrações.
Antes de se aprofundar nas ferramentas de integração de dados disponíveis, é importante ter em mente algumas considerações comuns ao escolher uma ferramenta. Como acontece com a arquitetura, não há uma resposta prescritiva para todos os desafios de negócios. Se você tiver pronunciado as palavras "depende" ao fazer escolhas de integração, está no lugar certo.
| Área a considerar | Perguntas comuns |
|---|---|
| Ferramentas e paisagem existentes | Existe uma solução de ETL ou ESB existente? Os dados envolvidos têm requisitos regulatórios ou de conformidade? Onde estão os sistemas que você está tentando integrar (na nuvem ou no local)? |
| Fluxo de dados (tempo, experiência do usuário esperada, direcionalidade) | Os dados precisam se mover de modo síncrono, assíncrono ou podem ser agendados/loteados? A replicação de dados é obrigatória? Qual sistema deve ser a fonte da verdade? Qual é a origem de dados? Qual é o destino? A interação do usuário é obrigatória? O usuário precisa ver o resultado da integração? Quais são as necessidades quanto ao gerenciamento de exceções (retomar, notificar, falhar)? Qual deve ser o nível de acoplamento dos sistemas? |
| Implementação | Qual é o nível de esforço para sistemas que não sejam do Salesforce? Quais equipes são responsáveis por fornecer integrações? Que ferramentas eles preferem usar? |
| Manutenção | Que equipes deverão manter a integração? Quais habilidades eles têm no momento? De quais habilidades eles precisarão no futuro? Qual é o custo total de propriedade ao longo do tempo? Qual é a importância da capacidade de testar, depurar e solucionar problemas com ferramentas de código baixo ou profissional? |
| Data Volume | Quantos dados estão envolvidos na integração? Você estará trabalhando com grandes volumes de dados (LDV)? Com que frequência as alterações ocorrerão em massa? Que tipo de impacto as atualizações do singleton terão? Com que frequência eles ocorrerão? |
| Limites | Os dados precisarão passar por uma transformação complexa? Os dados precisam ser combinados de vários sistemas de origem? Com que frequência uma integração ocorrerá por usuário? Quantos usuários no total? Você planejou com antecedência para carregamentos de dados em massa (por exemplo: carregamento inicial de dados para uma nova instância)? |
Esta é uma visão geral de alto nível das ferramentas disponíveis para integração de dados e algumas considerações para começar a avaliar cada opção. As seções a seguir incluem casos de uso aprofundados e detalhes sobre os recursos dessas ferramentas.
| Do Salesforce para sistema externo | Do sistema externo para o Salesforce | Execução | Licença adicional necessária | |
|---|---|---|---|---|
| Ações do Apex | Disponível | Disponível | Lado do servidor | Não |
| Captura de dados de alteração | Disponível | Não disponível | Lado do servidor | Não* |
| Apex personalizado (Serviços da Web REST e SOAP) | Disponível | Disponível | Lado do servidor | Não |
| Serviços externos | Disponível | Não disponível | Lado do servidor | Não |
| Heroku Connect | Disponível | Disponível | Lado do servidor | Sim |
| Data 360 | Disponível | Disponível | Lado do servidor | Sim |
| MuleSoft Anypoint | Disponível | Disponível | Lado do servidor | Sim |
| APIs nativas do Salesforce | Não disponível | Disponível | Lado do servidor | Não |
| OmniScript | Disponível | Disponível | Parte do cliente*** | Sim |
| Procedimento de integração do OmniStudio | Disponível | Disponível | Lado do servidor | Sim |
| Mensagens de saída | Não ideal | Não disponível | Lado do servidor | Não |
| Eventos de plataforma | Disponível | Disponível | Lado do servidor | Não** |
| Salesforce Connect/Objetos externos | Disponível | Disponível | Lado do servidor | Sim |
*Adição necessária para casos de uso de evento de captura de dados de alteração de alto volume
**Adição necessária para casos de uso de evento de plataforma de alto volume
*** Adequado em situações em que é normal que a lógica de negócios seja executada no navegador da Web.
Legenda da coluna:
- Disponível: funciona bem para a maioria dos casos de uso
- Não Ideal: possível, mas considere uma ferramenta alternativa
- Não disponível: não há planos de suporte nos próximos doze meses
Há outras ferramentas que podem dar suporte a alguns aspectos de uma integração de camada de dados, mas não devem ser consideradas um meio primário de resolver problemas de integração. Vamos dar uma olhada rápida nessas ferramentas agora.
Os Componentes da Web Lightning são normalmente usados para integrações de processos, mas podem fazer chamadas usando a funcionalidade JavaScript, portanto, os dados podem estar envolvidos nessas transações.
O Fluxo do Salesforce pode ser usado para orquestrar chamadas externas com Serviços externos ou Ações do Apex. O Salesforce Flow por si só não é considerado uma ferramenta de integração de dados independente.
O Assistente de importação de dados e o Data Loader podem ser usados para sincronizar, importar e migrar dados. Embora os comandos do Data Loader também possam ser scriptados para automatizar a importação e exportação de dados, a interface de linha de comando é somente para Windows e nenhuma dessas ferramentas é uma base recomendada para uma estratégia de integração de dados. Em vez disso, use-os para complementar sua estratégia de manutenção e gerenciamento de dados.
Os comandos de dados Salesforce CLI podem ser usados para manipular registros em sua organização. Os comandos estão disponíveis para ajudá-lo a importar e exportar dados com a API em massa e a API de salvamento de árvore de SObject e realizar operações CRUD simples em registros individuais com a API REST. O Salesforce CLI por si só não é considerado uma ferramenta de integração de dados independente.
O OmniStudio Data Mapper pode ser usado como uma ferramenta ETL declarativa para mover dados entre objetos do Salesforce e estruturas de dados JSON. Embora uma interface REST seja criada automaticamente para cada interface do Data Mapper, fornecendo uma maneira declarativa de mover dados de sistemas externos para objetos do Salesforce, o Data Mapper independente não é uma base recomendada para uma estratégia de integração de dados. As ações do Mapeador de dados estão disponíveis em Procedimentos de integração do OmniStudio.
Dataloader.io é outra ferramenta de carregamento de dados para o Salesforce habilitada pela Anypoint Platform da MuleSoft que permite importar, exportar e excluir de forma rápida e segura quantidades ilimitadas de dados para a sua empresa. O Dataloader.io não é uma base recomendada para uma estratégia de integração de dados.
Para integrações de saída do Salesforce, você pode considerar diferentes tipos de ferramentas: low-code, pro-code ou hybrid. As seções a seguir fornecem orientação para cada um desses tipos de ferramenta e oferecem soluções de amostra.
- Ferramentas de baixo código para integrações de saída
- Ferramentas híbridas para integrações de saída
- Ferramentas pro-código para integrações de saída
| Diretrizes | Licenciamento | Tempo | Volume e escala | Entrega e manutenção | Privacidade e segurança | |||||
|---|---|---|---|---|---|---|---|---|---|---|
| Quando usar | Licença adicional | Sincronizar (solicitação/resposta) ou assíncrono (ativar/esquecer) | Suporte para vários objetos | LDV/Bulk | Teste e implantação** | Depuração | Comportamento de retry/tratamento de erro integrado | Pode ser usado com dados criptografados em repouso | Protocolo de autenticação | |
| Captura de dados de alteração | Quando você precisa publicar alterações no nível do registro feitas no Salesforce em um sistema externo e não precisa de uma carga útil personalizada. | Obrigatório | Assíncrono | Não | Não | Sim | Com ferramentas de código profissional | Sim | Sim | OAuth |
| Serviços externos | Quando você está orquestrando um processo usando o Fluxo, o Apex, Bots do Einstein ou OmniStudio e as APIs do sistema externo são descritos usando especificações OpenAPI. | Não necessário | Sincronizar | Sim | Não | Sim | Com ferramentas de código profissional | Não | N/A | Credenciais nomeadas |
| Heroku Connect | Quando você deseja estender seus dados com sincronização bidirecional para habilitar aplicativos móveis e outros no Heroku e deseja que os dados também sejam replicados ao Salesforce. | Obrigatório | Assíncrono | Sim | Sim | Não | Com ferramentas de código profissional | Sim | Sim, por meio do Shield Connect | OAuth |
| Procedimento de integração do OmniStudio | Quando você precisa transformar dados sem interação com o usuário e melhorar o desempenho processando no servidor, em vez do navegador. | Obrigatório | Ambos | Sim | Sim | Sim | Suporte declarativo | Sim | Sim | Credenciais nomeadas |
| Salesforce Connect/Objetos externos | Quando você deseja que os dados apareçam na IU do Salesforce, mas que os dados sejam armazenados em um sistema externo. Os dados não são replicados para o Salesforce. | Obrigatório | Sincronizar | Não | Sim* | Sim | Com ferramentas de código profissional e um rastreador declarativo | Não | N/A | Credenciais nomeadas |
| *Adaptadores OData mais antigos que a versão 4.01 estão sujeitos a limites de chamada. Consulte Considerações sobre o limite de taxa de chamada OData para obter mais detalhes. ** Teste e implantação refere-se à capacidade de criar em um ambiente inferior e implantar por meio da API de metadados, pacotes ou conjuntos de alterações para produção. | ||||||||||
Quando as oportunidades são ganhas, um pedido para os produtos associados precisa ser criado no sistema ERP ou no sistema de gerenciamento de pedidos da empresa.
Captura de dados de alteração À medida que os registros de Oportunidade são atualizados, a Captura de dados de alteração publica eventos de alteração que contêm as atualizações dos objetos. Os eventos de alteração são consumidos do lado do cliente por meio de uma conexão CometD (ou por meio de um conector do MuleSoft) e usados para atualizar o sistema de gerenciamento de pedido ou ERP do cliente. Os eventos de alteração podem ser aprimorados para sempre incluir IDs de registro externos ou outros dados do objeto (como região) necessários para a integração. Fluxos de evento de alteração para vários objetos podem ser combinados em canales para simplificar o processamento de assinatura e fluxo (para que você possa assinar e processar um fluxo em vez de muitos).
Serviços externos Se você tiver um serviço da Web compatível com a especificação OpenAPI 2.0 ou 3.0, poderá expor as operações e serviços como um Serviço externo no Salesforce. As operações da API (por exemplo, criar pedido) podem ser chamadas como uma Ação invocável em um fluxo criado com o Flow Builder quando o estágio da oportunidade for alterado para "Ganho".
Heroku Connect O Heroku Connect geralmente é usado para manter um banco de dados Heroku Postgres e o Salesforce sincronizados. Se o cliente usar o Heroku Postgres como sua loja transacional de origem da verdade, você poderá sincronizar os registros e as alterações do Salesforce para o Heroku Postgres usando o Heroku Connect. De lá, você pode usar os Conectores de streaming do Heroku para publicar essas alterações no Apache Kafka e enviá-las como eventos para aplicativos downstream, incluindo o ERP ou o sistema de gerenciamento de pedidos.
Procedimento de Integração do OmniStudio Quando um pedido é enviado, o OmniScript que orquestra o processo pode publicar os detalhes do pedido em um conector ERP ou MuleSoft. A publicação pode ser executada diretamente pelo OmniScript (do lado do cliente) ou indiretamente por meio de um Procedimento de integração (do lado do servidor). Se o sistema ERP gerar um erro de validação, a IU do OmniScript deverá notificar o usuário e, se necessário, traduzir e contextualizar o erro para o usuário.
Salesforce Connect/Objetos externos Você pode criar um fluxo acionado por registro no Salesforce que insere um registro nos objetos externos relacionados quando o estágio da oportunidade for alterado para "Ganho". Uma vez que essa é uma transação mista, para evitar erros, adicione um elemento de pausa por zero segundos entre a atualização de Oportunidade e a inserção de objetos externos relacionados para que você feche um contexto de transação antes de iniciar uma nova.
| Diretrizes | Licenciamento | Tempo | Volume e escala | Entrega e manutenção | Privacidade e segurança | |||||
|---|---|---|---|---|---|---|---|---|---|---|
| Quando usar | Licença adicional | Sincronizar (solicitação/resposta) ou assíncrono (ativar/esquecer) | Suporte para vários objetos | LDV/Bulk | Teste e implantação** | Depuração | Comportamento de retry/tratamento de erro integrado | Pode ser usado com dados criptografados em repouso | Protocolo de autenticação | |
| Ações do Apex | Quando você deseja automatizar chamadas para outro sistema por meio do Salesforce Flow. Um desenvolvedor pode escrever uma classe do Apex que um fluxo pode invocar ou você pode baixar uma solução predefinida do AppExchange. | Não necessário | Ambos | Sim | Não | Sim | Com ferramentas de código profissional | Não | Sim | Vários |
| Retransmissões de evento | Quando você precisar enviar eventos de plataforma e alterar eventos de captura de dados para o Amazon EventBridge do Salesforce. As retransmissões de evento se conectam apenas ao AWS Eventbridge | Não | Assíncrono | Sim | Não | Sim | Sim | Sim | Sim | HTTP/1.1 com TLS |
| Mensagens de saída | Quando você precisa enviar mensagens SOAP por HTTP(S) para um ponto de extremidade designado com recebimento garantido quando acionado por uma regra de fluxo de trabalho. | Não necessário | Assíncrono | Não | Não | Sim | Suporte declarativo | Sim | Sim | TLS bidirecional |
| Eventos de plataforma | Quando você precisa de uma carga útil personalizada e estruturada para alterações quase em tempo real no Salesforce ou em um sistema externo. | Não necessário* | Assíncrono | Sim | Não | Sim | Com ferramentas de código profissional | Sim | Sim | OAuth |
| Objetos externos do Salesforce Connect (com adaptadores personalizados do Apex) | Quando você deseja que os dados apareçam na interface do usuário do Salesforce, mas que os dados sejam armazenados em um sistema externo que não possa usar protocolos padrão como OData ou GraphQL. | Obrigatório | Ambos | Sim | Sim | Sim | Com ferramentas de código profissional | Não | N/A | Vários |
| Data 360 | Quando você deseja harmonizar dados de diferentes origens em um repositório de dados ou replicar seus dados para outras organizações do Salesforce ou para outros sistemas externos. | Obrigatório | Ambos | Sim | Sim | Sim | Sim | Sim | Sim | Vários |
*Adição necessária para casos de uso de grande volume.
**Teste e implantação refere-se à capacidade de criar em um ambiente inferior e implantar por meio da API de metadados, pacotes ou conjuntos de alterações para produção.
Quando as oportunidades são ganhas, um pedido para os produtos associados precisa ser criado no ERP ou no sistema de gerenciamento de pedidos da empresa.
Ações do Apex Um fluxo acionado por registro com base no estado da oportunidade pode ser acionado automaticamente quando uma oportunidade é ganha. O fluxo executa uma ação invocável que usa uma chamada externa para enviar o pedido ao sistema de gerenciamento de pedidos ou à solução ERP. Envios de alto volume e pedidos de vários sites são processados por mecanismos de lote e fila do Apex.
Mensagens de saída Depois de configurar as mensagens de saída, você pode definir uma regra de fluxo de trabalho acionada pela atualização de oportunidade para enviar uma mensagem SOAP por HTTP(S) para um URL de ponto final especificado que hospeda o ouvinte. A mensagem conterá os campos especificados quando a mensagem de saída foi criada. Se as informações no objeto mudarem depois que a notificação for colocada na fila, mas antes de ela ser enviada, somente as informações atualizadas serão entregues e as mensagens permanecerão na fila até o envio ser bem-sucedido ou até que tenham 24 horas. Após 24 horas, as mensagens são eliminadas da fila. Se o sistema ERP precisar de dados adicionais, você poderá passar o sessionId em mensagens de saída para que o sistema externo possa fazer uma solicitação de retorno.
Eventos de plataforma Você pode definir um evento de plataforma que inclua a carga útil personalizada com os dados necessários para criar os registros no sistema externo. Como os Eventos de plataforma não são publicados automaticamente na mudança de registro, você deve publicar o evento por meio do Apex, do Salesforce Flow ou do Criador de processos quando o estágio da oportunidade for alterado para "Ganho". Um serviço externo escuta o canal de evento da plataforma usando CometD (ou um conector do MuleSoft) e cria os registros apropriados no sistema externo.
Objetos externos do Salesforce Connect (com adaptadores do Apex personalizados) Uma solução baseada em objetos externos do Salesforce Connect não é perfeitamente adequada para um caso de uso que exija sincronização de dados. No entanto, essa solução pode se aplicar a casos em que os usuários no Salesforce precisam ver e possivelmente interagem com dados do sistema externo e os dados não podem ser replicados no Salesforce. Se o ERP ou o sistema de gerenciamento de pedidos não suportam protocolos OData ou GraphQL, a equipe de desenvolvimento pode usar o Apex Connector Framework para escrever classes do Apex que lidam com a comunicação com o sistema externo por meio de um protocolo compatível.
Data 360 Uma solução baseada no Data 360 é perfeitamente adequada para casos de uso em que precisamos de dados harmonizados de diferentes fontes em um único repositório de dados. Ele também pode ser usado quando precisamos replicar dados de uma organização do Salesforce para várias organizações do Salesforce ou para outros sistemas externos usando o Data 360 como um data hub. Quando uma oportunidade é ganha e atualizada na organização de origem, os dados da oportunidade são sincronizados com o Data 360, onde podem ser replicados em outros sistemas, incluindo organizações do Salesforce, usando diferentes mecanismos, como ações, ativações e APIs. Da mesma forma, uma oportunidade pode ser referenciada sem replicar os dados em outras organizações do Salesforce usando o Data Cloud One. No entanto, o Data Cloud One não oferece suporte a plataformas que não sejam do Salesforce.
| Diretrizes | Licenciamento | Tempo | Volume e escala | Entrega e manutenção | Privacidade e segurança | |||||
|---|---|---|---|---|---|---|---|---|---|---|
| Quando usar | Licença adicional | Sincronizar (solicitação/resposta) ou assíncrono (ativar/esquecer) | Suporte para vários objetos | LDV/Bulk | Teste e implantação** | Depuração | Comportamento de retry/tratamento de erro integrado | Pode ser usado com dados criptografados em repouso | Protocolo de autenticação | |
| Apex personalizado | Quando você precisa de mais funcionalidade do que está disponível em ferramentas com pouco código. | Não necessário | Ambos | Sim | Sim | Sim | Com ferramentas de código profissional | Não | Sim* | Vários |
| Serviços externos | A integração do código a APIs do sistema externo é descrita usando especificações OpenAPI. | Não necessário | Sincronizar | Sim | Não | Sim | Com ferramentas de código profissional | Não | N/A | Vários |
| MuleSoft Anypoint | Quando você precisa de uma única solução unificada de nível corporativo para criar, orquestrar e gerenciar suas integrações; quando precisa substituir uma arquitetura de ponto a ponto legada; ou quando precisa de suporte de gerenciamento de API. | Obrigatório | Ambos | Sim | Sim | Sim | Com ferramentas de código profissional | Não | Sim* | Vários |
* A ativação da Shield Platform Encryption altera determinados comportamentos, consulte Considerações gerais sobre a Shield Platform Encryption para obter mais detalhes.
**Teste e implantação refere-se à capacidade de criar em um ambiente inferior e implantar por meio da API de metadados, pacotes ou conjuntos de alterações para produção.
Quando as oportunidades são ganhas, um pedido para os produtos associados precisa ser criado no ERP ou no sistema de gerenciamento de pedidos da empresa.
Apex personalizado Você pode criar um acionador do Apex e manipuladores de acionador na Oportunidade que fazem uma chamada para o sistema de gerenciamento de ERP ou pedido quando o estágio da oportunidade é alterado para "Ganho". Observe que, se você fizer chamadas de um acionador ou depois de realizar uma operação DML, deverá usar um método anotado como futuro ou enfileirável. Uma chamada em um acionador mantém a conexão do banco de dados aberta pela vida útil da chamada. Todo o Apex code é vinculado aos limites de API e controlador do Apex, que são revisados continuamente.
Serviços externos Se o ERP externo ou sistema de gerenciamento de pedidos da empresa for definido por meio de uma especificação OpenAPI, as chamadas a esses serviços que são realizadas no futuro método ou trabalho enfileirável poderão ser simplificadas. Os serviços externos registrados podem ser chamados diretamente do Apex sem precisar escrever código de caldeira. No exemplo, a chamada para criar o pedido pode ser processada pelo serviço externo.
MuleSoft Anypoint O MuleSoft Anypoint fornece gerenciamento de API de nível corporativo. O MuleSoft Anypoint pode criar APIs para habilitar o acesso de leitura (e/ou gravação) a dados para o Salesforce e muitos outros sistemas corporativos. Há muitos conectores pré-construídos disponíveis para simplificar a implementação, e as empresas também podem criar e publicar seus próprios conectores. Essas APIs podem ser implementadas no Anypoint com políticas de segurança flexíveis, com suporte para gerenciamento centralizado e governança. Não há restrições ao volume de transações, desde que a API tenha sido dimensionada adequadamente para sua utilização máxima (como medida em vCores).
Para integrações de entrada ao Salesforce, você pode considerar diferentes tipos de ferramentas: de código baixo, de código profissional ou híbrido. As seções a seguir fornecem orientação para cada um desses tipos de ferramenta e oferecem soluções de amostra.
- Ferramentas de baixo código para integrações de entrada
- Ferramentas híbridas para integrações de entrada
- Ferramentas pro-código para integrações de entrada
| Diretrizes | Licenciamento | Tempo | Volume e escala | Entrega e manutenção | Privacidade e segurança | |||||
|---|---|---|---|---|---|---|---|---|---|---|
| Quando usar | Licença adicional | Sincronizar (solicitar/responder) ou assíncrono ( disparar/esquecer) | Suporte a vários objetos | LDV/Bulk | Teste e implantação* | Depuração | Comportamento de retry/tratamento de erro integrado | Pode ser usado com dados criptografados em repouso | Protocolo de autenticação | |
| Heroku Connect | Quando você deseja estender seus dados com sincronização bidirecional para habilitar aplicativos móveis e outros no Heroku e deseja que os dados também sejam replicados ao Salesforce. | Obrigatório | Assíncrono | Sim | Sim | Não | Com ferramentas de código profissional | Sim | Sim, por meio do Shield Connect | OAuth |
| Procedimento de integração do OmniStudio | Quando você precisa importar e transformar dados de fontes de terceiros sem interação com o usuário. | Obrigatório | Ambos | Sim | Sim | Sim | Suporte declarativo | Não | Sim | Credenciais nomeadas |
| Salesforce Connect/Objetos externos | Quando você deseja que os dados apareçam na interface do usuário do Salesforce, mas que os dados sejam armazenados em um sistema externo que possa usar protocolos padrão como OData ou GraphQL. | Obrigatório | Sincronizar | Sim | Sim | Sim | Com ferramentas de código profissional | Não | N/A | Vários |
*Teste e implantação refere-se à capacidade de criar em um ambiente inferior e implantar por meio da API de metadados, pacotes ou conjuntos de alterações para produção.
Um contato é atualizado no sistema ERP da organização. Essas informações de contato precisam ser atualizadas no Salesforce.
Heroku Connect O Heroku Connect geralmente é usado para manter um banco de dados Heroku Postgres e o Salesforce sincronizados. A menos que o sistema ERP use o Heroku Postgres como loja de transações, esse caso de uso não será possível. Se ele usa o Heroku Postgres, as alterações feitas nas tabelas do Postgres podem ser sincronizadas com objetos no Salesforce usando o Heroku Connect.
Procedimento de integração do OmniStudio Depois que o sistema ERP atualiza o registro de contato, um Procedimento de integração do OmniStudio com uma Ação de carregamento do Data Mapper e uma Ação de resposta pode ser chamado por meio da API REST gerada pelo Data Mapper. Primeiro, uma ação Carregar do Data Mapper envia uma carga útil JSON ou XML, que é usada para inserir e atualizar os registros de contato com base em um campo de ID externo ou por meio de uma chave de inserção e atualização. Se uma resposta simples no JSON for tudo o esperado, uma Ação de resposta poderá enviar de volta qualquer informação relevante das ações anteriores para indicar sucesso ou falha. Se o sistema ERP espera uma resposta específica, uma Ação de extração ou Transformação do mapeador de dados pode ser usada para gerar uma resposta JSON ou XML com recursos adicionais para incluir de modo declarativo dados que foram gerados em acionadores pela atualização de registro de contato. O principal desafio com esse cenário é a simultaneidade: Várias chamadas para atualizar o mesmo registro de contato ao mesmo tempo causarão problemas, pois a API existe diretamente no Salesforce.
Salesforce Connect / Objetos externos Salesforce Connect e objetos externos não são recomendados para este caso de uso, pois o cenário exige especificamente a replicação de dados no Salesforce. Se você tiver uma integração preexistente do Salesforce Connect integrada ao ERP, poderá configurar o conector OData 4.0 para dar suporte à captura de dados de alteração externa se o ERP puder dar suporte à captura de dados de alteração. Além disso, você deve configurar no Salesforce para assinar o fluxo de alteração no ERP usando a API Pub/Sub.
| Diretrizes | Licenciamento | Tempo | Volume e escala | Entrega e manutenção | Privacidade e segurança | |||||
|---|---|---|---|---|---|---|---|---|---|---|
| Quando usar | Licença adicional | Sincronizar (solicitar/responder) ou assíncrono ( disparar/esquecer) | Suporte a vários objetos | LDV/Bulk | Teste e implantação** | Depuração | Comportamento de retry/tratamento de erro integrado | Pode ser usado com dados criptografados em repouso | Protocolo de autenticação | |
| Eventos de plataforma | Quando você precisa de uma carga útil personalizada e estruturada para alterações quase em tempo real no Salesforce ou em um sistema externo. | Não necessário* | Assíncrono | Sim | Não | Sim | Com ferramentas de código profissional | Sim | Sim | OAuth |
| Objetos externos do Salesforce Connect (com adaptadores personalizados do Apex) | Quando você precisa que os dados apareçam na interface do usuário do Salesforce, mas deseja que os dados sejam armazenados em um sistema externo que não possa usar os protocolos OData 2.0/4.0. | Obrigatório | Ambos | Sim | Sim | Sim | Com ferramentas de código profissional | Não | N/A | Vários |
| Data 360 | Quando você deseja harmonizar dados de diferentes origens em um repositório de dados ou replicar seus dados de outras organizações do Salesforce ou para outros sistemas externos. O Data 360 também oferece suporte à virtualização para algumas plataformas. | Obrigatório | Ambos | Sim | Sim | Sim | Não | Sim | Sim | Vários |
- Adição necessária para casos de uso de grande volume.
**Teste e implantação refere-se à capacidade de criar em um ambiente inferior e implantar por meio da API de metadados, pacotes ou conjuntos de alterações para produção.
Um contato é atualizado no sistema ERP da organização. Essas informações de contato precisam ser atualizadas no Salesforce.
O código personalizado de Eventos de plataforma em um sistema externo publica um Evento de plataforma quando o registro de contato é atualizado no ERP. Um acionador, processo ou fluxo no Salesforce pode assinar o evento de plataforma e atualizar os objetos do Salesforce correspondentes quando um evento é processado. O Evento de plataforma pode funcionar simplesmente como um sinal de que uma alteração ocorreu no sistema ERP do cliente sem conter nenhum dado ou pode conter os dados reais necessários para atualizar o objeto do Salesforce.
Objetos externos do Salesforce Connect (com adaptadores do Apex personalizados) Esta solução não é aplicável a um caso de uso que exija replicação de dados. Essa solução é aplicável se você precisar que os usuários no Salesforce vejam informações de um sistema externo que não deve ou não pode ser replicado no Salesforce e o sistema externo não pode dar suporte a protocolos padrão como OData ou GraphQL. Consulte Caso de uso: Integração de saída usando ferramentas híbridas para um exemplo de caso de uso para um adaptador personalizado do Apex.
Quando um contato é atualizado em sistemas externos, como ERP, as atualizações de contato podem ser sincronizadas com o Data 360 usando conectores prontos para uso ou usando APIs e ferramentas de código profissional, como MuleSoft.**** O contato também pode ser referenciado no Data 360 usando o mecanismo de cópia zero (disponível com algumas plataformas). Depois que os dados estiverem disponíveis no Data 360, diferentes mecanismos de integração prontos para uso poderão ser usados para sincronizar os dados com outras organizações do Salesforce. Os dados podem ser acessados por referência usando o Data Cloud One. Os dados também podem ser replicados usando ativações e outras APIs usando conectores prontos para uso ou com a ajuda de ferramentas de código profissional, como a MuleSoft Anypoint Platform.
| Diretrizes | Licenciamento | Tempo | Volume e escala | Entrega e manutenção | Privacidade e segurança | |||||
|---|---|---|---|---|---|---|---|---|---|---|
| Quando usar | Licença adicional | Sincronizar (solicitar/responder) ou assíncrono ( disparar/esquecer) | Suporte a vários objetos | LDV/Bulk | Testar e implementar**** | Depuração | Comportamento de retry/tratamento de erro integrado | Pode ser usado com dados criptografados em repouso | Protocolo de autenticação | |
| Serviços da Web REST e SOAP do Apex personalizados | Quando você precisa de mais funcionalidades do que as fornecidas pelos pontos de extremidade de API nativos, como processamento de objetos cruzados ou outra lógica complexa. | Não necessário | Ambos | Sim | Sim | Sim | Com ferramentas de código profissional | Não | Sim*** | Vários |
| MuleSoft Anypoint | Quando você precisa de uma única solução unificada de nível corporativo para criar, orquestrar e gerenciar suas integrações; quando precisa substituir uma arquitetura de ponto a ponto legada; ou quando precisa de suporte de gerenciamento de API. | Obrigatório | Ambos | Sim | Sim | Sim | Com ferramentas de código profissional | Não | Sim*** | Vários |
| APIs nativas do Salesforce | Quando você precisa de mais controle ou tem um conjunto de habilidades de código profissional para criar integrações por meio da API REST, da API SOAP, da API em massa ou de APIs GraphQL ou gRPC. | Não necessário* | Ambos | Sim***** | Sim | Sim | Com ferramentas de código profissional | Sim** | Sim*** | Vários |
*Limites e alocações de solicitação de API se aplicam.
**As APIs em massa têm aspectos de comportamento de nova tentativa e várias APIs oferecem proteção de reversão por meio da configuração allOrNone (por exemplo, consulte parâmetros allOrNone em Solicitações compostas e de coleta)
*** A ativação da Shield Platform Encryption altera determinados comportamentos, consulte Considerações gerais sobre a Shield Platform Encryption para obter mais detalhes.
****Teste e implantação refere-se à capacidade de criar em um ambiente inferior e implantar por meio da API de metadados, pacotes ou conjuntos de alterações para produção.
*****As APIs compostas têm suporte para vários objetos.
Um contato é atualizado no sistema ERP da organização. Essas informações de contato precisam ser atualizadas no Salesforce.
Serviços personalizados do Apex REST e SOAP Web Services Você pode criar um serviço da Web usando o Apex code que poderia executar operações CRUD (criar, ler, atualizar, excluir) no objeto Contato. Esse serviço será chamado por SOAP ou REST do sistema externo (o ERP).
MuleSoft Anypoint A intenção do MuleSoft Anypoint é fornecer gerenciamento de API de nível empresarial. O MuleSoft Anypoint oferece um grande conjunto de conectores predefinidos que você pode usar para integrar com muitos sistemas ERP, incluindo SAP, Oracle EBS, Oracle ERP e NetSuite. Você pode criar um fluxo para ouvir eventos nesses sistemas ERP (neste caso, quando um novo contato é criado). Quando o fluxo é iniciado, ele usa o conector do Salesforce para criar um novo registro de Contato (ou atualizar um caso o contato já exista). Além disso, é possível integrar-se a outros sistemas se a transação de replicação envolver a sindicação do contato em outros sistemas. Se necessário, você pode usar a linguagem de mapeamento e transformação (DataWeave) para realizar lógica e cálculos complexos à medida que as informações fluem entre vários sistemas diferentes. A autenticação com esses sistemas pode ser feita por meio de vários mecanismos de autenticação diferentes, como Autenticação básica e OAuth, entre outros. Não há restrições ao volume de transações, desde que o fluxo tenha sido dimensionado adequadamente para sua utilização máxima (medido em vCores).
APIs nativas do Salesforce À medida que (ou imediatamente após) a transação de atualização no sistema ERP é concluída, você pode realizar uma operação de inserção e atualização no objeto Contato por meio da API SOAP ou realizar um PATCH na API REST de sObjects de contato na organização do Salesforce.
O produto Salesforce para Salesforce chegou ao fim da sua vida útil. O Salesforce para Salesforce facilitou para parceiros que trabalham juntos venderem e oferecerem suporte a clientes conjuntos, mas a Salesforce vai investir em trazer mais inovação para outras ferramentas. Avançando, as seguintes abordagens são recomendadas para compartilhar dados entre organizações do Salesforce.
| Diretrizes | Custo | Tempo | Volume e escala | Entrega e manutenção | Privacidade e segurança | Ferramentas a implementar | |||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Quando usar | Licença adicional | Sincronizar (solicitação/resposta) ou assíncrono (ativar/esquecer) | Suporte para vários objetos | LDV/Bulk | Teste e implantação* | Depuração | Comportamento de retry/tratamento de erro integrado | Pode ser usado com dados criptografados em repouso | Protocolo de autenticação | Código baixo → Código profissional | |
| Heroku Connect | Quando você deseja estender seus dados com sincronização bidirecional entre organizações do Salesforce e também habilitar o acesso aos dados de dispositivos móveis e outros aplicativos em execução no Heroku | Obrigatório | Assíncrono | Sim | Sim | Não | Com ferramentas de código profissional | Sim | Sim, por meio do Shield Connect | OAuth | Código inferior |
| MuleSoft Anypoint | Quando você precisa de uma única solução unificada de nível corporativo para criar, orquestrar e gerenciar suas integrações; quando precisa substituir uma arquitetura de ponto a ponto legada; ou quando precisa de suporte para gerenciamento de API | Obrigatório | Ambos | Sim | Sim | Sim | Com ferramentas de código profissional | Não | Sim** | Vários | Código profissional |
| APIs nativas do Salesforce | Quando o Salesforce ou o Heroku Connect não são uma opção ou você precisa de processamento mais complexo | Não necessário | Ambos | Não | Sim | Sim | Com ferramentas de código profissional | Não | Sim** | Vários | Código profissional |
| Captura de dados de alteração | Quando você precisa publicar alterações no nível do registro feitas no Salesforce em um sistema externo e não precisa de uma carga útil personalizada. | Obrigatório | Assíncrono | Não | Não | Sim | Com ferramentas de código profissional | Sim | Sim | OAuth | |
| Salesforce Connect com adaptador entre organizações | Quando você deseja que os usuários em uma organização visualizem ou editem registros em uma organização diferente sem replicação de dados | Obrigatório | Assíncrono | Sim | Sim | Sim | Com ferramentas de código profissional | N/A | N/A | Vários | Código inferior |
| Data 360 | Quando você deseja que os usuários em uma organização visualizem ou editem registros em uma organização diferente com dados replicados no Data 360. | Obrigatório | Ambos | Sim | Sim | Sim | Com ferramentas de código profissional | Sim | Sim | Vários | híbrido |
*Teste e implantação refere-se à capacidade de criar em um ambiente inferior e implantar por meio da API de metadados, pacotes ou conjuntos de alterações para produção
** A ativação da Shield Platform Encryption altera determinados comportamentos, consulte Considerações gerais sobre a Shield Platform Encryption para obter mais detalhes.
Os eventos de plataforma não são ideais para integrar dados de uma organização do Salesforce a outra, pois não podem "escutar" entre organizações para o mesmo evento. O Apex personalizado também não é uma abordagem recomendada para esse tipo de integração.
Uma grande empresa opera em várias unidades de negócios (BUs). Cada BU tem sua própria organização do Salesforce. Um único cliente lida com várias unidades de negócios da empresa e, portanto, tem dados de conta e oportunidade em várias organizações. A empresa precisa acessar uma visualização agregada de todos os dados de Conta e Oportunidade em todas as BUs em uma só organização.
Nota: Todas as soluções abaixo são projetadas para a menor quantidade de replicação de dados, de acordo com a Takeaway #1.
Dados de conta e oportunidade do Data 360 de diferentes organizações do Salesforce podem ser ingeridos no Data 360 usando conectores prontos para uso do Salesforce. Eles também podem ser agregados e harmonizados (se necessário). Depois que os dados são agregados no Data 360, eles podem ser acessados em outras organizações do Salesforce usando o Data Cloud One sem replicação de dados.
Heroku Connect Para cada organização individual da BU, você pode usar o Heroku Connect para sincronizar alterações do Salesforce em um único banco de dados Heroku Postgres. Nesse cenário, a sincronização bidirecional não está habilitada, apenas a sincronização do Salesforce para o Postgres. Então, no Heroku Connect, você pode habilitar o provedor OData e selecionar as tabelas que deseja expor como objetos externos na organização do Salesforce em que deseja uma visualização agregada. No Salesforce, você define uma origem de dados externa apontando para o provedor OData no Heroku.
MuleSoft Anypoint O MuleSoft Anypoint fornece gerenciamento de API de nível corporativo. Uma API do MuleSoft Anypoint pode ser configurada para ler informações de várias organizações relacionadas do Salesforce usando o conector do Salesforce com várias conexões às organizações. O fluxo do MuleSoft pode consultar as diferentes organizações do Salesforce e retornar uma estrutura específica aprimorada ou aprimorada com outras informações de terceiros, se necessário. Quando a API é invocada, ela fará todas as chamadas adequadas da organização do Salesforce (neste exemplo, consultando informações de Conta e Oportunidade) para que os dados possam ser processados pelo consumidor (provavelmente uma UI). A autenticação com esses sistemas pode ser feita por meio de vários mecanismos de autenticação, incluindo autenticação básica e OAuth. Não há restrições ao volume de transações, desde que o fluxo tenha sido dimensionado adequadamente para sua utilização máxima (medido em vCores ou Cores).
As operações de consulta nativas das APIs do Salesforce podem ser emitidas a cada uma das organizações de interesse, principalmente por meio da API em massa 2.0 do Salesforce, que é adequada para extrair de forma eficiente milhares de registros. Você pode recuperar os resultados da consulta de cada organização individualmente e agregá-los com um aplicativo personalizado ou middleware conforme os requisitos do cliente.
Salesforce Connect com adaptador entre organizações O adaptador entre organizações do Salesforce Connect não é adequado nesse cenário, pois as contas ou oportunidades de organizações remotas aparecerão na organização central como objetos diferentes. Por exemplo, não há maneira de somar um total geral para os valores de todas as oportunidades em todas as organizações.
Scenário de atualizações seletivas entre organizações: Um vendedor, usando a organização do Salesforce A, precisa visualizar e atualizar dados de caso da organização do Salesforce B e adicionar comentários de caso ao caso pai na organização do Salesforce B enquanto trabalha na organização A. Os dados não devem ser replicados à organização A.
Heroku Connect Você pode usar a mesma abordagem descrita no scenário de agregação de dados acima. No entanto, você deve habilitar o CRUD no objeto externo por meio do conector OData e gravar as alterações de volta no Heroku Postgres.
MuleSoft Anypoint O MuleSoft Anypoint fornece gerenciamento de API de nível corporativo. Você pode usar a mesma abordagem descrita no Scenário de agregação de dados acima.
As APIs nativas do Salesforce usam credenciais nomeadas e invocam as APIs nativas do Salesforce para ler e atualizar dados na organização do Salesforce relacionada. Um componente deve ser projetado para exibir os dados.
Salesforce Connect com adaptador entre organizações A capacidade de visualizar dados em um objeto externo (e editar os dados se você tiver o CRUD habilitado no objeto externo) é suportada por meio do adaptador entre organizações do Salesforce. Há suporte para relacionamentos entre objetos externos para que você possa vincular ao caso pai no objeto externo. No entanto, criar relacionamentos hoje é um processo manual em que você converte um tipo de dados existente em um tipo de dados de relacionamento. Além disso, as otimizações feitas no Service Cloud para trabalhar com Casos com mais eficiência não passam em cascata para a organização remota. A Salesforce recomenda enfaticamente testar o adaptador entre organizações e avaliar as vantagens de trabalhar com objetos externos vs. objetos padrão para seu caso de uso.
Sincronização de dados entre organizações: Quando uma conta de um cliente é atualizada em uma das organizações do Salesforce da unidade de negócios da organização, os outros objetos da Conta da organização do Salesforce precisam ser atualizados para manter informações de conta consistentes.
O Data 360 do Data 360 pode ser usado para replicação de dados de uma organização para outra organização do Salesforce. Os dados da conta de uma organização do Salesforce podem ser ingeridos no Data 360 usando conectores prontos para uso do Salesforce. Podemos usar mecanismos de ativação de dados, como ativação em lote, ações de dados quase em tempo real ou ativações baseadas em API, bem como mover os dados do Data 360 para a organização do Salesforce.
Heroku Connect Você pode usar a mesma abordagem descrita no scenário de agregação de dados acima. No entanto, você deve habilitar a sincronização bidirecional e não precisa mais habilitar o Salesforce Connect, pois a sincronização bidirecional manterá todas as organizações atualizadas quando forem feitas alterações na tabela do Postgres.
MuleSoft Anypoint O MuleSoft Anypoint fornece gerenciamento de API de nível corporativo. Você pode configurar um aplicativo do Mule com o Designer de fluxo no MuleSoft Anypoint para ouvir eventos de objeto padrão e personalizados para iniciar um fluxo iniciado automaticamente no Salesforce. Quando o aplicativo Mule é acionado, ele pode invocar o Conector do Anypoint para Salesforce para se comunicar com qualquer número de organizações do Salesforce. Nesse caso de uso, quando um registro de Conta é atualizado em uma organização do Salesforce, o aplicativo Mule pode atualizar registros de Conta nas organizações relacionadas do Salesforce. Cada organização do Salesforce relacionada teria uma etapa de atualização exclusiva integrada ao fluxo de aplicativo geral no MuleSoft. A autenticação com esses sistemas pode ser feita por meio de vários mecanismos de autenticação, incluindo autenticação básica e OAuth. Não há restrições ao volume de transações, desde que o fluxo tenha sido dimensionado adequadamente para sua utilização máxima (medido em vCores ou Cores).
APIs nativas do Salesforce A API de replicação (operações getUpdated, getDeleted) pode ser usada para sincronizar dados entre organizações, mas essa abordagem não é recomendada.
Salesforce Connect com adaptador entre organizações Você pode usar fluxos acionados por registro e objetos externos para manter alguns dados sincronizados entre as organizações do Salesforce. Por exemplo, atualizar um registro de conta na Organização A aciona um fluxo que então atualiza o registro correspondente no objeto externo Conta, que grava essas atualizações no registro da conta na Organização B. Isso exige o uso adequado da semântica do fluxo para evitar transações DML mistas. Além disso, lembre-se de que as regras de validação e os fluxos na organização B serão acionados da mesma maneira que quando as alterações forem feitas por nossas APIs REST/SOAP.
Lembre-se deste guia e consulte-o quando estiver planejando uma nova integração de dados envolvendo o Salesforce. Sempre é uma boa ideia entender todo o escopo de opções disponíveis para você e como elas podem se ajustar ao seu caso de uso específico.
Ajude-nos a garantir que estejamos publicando o que é mais relevante para você. Pegue nossa pesquisa para fornecer feedback sobre esse conteúdo e nos diga o que você gostaria de ver em seguida.