Salesforce
Creato per:
- Sviluppatore
Adobe Experience Platform consente di acquisire dati da origini esterne e allo stesso tempo di strutturare, etichettare e migliorare i dati in arrivo tramite i servizi Experience Platform. Puoi acquisire dati da diverse origini, ad esempio applicazioni Adobe, archiviazione basata su cloud, database e molte altre.
Experience Platform fornisce supporto per l’acquisizione di dati da un sistema CRM di terze parti. Il supporto per i provider di gestione delle relazioni con i clienti include Salesforce.
Configura l'origine Salesforce per Experience Platform su Azure
Segui i passaggi seguenti per scoprire come configurare l'account Salesforce per Experience Platform su Azure.
Indirizzo IP in cui è inserita nell'elenco Consentiti la connessione ad Azure
Prima di collegare le origini a Experience Platform in Azure, è necessario aggiungere al elenco Consentiti di indirizzi IP specifici per l’area geografica. La mancata aggiunta di indirizzi IP specifici per l’area geografica al elenco Consentiti può causare errori o non prestazioni durante l’utilizzo delle origini. Per ulteriori informazioni, leggere la pagina Indirizzo IP/inserisco nell'elenco Consentiti di.
-
40.70.226.96/28
-
40.70.226.32/28
-
52.232.229.255
-
52.232.229.253
-
40.70.226.144/28
-
40.70.226.64/28
-
40.70.225.240/28
-
40.70.225.224/28
-
40.70.224.64/29
-
40.70.226.80/28
-
40.70.226.176/28
-
52.232.229.230
-
40.70.226.128/28
-
40.70.226.0/28
-
40.70.226.16/28
-
52.138.119.167
-
40.70.226.160/28
-
40.70.226.192/28
-
40.70.226.48/28
-
20.96.243.176
-
40.70.226.112/28
-
40.70.226.208/28
-
40.74.4.144/28
-
40.74.3.176/28
-
40.74.5.128/28
-
40.74.4.176/28
-
40.74.6.112/28
-
40.74.7.128/28
-
40.74.6.144/28
-
51.105.144.81
-
52.142.236.87
-
40.74.6.80/28
-
20.101.246.9
-
40.74.7.208/28
-
40.74.6.128/28
-
40.74.7.176/28
-
51.124.70.4
-
40.74.7.144/28
-
108.141.12.47
-
20.50.23.153
-
51.144.184.248/29
-
40.74.7.160/28
-
40.74.7.192/28
-
51.105.144.1
-
40.74.4.160/28
-
40.74.6.96/28
-
20.43.111.32/28
-
20.43.110.144/28
-
20.53.111.113
-
20.227.32.175
-
20.43.110.96/28
-
20.43.110.64/28
-
20.193.56.144/28
-
20.43.110.192/28
-
20.43.97.95
-
20.43.111.16/28
-
20.43.110.128/28
-
20.40.185.111
-
20.193.56.160/28
-
20.43.110.112/28
-
40.82.220.111
-
20.43.111.0/28
-
20.193.38.208/28
-
20.43.110.80/28
-
20.43.110.176/28
-
20.43.110.48/28
-
20.193.36.37
-
20.43.110.208/28
-
20.43.110.224/28
-
20.43.110.160/28
-
20.40.185.225
-
20.43.110.240/28
-
20.193.56.128/28
-
20.40.185.185
-
20.116.159.48/28
-
20.116.159.144/28
-
20.116.159.96/28
-
20.220.243.238
-
20.116.159.80/28
-
20.116.159.32/28
-
20.151.241.138
-
4.172.28.20
-
20.151.241.124
-
20.116.248.0/28
-
20.116.155.128/28
-
20.116.159.64/28
-
20.116.159.192/28
-
20.116.159.176/28
-
20.116.175.240/28
-
20.116.248.16/28
-
20.116.158.240/28
-
20.116.159.112/28
-
20.151.240.247
-
20.151.241.173
-
20.116.159.128/28
-
20.116.159.160/28
-
20.116.159.0/28
-
20.104.5.248
-
20.116.175.224/28
-
20.116.159.208/28
-
20.116.159.224/28
-
20.162.155.16/28
-
20.162.154.96/28
-
20.26.64.0/28
-
20.26.64.96/28
-
20.162.154.64/28
-
20.108.200.27
-
20.162.154.80/28
-
20.162.153.192/28
-
20.108.200.61
-
20.162.154.48/28
-
20.162.154.192/28
-
20.162.154.0/28
-
20.26.64.16/28
-
20.162.154.112/28
-
20.162.153.32/28
-
20.254.80.141
-
20.162.153.208/28
-
20.108.203.20
-
20.26.64.48/28
-
20.162.154.240/28
-
20.162.154.208/28
-
20.162.154.160/28
-
20.108.205.182
-
20.108.202.198
-
20.162.154.32/28
-
20.162.153.16/28
-
4.188.92.84
-
4.224.5.224/28
-
4.224.7.32/28
-
4.188.92.87
-
4.188.89.92
-
4.224.5.112/28
-
4.224.6.80/28
-
4.224.144.224/28
-
4.224.144.240/28
-
4.224.6.96/28
-
4.188.89.255
-
4.188.94.32/28
-
4.224.5.96/28
-
4.224.6.64/28
-
4.224.7.48/28
-
4.224.5.208/28
-
4.188.90.65
-
4.224.6.16/28
-
4.224.6.0/28
-
4.224.5.192/28
-
4.224.7.16/28
-
4.188.90.67
-
4.188.90.17
-
4.188.94.48/28
-
4.224.6.112/28
-
4.224.5.240/28
-
4.224.7.0/28
Mappatura campo da Salesforce a XDM
Per stabilire una connessione di origine tra Salesforce e Experience Platform, i campi dei dati di origine Salesforce devono essere mappati sui campi XDM di destinazione appropriati prima di essere acquisiti in Experience Platform.
Per informazioni dettagliate sulle regole di mappatura dei campi tra Salesforce set di dati e Experience Platform, consulta:
Configurare l'utilità di generazione automatica dello spazio dei nomi e dello schema Salesforce
Per utilizzare l'origine Salesforce come parte di B2B-CDP, è necessario prima impostare un'utilità Postman per generare automaticamente gli spazi dei nomi e gli schemi Salesforce. La documentazione seguente fornisce ulteriori informazioni sulla configurazione dell'utilità Postman:
- È possibile scaricare la raccolta di utilità di generazione automatica dello spazio dei nomi e dello schema e l'ambiente da questo archivio GitHub.
- Per informazioni sull'utilizzo delle API di Experience Platform, inclusi i dettagli su come raccogliere i valori per le intestazioni richieste e leggere chiamate API di esempio, consulta la guida introduttiva alle API di Experience Platform.
- Per informazioni su come generare le credenziali per le API Experience Platform, consulta l'esercitazione su autenticazione e accesso alle API Experience Platform.
- Per informazioni sulla configurazione di Postman per le API di Experience Platform, consulta l'esercitazione su configurazione della console per sviluppatori e Postman.
Con una console per sviluppatori Experience Platform e la configurazione di Postman, puoi iniziare ad applicare i valori di ambiente appropriati all'ambiente Postman.
La tabella seguente contiene valori di esempio e informazioni aggiuntive sul popolamento dell'ambiente Postman:
CLIENT_SECRET
{ACCESS_TOKEN}
. Per informazioni su come recuperare {CLIENT_SECRET}
, consulta il tutorial su autenticazione e accesso alle API di Experience Platform.{CLIENT_SECRET}
JWT_TOKEN
{JWT_TOKEN}
, consulta il tutorial su autenticazione e accesso alle API di Experience Platform.{JWT_TOKEN}
API_KEY
{API_KEY}
, consulta il tutorial su autenticazione e accesso alle API di Experience Platform.c8d9a2f5c1e03789bd22e8efdd1bdc1b
ACCESS_TOKEN
{ACCESS_TOKEN}
, consulta il tutorial su autenticazione e accesso alle API di Experience Platform.Bearer {ACCESS_TOKEN}
META_SCOPE
ent_dataservices_sdk
.ent_dataservices_sdk
CONTAINER_ID
global
contiene tutte le classi, i gruppi di campi di schema, i tipi di dati e gli schemi standard forniti dai partner Adobe e Experience Platform. Per quanto riguarda Marketo, questo valore è fisso ed è sempre impostato su global
.global
PRIVATE_KEY
{PRIVATE_KEY}
TECHNICAL_ACCOUNT_ID
D42AEVJZTTJC6LZADUBVPA15@techacct.adobe.com
IMS
ims-na1.adobelogin.com
.ims-na1.adobelogin.com
IMS_ORG
{ORG_ID}
, consulta il tutorial su come configurare la console per sviluppatori e Postman.ABCEH0D9KX6A7WA7ATQE0TE@adobeOrg
SANDBOX_NAME
prod
TENANT_ID
b2bcdpproductiontest
PLATFORM_URL
http://platform.adobe.io/
.http://platform.adobe.io/
munchkinId
munchkinId
, consulta il tutorial su autenticazione dell'istanza. Marketo123-ABC-456
sfdc_org_id
00D4W000000FgYJUA0
has_abm
false
has_msi
false
Eseguire gli script
Dopo aver configurato la raccolta Postman e l'ambiente, è ora possibile eseguire lo script tramite l'interfaccia Postman.
Nell'interfaccia Postman, selezionare la cartella principale dell'utilità di generazione automatica, quindi selezionare Run dall'intestazione superiore.
Viene visualizzata l'interfaccia Runner. Da qui, assicurarsi che tutte le caselle di controllo siano selezionate, quindi selezionare Run Namespaces and Schemas Autogeneration Utility.
In caso di esito positivo, la richiesta crea gli spazi dei nomi e gli schemi B2B in base alle specifiche beta.
Configura l'origine Salesforce per Experience Platform su Amazon Web Services
Segui i passaggi seguenti per scoprire come configurare l'account Salesforce per Experience Platform su Amazon Web Services (AWS).
Prerequisiti
Per connettere l'account Salesforce ad Experience Platform in un'area geografica AWS, è necessario disporre dei seguenti elementi:
- Un account Salesforce con accesso API.
- Un Salesforce Connected App che puoi quindi utilizzare per abilitare il flusso OAuth JWT_BEARER.
- Le autorizzazioni necessarie in Salesforce per accedere ai dati.
Indirizzo IP da inserire nell'elenco Consentiti per la connessione su AWS
Prima di collegare le origini a Experience Platform su AWS, è necessario aggiungere al elenco Consentiti di indirizzi IP specifici per l’area geografica. Per ulteriori informazioni, leggere la guida su inserire nell'elenco Consentiti degli indirizzi IP per la connessione ad Experience Platform su AWS.
Crea un Salesforce Connected App
Innanzitutto, utilizza quanto segue per creare una coppia certificato/chiave di file PEM.
openssl req -newkey rsa:4096 -new -nodes -x509 -days 3650 -keyout key.pem -out cert.pem
- Nel dashboard Salesforce selezionare le impostazioni (
- Passare a App Manager e selezionare New Connection App.
- Specifica un nome per l'app e consenti la compilazione automatica degli altri campi.
- Abilita la casella per Enable OAuth Settings.
- Imposta un URL di callback. Poiché non verrà utilizzato per JWT, puoi utilizzare
https://localhost
. - Abilita la casella per Use Digital Signatures.
- Carica il file cert.pem creato in precedenza.
Aggiungere le autorizzazioni richieste
Aggiungi le seguenti autorizzazioni:
- Gestire i dati utente tramite API (API)
- Accedere alle autorizzazioni personalizzate (custom_permissions)
- Accedere al servizio URL di identità (ID, profilo, e-mail, indirizzo, telefono)
- Accedere a identificatori univoci (openid)
- Eseguire richieste in qualsiasi momento (refresh_token, offline_access)
Dopo aver aggiunto le autorizzazioni, assicurarsi di abilitare la casella per Issue JSON Web Token (JWT)-based access tokens for named user.
Selezionare Save, Continue e quindi Manage Customer Details. Utilizza il pannello dei dettagli del consumatore per recuperare quanto segue:
- Chiave consumer: in seguito utilizzerai questa chiave consumer come ID client durante l'autenticazione dell'account Salesforce in Experience Platform.
- Segreto consumer: in seguito utilizzerai questo segreto consumer come ID client durante l'autenticazione dell'account Salesforce in Experience Platform.
Autorizza l'utente Salesforce all'app connessa
Segui i passaggi seguenti per ottenere l’autorizzazione all’utilizzo dell’app connessa:
- Passa a Manage Connected Apps.
- Seleziona Edit.
- Configurare Permitted Users come Admin approved users are pre-authorized, quindi selezionare Save.
- Passa a Settings> Manage Users >Profiles.
- Modifica il profilo associato al tuo utente.
- Passa a Connected App Access, quindi seleziona l'app creata in un passaggio precedente.
Genera token JWT bearer
Per generare il token JWT bearer, segui la procedura riportata di seguito.
Converti coppia di chiavi in pkcs12
Per generare il token JWT bearer, devi innanzitutto usare il seguente comando per convertire il certificato/coppia di chiavi in formato pkcs12. Durante questo passaggio, devi anche impostare una password di esportazione quando richiesto.
openssl pkcs12 -export -in cert.pem -inkey key.pem -name jwtcert >jwtcert.p12
Creare un keystore Java basato su pkcs12
Quindi, utilizza il seguente comando per creare un keystore Java basato sul pkcs12 appena generato. Durante questo passaggio, devi anche impostare una password per il keystore di destinazione quando richiesto. Inoltre, devi fornire la password di esportazione precedente come password del keystore di origine.
keytool -importkeystore -srckeystore jwtcert.p12 -destkeystore keystore.jks -srcstoretype pkcs12 -alias jwtcert
Verifica che il file keystroke.jks includa un alias jwtcert
Utilizzare quindi il comando follow per verificare che keystroke.jks
includa un alias jwtcert
. Durante questo passaggio, verrà richiesto di fornire la password del keystore di destinazione generata nel passaggio precedente.
keytool -keystore keystore.jks -list
Genera token firmato
Infine, utilizza la classe Java JWTExample seguente per generare il token firmato.
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]
con il tuo ID client.claimArray[1]
claimArray[1]
con il nome utente Salesforce autorizzato per l'app.claimArray[2]
claimArray[2]
con l'URL di accesso di Salesforce.claimArray[3]
claimArray[3]
con una data di scadenza formattata in millisecondi dall'epoca. Ad esempio 3660624000000
è 12-31-2085./path/to/keystore
/path/to/keystore
con il percorso corretto per keystore.jkskeystorepassword
keystorepassword
con la password del keystore di destinazione.privatekeypassword
privatekeypassword
con la password del keystore di origine.Passaggi successivi
Dopo aver completato la configurazione dei prerequisiti per l'account Salesforce, puoi procedere con la connessione dell'account Salesforce ad Experience Platform e acquisire i dati di gestione delle relazioni con i clienti. Per ulteriori informazioni, consulta la documentazione seguente:
Connetti Salesforce ad Experience Platform tramite API
La documentazione seguente fornisce informazioni su come connettere Salesforce ad Experience Platform tramite API o tramite l'interfaccia utente: