Salesforce
Adobe Experience Platform consente di acquisire i dati da origini esterne e allo stesso tempo di strutturare, etichettare e migliorare i dati in arrivo tramite i servizi di Platform. È possibile 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, ad Experience Platform in Azure azure
Segui i passaggi seguenti per scoprire come configurare l'account Salesforce, ad Experience Platform in Azure.
ELENCO CONSENTITI di indirizzo IP
Prima di utilizzare i connettori di origine, è necessario aggiungere un elenco di indirizzi IP a un elenco consentiti. La mancata aggiunta all’elenco consentiti degli indirizzi IP specifici per l’area geografica potrebbe causare errori o prestazioni non ottimali durante l’utilizzo delle origini. Per ulteriori informazioni, vedere la pagina elenco consentiti indirizzo IP.
Mappatura campo da Salesforce a XDM
Per stabilire una connessione di origine tra Salesforce e Platform, i campi dati di origine Salesforce devono essere mappati sui campi XDM di destinazione appropriati prima di essere acquisiti in Platform.
Per informazioni dettagliate sulle regole di mappatura dei campi tra Salesforce set di dati e 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 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 Platform.
- Per informazioni su come generare le credenziali per le API di Platform, consulta l'esercitazione su autenticazione e accesso alle API di Experience Platform.
- Per informazioni sulla configurazione di Postman per le API di Platform, consulta l'esercitazione su configurazione della console per sviluppatori e Postman.
Con una console per sviluppatori Platform e Postman configurati, 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:
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 | Descrizione | Esempio |
CLIENT_SECRET |
Identificatore univoco utilizzato per generare {ACCESS_TOKEN} . Per informazioni su come recuperare {CLIENT_SECRET} , consulta il tutorial su autenticazione e accesso alle API Experience Platform. |
{CLIENT_SECRET} |
JWT_TOKEN |
Il JSON Web Token (JWT) è una credenziale di autenticazione utilizzata per generare {ACCESS_TOKEN}. Per informazioni su come generare {JWT_TOKEN} , consulta il tutorial su autenticazione e accesso alle API Experience Platform. |
{JWT_TOKEN} |
API_KEY |
Identificatore univoco utilizzato per autenticare le chiamate alle API Experience Platform. Per informazioni su come recuperare {API_KEY} , consulta il tutorial su autenticazione e accesso alle API Experience Platform. |
c8d9a2f5c1e03789bd22e8efdd1bdc1b |
ACCESS_TOKEN |
Il token di autorizzazione necessario per completare le chiamate alle API Experience Platform. Per informazioni su come recuperare {ACCESS_TOKEN} , consulta il tutorial su autenticazione e accesso alle API Experience Platform. |
Bearer {ACCESS_TOKEN} |
META_SCOPE |
Per quanto riguarda Marketo, questo valore è fisso ed è sempre impostato su: ent_dataservices_sdk . |
ent_dataservices_sdk |
CONTAINER_ID |
Il contenitore global contiene tutte le classi, i gruppi di campi dello schema, i tipi di dati e gli schemi standard forniti dal partner Adobe e Experience Platform. Per quanto riguarda Marketo, questo valore è fisso ed è sempre impostato su global . |
global |
PRIVATE_KEY |
Credenziali utilizzate per autenticare l'istanza Postman in Experience Platform API. Per istruzioni su come recuperare {PRIVATE_KEY}, consulta il tutorial sulla configurazione di Developer Console e configurazione di Developer Console e Postman. | {PRIVATE_KEY} |
TECHNICAL_ACCOUNT_ID |
Credenziali utilizzate per l'integrazione in Adobe I/O. | D42AEVJZTTJC6LZADUBVPA15@techacct.adobe.com |
IMS |
Identity Management System (IMS) fornisce il framework per l’autenticazione nei servizi Adobe. Per quanto riguarda Marketo, questo valore è fisso ed è sempre impostato su: ims-na1.adobelogin.com . |
ims-na1.adobelogin.com |
IMS_ORG |
Entità aziendale che può possedere o concedere in licenza prodotti e servizi e consentire l'accesso ai propri membri. Per istruzioni su come recuperare le informazioni di {ORG_ID} , consulta il tutorial su come configurare la console per sviluppatori e Postman. |
ABCEH0D9KX6A7WA7ATQE0TE@adobeOrg |
SANDBOX_NAME |
Nome della partizione sandbox virtuale in uso. | prod |
TENANT_ID |
ID utilizzato per garantire che le risorse create abbiano lo spazio dei nomi corretto e siano contenute all’interno dell’organizzazione. | b2bcdpproductiontest |
PLATFORM_URL |
L’endpoint URL a cui stai effettuando chiamate API. Questo valore è fisso ed è sempre impostato su: http://platform.adobe.io/ . |
http://platform.adobe.io/ |
munchkinId |
ID univoco dell'account Marketo. Per informazioni su come recuperare munchkinId , consulta il tutorial su autenticazione dell'istanza. Marketo |
123-ABC-456 |
sfdc_org_id |
L'ID organizzazione per l'account Salesforce. Per ulteriori informazioni sull'acquisizione dell'ID organizzazione Salesforce, consulta la Salesforce guida seguente. | 00D4W000000FgYJUA0 |
has_abm |
Valore booleano che indica se sei abbonato a Marketo Account-Based Marketing. | false |
has_msi |
Valore booleano che indica se sei abbonato a Marketo Sales Insight. | 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, ad Experience Platform su Amazon Web Services aws
Segui i passaggi seguenti per scoprire come configurare l'account Salesforce, ad Experience Platform su Amazon Web Services (AWS).
Prerequisiti
Per connettere l'account Salesforce all'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.
Per connettere l'account Salesforce all'Experience Platform su Amazon Web Services (AWS), è necessario aggiungere anche i seguenti indirizzi IP al inserisco nell'elenco Consentiti di:
34.193.63.59
44.217.93.240
44.194.79.229
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: questa chiave consumer verrà utilizzata in seguito come ID client durante l'autenticazione dell'account Salesforce per l'Experience Platform.
- Segreto consumer: in seguito utilizzerai questo segreto consumer come ID client durante l'autenticazione dell'account Salesforce per l'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 per l'Experience Platform e l'acquisizione dei dati CRM. Per ulteriori informazioni, consulta la documentazione seguente:
Connetti Salesforce a Platform tramite API
La documentazione seguente fornisce informazioni su come connettere Salesforce a Platform tramite API o tramite l'interfaccia utente: