Salesforce

IMPORTANT
Agora você pode usar a origem Salesforce ao executar o Adobe Experience Platform no Amazon Web Services (AWS). O Experience Platform em execução no AWS está atualmente disponível para um número limitado de clientes. Para saber mais sobre a infraestrutura de Experience Platform compatível, consulte a visão geral de várias nuvens do Experience Platform.

O Adobe Experience Platform permite que os dados sejam assimilados de fontes externas e, ao mesmo tempo, fornece a capacidade de estruturar, rotular e aprimorar os dados recebidos usando os serviços da plataforma. Você pode assimilar dados de várias fontes, como aplicativos Adobe, armazenamento baseado em nuvem, bancos de dados e muitas outras.

O Experience Platform fornece suporte para assimilação de dados de um sistema CRM de terceiros. O suporte para provedores de CRM inclui Salesforce.

Configure sua origem Salesforce para o Experience Platform no Azure azure

Siga as etapas abaixo para saber como configurar sua conta do Salesforce para o Experience Platform no Azure.

LISTA DE PERMISSÕES de endereço IP

Uma lista de endereços IP deve ser adicionada a uma lista de permissões antes de trabalhar com conectores de origem. Falha ao adicionar endereços IP específicos da região à lista de permissões pode levar a erros ou ao não desempenho ao usar origens. Consulte a página lista de permissões de endereço IP para obter mais informações.

Mapeamento de campo de Salesforce para XDM

Para estabelecer uma conexão de origem entre Salesforce e a Platform, os campos de dados de origem Salesforce devem ser mapeados para seus campos XDM de destino apropriados antes de serem assimilados na Platform.

Consulte o seguinte para obter informações detalhadas sobre as regras de mapeamento de campos entre Salesforce conjuntos de dados e a Plataforma:

Configurar o namespace Salesforce e o utilitário de geração automática de esquema

Para usar a origem Salesforce como parte de B2B-CDP, primeiro você deve configurar um utilitário Postman para gerar automaticamente seus namespaces e esquemas Salesforce. A documentação a seguir fornece informações adicionais sobre a configuração do utilitário Postman:

Com um console de desenvolvedor da Platform e o Postman configurado, agora é possível começar a aplicar os valores de ambiente apropriados ao seu ambiente Postman.

Exibir o guia da tabela de variáveis

A tabela a seguir contém valores de exemplo, bem como informações adicionais sobre como preencher o ambiente Postman:

table 0-row-3 1-row-3 2-row-3 3-row-3 4-row-3 5-row-3 6-row-3 7-row-3 8-row-3 9-row-3 10-row-3 11-row-3 12-row-3 13-row-3 14-row-3 15-row-3 16-row-3 17-row-3 layout-auto
Variable Descrição Exemplo
CLIENT_SECRET Um identificador exclusivo usado para gerar o {ACCESS_TOKEN}. Consulte o tutorial sobre autenticação e acesso às APIs do Experience Platform para obter informações sobre como recuperar o {CLIENT_SECRET}. {CLIENT_SECRET}
JWT_TOKEN O JSON Web Token (JWT) é uma credencial de autenticação usada para gerar seu {ACCESS_TOKEN}. Consulte o tutorial sobre autenticação e acesso às APIs do Experience Platform para obter informações sobre como gerar seu {JWT_TOKEN}. {JWT_TOKEN}
API_KEY Um identificador exclusivo usado para autenticar chamadas para APIs Experience Platform. Consulte o tutorial sobre autenticação e acesso às APIs do Experience Platform para obter informações sobre como recuperar o {API_KEY}. c8d9a2f5c1e03789bd22e8efdd1bdc1b
ACCESS_TOKEN O token de autorização necessário para completar chamadas para APIs de Experience Platform. Consulte o tutorial sobre autenticação e acesso às APIs do Experience Platform para obter informações sobre como recuperar o {ACCESS_TOKEN}. Bearer {ACCESS_TOKEN}
META_SCOPE Com relação a Marketo, esse valor é fixo e sempre é definido como: ent_dataservices_sdk. ent_dataservices_sdk
CONTAINER_ID O contêiner global contém todas as classes, grupos de campos de esquema, tipos de dados e esquemas fornecidos por parceiros de Adobe e Experience Platform padrão. Com relação a Marketo, esse valor é fixo e sempre é definido como global. global
PRIVATE_KEY Uma credencial usada para autenticar sua instância do Postman para APIs Experience Platform. Consulte o tutorial sobre configuração do console do desenvolvedor e configuração do console do desenvolvedor e Postman para obter instruções sobre como recuperar o {PRIVATE_KEY}. {PRIVATE_KEY}
TECHNICAL_ACCOUNT_ID Uma credencial usada para integrar ao Adobe I/O. D42AEVJZTTJC6LZADUBVPA15@techacct.adobe.com
IMS O Sistema Identity Management (IMS) fornece a estrutura para autenticação de serviços da Adobe. Com relação a Marketo, esse valor é fixo e sempre é definido como: ims-na1.adobelogin.com. ims-na1.adobelogin.com
IMS_ORG Uma entidade corporativa que pode ser proprietária ou licenciar produtos e serviços e permitir acesso a seus membros. Consulte o tutorial em configuração do console do desenvolvedor e Postman para obter instruções sobre como recuperar as informações de {ORG_ID}. ABCEH0D9KX6A7WA7ATQE0TE@adobeOrg
SANDBOX_NAME O nome da partição de sandbox virtual que você está usando. prod
TENANT_ID Uma ID usada para garantir que os recursos criados tenham o namespace adequado e estejam contidos na organização. b2bcdpproductiontest
PLATFORM_URL O endpoint de URL para o qual você está fazendo chamadas de API. Este valor é fixo e está sempre definido como: http://platform.adobe.io/. http://platform.adobe.io/
munchkinId O identificador exclusivo da sua conta Marketo. Consulte o tutorial em autenticando sua Marketo instância para obter informações sobre como recuperar sua munchkinId. 123-ABC-456
sfdc_org_id A ID da organização da sua conta Salesforce. Consulte o Salesforce guia a seguir para obter mais informações sobre como adquirir a ID da organização do Salesforce. 00D4W000000FgYJUA0
has_abm Um valor booleano que indica se você assinou o Marketo Account-Based Marketing. false
has_msi Um valor booleano que indica se você assinou o Marketo Sales Insight. false

