Salesforce
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:
- Você pode baixar a coleção de utilitários de geração automática de namespace e esquema e o ambiente deste repositório do GitHub.
- Para obter informações sobre como usar APIs da plataforma, incluindo detalhes sobre como coletar valores para cabeçalhos necessários e ler chamadas de API de exemplo, consulte o manual em introdução às APIs da plataforma.
- Para obter informações sobre como gerar suas credenciais para APIs da plataforma, consulte o tutorial sobre autenticação e acesso a APIs do Experience Platform.
- Para obter informações sobre como configurar o Postman para APIs da Platform, consulte o tutorial em configuração do console do desenvolvedor e 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.
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.
A interface Runner é exibida. Aqui, verifique se todas as caixas de seleção estão marcadas e selecione Run Namespaces and Schemas Autogeneration Utility.
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
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
- No painel Salesforce, selecione as configurações (
- Navegue até App Manager e selecione New Connection App.
- Forneça um nome para o aplicativo e permita que o restante dos campos seja preenchido automaticamente.
- Habilitar a caixa para Enable OAuth Settings.
- Defina uma URL de retorno de chamada. Como isso não será usado para JWT, você pode usar
https://localhost
. - Habilitar a caixa para Use Digital Signatures.
- Faça upload do arquivo cert.pem criado anteriormente.
Adicionar permissões necessárias
Adicione as seguintes permissões:
- Gerenciar dados do usuário por meio das APIs (api)
- Acessar permissões personalizadas (custom_permissions)
- Acessar o serviço de URL de identidade (id, perfil, email, endereço, telefone)
- Acessar identificadores exclusivos (openid)
- 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:
- Navegue até Manage Connected Apps.
- Selecione Edit.
- Configure Permitted Users como Admin approved users are pre-authorized e selecione Save.
- Navegue até Settings> Manage Users >Profiles.
- Edite o perfil associado ao usuário.
- 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();
}
}
}
claimArray[0]
claimArray[0]
com sua ID de cliente.claimArray[1]
claimArray[1]
com o nome de usuário Salesforce autorizado no aplicativo.claimArray[2]
claimArray[2]
com sua URL de logon Salesforce.claimArray[3]
claimArray[3]
com uma data de expiração formatada em milissegundos desde a época. Por exemplo, 3660624000000
é 12-31-2085./path/to/keystore
/path/to/keystore
pelo caminho correto para seu keystore.jkskeystorepassword
keystorepassword
pela senha do keystore de destino.privatekeypassword
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: