Salesforce

IMPORTANT
È ora possibile utilizzare l'origine Salesforce quando si esegue Adobe Experience Platform su Amazon Web Services (AWS). Un Experience Platform in esecuzione su AWS è attualmente disponibile per un numero limitato di clienti. Per ulteriori informazioni sull'infrastruttura Experience Platform supportata, consulta l'panoramica sul cloud multiplo di Experience Platform.

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:

Con una console per sviluppatori Platform e Postman configurati, puoi iniziare ad applicare i valori di ambiente appropriati all'ambiente Postman.

Visualizza la guida della tabella delle variabili

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.

cartella-radice

Viene visualizzata l'interfaccia Runner. Da qui, assicurarsi che tutte le caselle di controllo siano selezionate, quindi selezionare Run Namespaces and Schemas Autogeneration Utility.

run-generator

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

AVAILABILITY
Questa sezione si applica alle implementazioni di Experience Platform in esecuzione su Amazon Web Services (AWS). Un Experience Platform in esecuzione su AWS è attualmente disponibile per un numero limitato di clienti. Per ulteriori informazioni sull'infrastruttura Experience Platform supportata, consulta l'panoramica sul cloud multiplo di Experience Platform.

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
  1. Nel dashboard Salesforce selezionare le impostazioni ( Icona Impostazioni. ) e quindi selezionare Setup.
  2. Passare a App Manager e selezionare New Connection App.
  3. Specifica un nome per l'app e consenti la compilazione automatica degli altri campi.
  4. Abilita la casella per Enable OAuth Settings.
  5. Imposta un URL di callback. Poiché non verrà utilizzato per JWT, puoi utilizzare https://localhost.
  6. Abilita la casella per Use Digital Signatures.
  7. Carica il file cert.pem creato in precedenza.

Aggiungere le autorizzazioni richieste

Aggiungi le seguenti autorizzazioni:

  1. Gestire i dati utente tramite API (API)
  2. Accedere alle autorizzazioni personalizzate (custom_permissions)
  3. Accedere al servizio URL di identità (ID, profilo, e-mail, indirizzo, telefono)
  4. Accedere a identificatori univoci (openid)
  5. 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:

  1. Passa a Manage Connected Apps.
  2. Seleziona Edit.
  3. Configurare Permitted Users come Admin approved users are pre-authorized, quindi selezionare Save.
  4. Passa a Settings> Manage Users >Profiles.
  5. Modifica il profilo associato al tuo utente.
  6. 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();
        }
    }
}
Proprietà
Configurazioni
claimArray[0]
Aggiorna claimArray[0] con il tuo ID client.
claimArray[1]
Aggiorna claimArray[1] con il nome utente Salesforce autorizzato per l'app.
claimArray[2]
Aggiorna claimArray[2] con l'URL di accesso di Salesforce.
claimArray[3]
Aggiorna claimArray[3] con una data di scadenza formattata in millisecondi dall'epoca. Ad esempio 3660624000000 è 12-31-2085.
/path/to/keystore
Sostituisci /path/to/keystore con il percorso corretto per keystore.jks
keystorepassword
Sostituisci keystorepassword con la password del keystore di destinazione.
privatekeypassword
Sostituisci 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:

Connetti Salesforce a Platform tramite l'interfaccia utente

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