Execute os scripts

Com a coleção e o ambiente Postman configurados, agora é possível executar o script por meio da interface Postman.

Na interface Postman, selecione a pasta raiz do utilitário gerador automático e, em seguida, selecione Run no cabeçalho superior.

pasta-raiz

A interface Runner é exibida. Aqui, verifique se todas as caixas de seleção estão marcadas e selecione Run Namespaces and Schemas Autogeneration Utility.

run-generator

Uma solicitação bem-sucedida cria os namespaces B2B e esquemas de acordo com as especificações beta.

Configurar a origem do Salesforce para o Experience Platform no Amazon Web Services aws

AVAILABILITY
Esta seção se aplica às implementações do Experience Platform executadas no Amazon Web Services (AWS). O Experience Platform em execução no AWS está atualmente disponível para um número limitado de clientes. Para saber mais sobre a infraestrutura de Experience Platform compatível, consulte a visão geral de várias nuvens do Experience Platform.

Siga as etapas abaixo para saber como configurar sua conta do Salesforce para o Experience Platform no Amazon Web Services (AWS).

Pré-requisitos

Para conectar sua conta do Salesforce ao Experience Platform em uma região do AWS, você deve ter:

  • Uma conta Salesforce com acesso à API.
  • Um Salesforce Connected App que você pode usar para habilitar o fluxo de OAuth JWT_BEARER.
  • As permissões necessárias em Salesforce para acessar dados.

Incluir na lista de permissões Você também deve adicionar os seguintes endereços IP ao seu arquivo para conectar sua conta do Salesforce ao Experience Platform no Amazon Web Services (AWS):

  • 34.193.63.59
  • 44.217.93.240
  • 44.194.79.229

Criar um Salesforce Connected App

Primeiro, use o seguinte para criar um par de certificados/chaves de arquivos PEM.

openssl req -newkey rsa:4096 -new -nodes -x509 -days 3650 -keyout key.pem -out cert.pem
  1. No painel Salesforce, selecione as configurações ( O ícone de configurações. ) e selecione Setup.
  2. Navegue até App Manager e selecione New Connection App.
  3. Forneça um nome para o aplicativo e permita que o restante dos campos seja preenchido automaticamente.
  4. Habilitar a caixa para Enable OAuth Settings.
  5. Defina uma URL de retorno de chamada. Como isso não será usado para JWT, você pode usar https://localhost.
  6. Habilitar a caixa para Use Digital Signatures.
  7. Faça upload do arquivo cert.pem criado anteriormente.

Adicionar permissões necessárias

Adicione as seguintes permissões:

  1. Gerenciar dados do usuário por meio das APIs (api)
  2. Acessar permissões personalizadas (custom_permissions)
  3. Acessar o serviço de URL de identidade (id, perfil, email, endereço, telefone)
  4. Acessar identificadores exclusivos (openid)
  5. Executar solicitações a qualquer momento (refresh_token, offline_access)

Após adicionar suas permissões, habilite a caixa para Issue JSON Web Token (JWT)-based access tokens for named user.

Em seguida, selecione Save, Continue e Manage Customer Details. Use o painel de detalhes do consumidor para recuperar o seguinte:

  • Chave do consumidor: posteriormente, você usará essa chave do consumidor como sua ID de cliente ao autenticar sua conta do Salesforce no Experience Platform.
  • Segredo do consumidor: posteriormente, você usará esse segredo do consumidor como sua ID de cliente ao autenticar sua conta do Salesforce no Experience Platform.

Autorizar o usuário Salesforce para o Aplicativo Conectado

