Salesforce
Créé pour :
- Développeur
Adobe Experience Platform permet d’ingérer des données à partir de sources externes tout en vous offrant la possibilité de structurer, d’étiqueter et d’améliorer les données entrantes à l’aide des services d’Experience Platform. Vous pouvez ingérer des données provenant de diverses sources telles que les applications Adobe, le stockage dans le cloud, les bases de données, etc.
Experience Platform prend en charge l’ingestion de données provenant d’un système tiers de gestion de la relation client (CRM). La prise en charge des fournisseurs de gestion de la relation client inclut Salesforce.
Configurer votre source de Salesforce pour Experience Platform sur Azure
Suivez les étapes ci-dessous pour savoir comment configurer votre compte Salesforce pour Experience Platform sur Azure.
PLACER SUR LA LISTE AUTORISÉE Adresse IP associée pour la connexion à Azure
Vous devez ajouter des adresses IP spécifiques à une région à votre place sur la liste autorisée de données avant de connecter vos sources à Experience Platform sur Azure. Si vous n’ajoutez pas vos adresses IP spécifiques à une région à votre place sur la liste autorisée, des erreurs ou une absence de performances peuvent se produire lors de l’utilisation de sources. Pour plus d’informations, consultez la page place sur la liste autorisée d’adresse IP .
-
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
Mappage des champs de Salesforce à XDM
Pour établir une connexion source entre Salesforce et Experience Platform, les champs de données sources Salesforce doivent être mappés à leurs champs XDM cibles appropriés avant d’être ingérés dans Experience Platform.
Pour plus d’informations sur les règles de mappage des champs entre les jeux de données Salesforce et Experience Platform, consultez les sections suivantes :
Configurer l’utilitaire de génération automatique d’espace de noms et de schéma Salesforce
Pour utiliser la source de Salesforce dans le cadre de B2B-CDP, vous devez d’abord configurer un utilitaire de Postman pour générer automatiquement vos espaces de noms et schémas de Salesforce. La documentation suivante fournit des informations supplémentaires sur la configuration de l’utilitaire Postman :
- Vous pouvez télécharger la collection d’utilitaires et l’environnement de génération automatique d’espace de noms et de schéma à partir de ce référentiel GitHub.
- Pour plus d’informations sur l’utilisation des API Experience Platform, notamment sur la collecte des valeurs des en-têtes requis et la lecture d’exemples d’appels d’API, consultez le guide Prise en main des API Experience Platform.
- Pour plus d’informations sur la génération de vos informations d’identification pour les API Experience Platform, consultez le tutoriel sur l’authentification et accès aux API Experience Platform.
- Pour plus d’informations sur la configuration de Postman pour les API Experience Platform, consultez le tutoriel sur configuration de Developer Console et Postman.
Grâce à la console de développement et à la configuration des Postman d’Experience Platform, vous pouvez maintenant commencer à appliquer les valeurs d’environnement appropriées à votre environnement de Postman.
Le tableau suivant contient des exemples de valeurs ainsi que des informations supplémentaires sur la population de votre environnement Postman :
CLIENT_SECRET
{ACCESS_TOKEN}
. Pour plus d’informations sur la récupération de vos {CLIENT_SECRET}
, consultez le tutoriel sur l’authentification et l’accès aux API Experience Platform.{CLIENT_SECRET}
JWT_TOKEN
{JWT_TOKEN}
, consultez le tutoriel sur l’authentification et l’accès aux API Experience Platform.{JWT_TOKEN}
API_KEY
{API_KEY}
, consultez le tutoriel sur l’authentification et l’accès aux API Experience Platform.c8d9a2f5c1e03789bd22e8efdd1bdc1b
ACCESS_TOKEN
{ACCESS_TOKEN}
, consultez le tutoriel sur l’authentification et l’accès aux API Experience Platform.Bearer {ACCESS_TOKEN}
META_SCOPE
ent_dataservices_sdk
.ent_dataservices_sdk
CONTAINER_ID
global
contient toutes les classes, groupes de champs de schéma, types de données et schémas fournis par les partenaires standard d’Adobe et d’Experience Platform. En ce qui concerne Marketo, cette valeur est fixe et est toujours définie sur 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}
.ABCEH0D9KX6A7WA7ATQE0TE@adobeOrg
SANDBOX_NAME
prod
TENANT_ID
b2bcdpproductiontest
PLATFORM_URL
http://platform.adobe.io/
.http://platform.adobe.io/
munchkinId
munchkinId
, consultez le tutoriel sur l’authentification de votre instance Marketo.123-ABC-456
sfdc_org_id
00D4W000000FgYJUA0
has_abm
false
has_msi
false
Exécution des scripts
Une fois votre collection de Postman et votre environnement configurés, vous pouvez exécuter le script via l’interface Postman.
Dans l’interface Postman, sélectionnez le dossier racine de l’utilitaire de génération automatique, puis sélectionnez Run dans l’en-tête supérieur.
L’interface Runner s’affiche. À partir de là, assurez-vous que toutes les cases à cocher sont sélectionnées, puis sélectionnez Run Namespaces and Schemas Autogeneration Utility.
Une requête réussie crée les espaces de noms et les schémas B2B conformément aux spécifications bêta.
Configurer votre source de Salesforce pour Experience Platform sur Amazon Web Services
Pour découvrir comment configurer votre compte Salesforce pour Experience Platform sur Amazon Web Services (AWS), procédez comme suit.
Conditions préalables
Pour connecter votre compte Salesforce à Experience Platform dans une région AWS, vous devez disposer des éléments suivants :
- Un compte Salesforce avec un accès API.
- Salesforce Connected App que vous pouvez ensuite utiliser pour activer le flux OAuth JWT_BEARER.
- Les autorisations nécessaires dans Salesforce d’accéder aux données.
PLACER SUR LA LISTE AUTORISÉE Adresse IP utilisée pour la connexion à AWS
Vous devez ajouter à votre place sur la liste autorisée des adresses IP spécifiques à une région avant de connecter vos sources à Experience Platform sur AWS. Pour plus d’informations, consultez le guide sur la liste autorisée d’adresses IP pour se connecter à Experience Platform sur AWS.
Création d’un Salesforce Connected App
Tout d’abord, utilisez les éléments suivants pour créer un certificat ou une paire de clés de fichiers PEM.
openssl req -newkey rsa:4096 -new -nodes -x509 -days 3650 -keyout key.pem -out cert.pem
- Dans le tableau de bord Salesforce, sélectionnez les paramètres (
- Accédez à App Manager , puis sélectionnez New Connection App.
- Attribuez un nom à votre application et autorisez le remplissage automatique du reste des champs.
- Activez la case à Enable OAuth Settings.
- Définissez une URL de rappel. Comme il ne sera pas utilisé pour le jeton JWT, vous pouvez utiliser
https://localhost
. - Activez la case à Use Digital Signatures.
- Chargez le fichier cert.pem créé précédemment.
Ajout des autorisations requises
Ajoutez les autorisations suivantes :
- Gestion des données utilisateur via des API (api)
- Accéder aux autorisations personnalisées (custom_permissions)
- Accéder au service d’URL d’identité (identifiant, profil, e-mail, adresse, téléphone)
- Accéder aux identifiants uniques (openid)
- Exécuter des requêtes à tout moment (refresh_token, offline_access)
Une fois vos autorisations ajoutées, assurez-vous d’activer la case à Issue JSON Web Token (JWT)-based access tokens for named user.
Sélectionnez ensuite Save, Continue, puis Manage Customer Details. Utilisez le panneau Détails du client pour récupérer les éléments suivants :
- Clé du client : vous utiliserez ultérieurement cette clé du client comme identifiant client lors de l’authentification de votre compte Salesforce à Experience Platform.
- Secret du client : vous utiliserez plus tard ce secret du client comme ID client lors de l’authentification de votre compte Salesforce à Experience Platform.
Autoriser l’utilisateur Salesforce à accéder à l’application connectée
Pour obtenir l’autorisation d’utiliser l’application connectée, procédez comme suit :
- Accédez à Manage Connected Apps.
- Sélectionnez Edit.
- Configurez Permitted Users en tant que Admin approved users are pre-authorized, puis sélectionnez Save.
- Accédez à Settings> Manage Users >Profiles.
- Modifiez le profil associé à votre utilisateur.
- Accédez à Connected App Access , puis sélectionnez l’application que vous avez créée lors d’une étape précédente.
Générer un jeton du porteur JWT
Suivez les étapes ci-dessous pour générer votre jeton du porteur JWT.
Convertir une paire de clés en pkcs12
Pour générer votre jeton porteur JWT, vous devez d’abord utiliser la commande suivante pour convertir votre certificat/paire de clés au format pkcs12 . Au cours de cette étape, vous devez également définir un mot de passe d’exportation lorsque vous y êtes invité.
openssl pkcs12 -export -in cert.pem -inkey key.pem -name jwtcert >jwtcert.p12
Créer un fichier de stockage des clés Java basé sur pkcs12
Ensuite, utilisez la commande suivante pour créer un fichier de stockage des clés Java basé sur le fichier pkcs12 que vous venez de générer. Au cours de cette étape, vous devez également définir un mot de passe du KeyStore de destination lorsque vous y êtes invité. En outre, vous devez fournir le mot de passe d’exportation précédent comme mot de passe du fichier de stockage des clés source.
keytool -importkeystore -srckeystore jwtcert.p12 -destkeystore keystore.jks -srcstoretype pkcs12 -alias jwtcert
Vérifiez que votre fichier keystroke.jks inclut un alias jwtcert.
Ensuite, utilisez la commande suivante pour confirmer que votre keystroke.jks
comprend un alias jwtcert
. Au cours de cette étape, vous serez invité à fournir le mot de passe du KeyStore de destination qui a été généré à l’étape précédente.
keytool -keystore keystore.jks -list
Générer un jeton signé
Enfin, utilisez la classe Java JWTExample ci-dessous pour générer votre jeton signé.
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]
avec votre identifiant client.claimArray[1]
claimArray[1]
avec le nom d’utilisateur Salesforce autorisé pour l’application.claimArray[2]
claimArray[2]
avec votre URL de connexion Salesforce.claimArray[3]
claimArray[3]
avec une date d’expiration formatée en millisecondes depuis l’heure Unix. Par exemple, 3660624000000
est le 12-31-2085./path/to/keystore
/path/to/keystore
par le chemin d’accès correct à votre fichier keystore.jks.keystorepassword
keystorepassword
par votre mot de passe de stockage des clés de destination.privatekeypassword
privatekeypassword
par votre mot de passe de stockage des clés source.Étapes suivantes
Une fois la configuration préalable requise pour votre compte Salesforce terminée, vous pouvez connecter votre compte Salesforce à Experience Platform et ingérer vos données CRM. Pour plus d’informations, consultez la documentation ci-dessous :
Connexion de Salesforce à Experience Platform à l’aide d’API
La documentation ci-dessous fournit des informations sur la connexion de Salesforce à Experience Platform à l’aide d’API ou de l’interface utilisateur :