Siga as etapas abaixo para obter autorização para usar o Aplicativo conectado:

  1. Navegue até Manage Connected Apps.
  2. Selecione Edit.
  3. Configure Permitted Users como Admin approved users are pre-authorized e selecione Save.
  4. Navegue até Settings> Manage Users >Profiles.
  5. Edite o perfil associado ao usuário.
  6. Navegue até Connected App Access e selecione o aplicativo criado em uma etapa anterior.

Gerar token de portador JWT

Siga as etapas abaixo para gerar o token do portador JWT.

Converter par de chaves em pkcs12

Para gerar o token do portador JWT, primeiro use o seguinte comando para converter o certificado/par de chaves em formato pkcs12. Durante esta etapa, você também deve definir uma senha de exportação quando solicitado.

openssl pkcs12 -export -in cert.pem -inkey key.pem -name jwtcert >jwtcert.p12

Criar armazenamento de chaves java baseado em pkcs12

Em seguida, use o seguinte comando para criar um keystore java com base no pkcs12 que você acabou de gerar. Durante esta etapa, você também deve definir uma senha de armazenamento de chaves de destino quando solicitado. Além disso, você deve fornecer a senha de exportação anterior como a senha do armazenamento de chaves de origem.

keytool -importkeystore -srckeystore jwtcert.p12 -destkeystore keystore.jks -srcstoretype pkcs12 -alias jwtcert

Confirme se o keystroke.jks inclui um alias jwtcert

Em seguida, use o comando a seguir para confirmar se o seu keystroke.jks inclui um alias jwtcert. Durante esta etapa, você será solicitado a fornecer a senha do armazenamento de chaves de destino que foi gerada na etapa anterior.

keytool -keystore keystore.jks -list

Gerar token assinado

Finalmente, use a classe java JWTExample abaixo para gerar seu token assinado.

package org.example;

import org.apache.commons.codec.binary.Base64;

import java.io.*;
import java.security.*;
import java.text.MessageFormat;

public class Main {

    public static void main(String[] args) {

        String header = "{\"alg\":\"RS256\"}";
        String claimTemplate = "'{'\"iss\": \"{0}\", \"sub\": \"{1}\", \"aud\": \"{2}\", \"exp\": \"{3}\"'}'";

        try {
            StringBuffer token = new StringBuffer();

            //Encode the JWT Header and add it to our string to sign
            token.append(Base64.encodeBase64URLSafeString(header.getBytes("UTF-8")));

            //Separate with a period
            token.append(".");

            //Create the JWT Claims Object
            String[] claimArray = new String[5];
            claimArray[0] = "{CLIENT_ID}";
            claimArray[1] = "{AUTHORIZED_SALESFORCE_USERNAME}";
            claimArray[2] = "{SALESFORCE_LOGIN_URL}";
            claimArray[3] = Long.toString((System.currentTimeMillis() / 1000) + 2629746*4);
            MessageFormat claims;
            claims = new MessageFormat(claimTemplate);
            String payload = claims.format(claimArray);

            //Add the encoded claims object
            token.append(Base64.encodeBase64URLSafeString(payload.getBytes("UTF-8")));

            //Load the private key from a keystore
            KeyStore keystore = KeyStore.getInstance("JKS");
            keystore.load(new FileInputStream("path/to/keystore"), "keystorepassword".toCharArray());
            PrivateKey privateKey = (PrivateKey) keystore.getKey("jwtcert", "privatekeypassword".toCharArray());

            //Sign the JWT Header + "." + JWT Claims Object
            Signature signature = Signature.getInstance("SHA256withRSA");
            signature.initSign(privateKey);
            signature.update(token.toString().getBytes("UTF-8"));
            String signedPayload = Base64.encodeBase64URLSafeString(signature.sign());

            //Separate with a period
            token.append(".");

            //Add the encoded signature
            token.append(signedPayload);

            System.out.println(token.toString());

        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
Propriedade
Configurações
claimArray[0]
Atualize claimArray[0] com sua ID de cliente.
claimArray[1]
Atualize claimArray[1] com o nome de usuário Salesforce autorizado no aplicativo.
claimArray[2]
Atualize claimArray[2] com sua URL de logon Salesforce.
claimArray[3]
Atualize claimArray[3] com uma data de expiração formatada em milissegundos desde a época. Por exemplo, 3660624000000 é 12-31-2085.
/path/to/keystore
Substitua /path/to/keystore pelo caminho correto para seu keystore.jks
keystorepassword
Substitua keystorepassword pela senha do keystore de destino.
privatekeypassword
Substitua privatekeypassword pela senha do keystore de origem.

Próximas etapas

Após concluir o pré-requisito configurado para sua conta do Salesforce, você pode prosseguir para conectar sua conta do Salesforce ao Experience Platform e assimilar seus dados do CRM. Leia a documentação abaixo para obter mais informações:

Conectar Salesforce à plataforma usando APIs

A documentação abaixo fornece informações sobre como conectar o Salesforce à Plataforma usando APIs ou a interface do usuário:

Conectar Salesforce à Plataforma usando a interface

recommendation-more-help
337b99bb-92fb-42ae-b6b7-c7042161d089