Salesforce
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 de 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 Salesforce pour Experience Platform sur Azure azure
Suivez les étapes ci-dessous pour savoir comment configurer votre compte Salesforce pour Experience Platform sur Azure.
Liste autorisée d’adresses IP
Une liste d’adresses IP doit être ajoutée à une liste autorisée avant d’utiliser les connecteurs source. Si vous n’ajoutez pas vos adresses IP spécifiques à une région à votre liste autorisée, des erreurs ou une absence de performances peuvent se produire lors de l’utilisation de sources. Voir la page Liste autorisée d’adresses IP pour plus d’informations.
Mappage des champs de Salesforce à XDM
Pour établir une connexion source entre Salesforce et Platform, les champs de données source Salesforce doivent être mappés à leurs champs XDM cibles appropriés avant d’être ingérés dans Platform.
Pour plus d’informations sur les règles de mappage des champs entre les jeux de données Salesforce et 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 Platform, notamment des détails sur la manière de rassembler les valeurs des en-têtes requis et de lire des exemples d’appels API, consultez le guide Prise en main des API Platform.
- Pour plus d’informations sur la génération de vos informations d’identification pour les API Platform, consultez le tutoriel sur l’authentification et l’accès aux API Experience Platform.
- Pour plus d’informations sur la configuration de Postman pour les API Platform, consultez le tutoriel sur configuration de Developer Console et Postman.
Grâce à la console de développement et à la configuration des Postman de 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 :
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 | Description | Exemple |
CLIENT_SECRET |
Identifiant unique utilisé pour générer votre {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 |
Le jeton Web JSON (JWT) est des informations d’authentification utilisées pour générer votre {ACCESS_TOKEN}. Pour plus d’informations sur la génération de vos {JWT_TOKEN} , consultez le tutoriel sur l’authentification et l’accès aux API Experience Platform. |
{JWT_TOKEN} |
API_KEY |
Identifiant unique utilisé pour authentifier les appels aux API Experience Platform. Pour plus d’informations sur la récupération de vos {API_KEY} , consultez le tutoriel sur l’authentification et l’accès aux API Experience Platform. |
c8d9a2f5c1e03789bd22e8efdd1bdc1b |
ACCESS_TOKEN |
Jeton d’autorisation requis pour effectuer des appels vers les API Experience Platform. Pour plus d’informations sur la récupération de vos {ACCESS_TOKEN} , consultez le tutoriel sur l’authentification et l’accès aux API Experience Platform. |
Bearer {ACCESS_TOKEN} |
META_SCOPE |
En ce qui concerne Marketo, cette valeur est fixe et est toujours définie sur : ent_dataservices_sdk . |
ent_dataservices_sdk |
CONTAINER_ID |
Le conteneur global contient toutes les classes, groupes de champs de schéma, types de données et schémas fournis par les partenaires d’Adobe et d’Experience Platform standard. En ce qui concerne Marketo, cette valeur est fixe et est toujours définie sur global . |
global |
PRIVATE_KEY |
Informations d’identification utilisées pour authentifier votre instance Postman auprès des API Experience Platform. Voir les tutoriels Configuration de Developer Console et Configuration de Developer Console et Postman pour obtenir des instructions sur la récupération de votre {PRIVATE_KEY}. | {PRIVATE_KEY} |
TECHNICAL_ACCOUNT_ID |
Informations d’identification utilisées pour l’intégration à Adobe I/O. | D42AEVJZTTJC6LZADUBVPA15@techacct.adobe.com |
IMS |
Le système Identity Management (IMS) fournit la structure pour l’authentification aux services Adobe. En ce qui concerne Marketo, cette valeur est fixe et est toujours définie sur : ims-na1.adobelogin.com . |
ims-na1.adobelogin.com |
IMS_ORG |
Entité d’entreprise pouvant posséder des produits et services ou en obtenir la licence et permettre l’accès à ses membres. Consultez le tutoriel sur configuration de Developer Console et Postman pour obtenir des instructions sur la récupération de vos informations de {ORG_ID} . |
ABCEH0D9KX6A7WA7ATQE0TE@adobeOrg |
SANDBOX_NAME |
Nom de la partition de sandbox virtuelle que vous utilisez. | prod |
TENANT_ID |
Identifiant utilisé pour s’assurer que les ressources que vous créez ont un espace de noms correct et sont contenues dans votre organisation. | b2bcdpproductiontest |
PLATFORM_URL |
Point d’entrée de l’URL vers lequel vous effectuez des appels API. Cette valeur est fixe et est toujours définie sur : http://platform.adobe.io/ . |
http://platform.adobe.io/ |
munchkinId |
ID unique de votre compte Marketo. Pour plus d’informations sur la récupération de votre munchkinId , consultez le tutoriel sur l’authentification de votre instance Marketo. |
123-ABC-456 |
sfdc_org_id |
Identifiant d’organisation de votre compte Salesforce. Pour plus d’informations sur l’acquisition de votre ID d’organisation Salesforce, consultez le Salesforce guide suivant. | 00D4W000000FgYJUA0 |
has_abm |
Valeur booléenne qui indique si vous êtes abonné aux Marketo Account-Based Marketing. | false |
has_msi |
Valeur booléenne qui indique si vous êtes abonné aux Marketo Sales Insight. | 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 Salesforce pour Experience Platform sur Amazon Web Services aws
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.
Vous devez également ajouter les adresses IP suivantes à votre place sur la liste autorisée afin de connecter votre compte Salesforce à Experience Platform on Amazon Web Services (AWS) :
34.193.63.59
44.217.93.240
44.194.79.229
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 cette clé du client ultérieurement comme ID client lors de l’authentification de votre compte Salesforce à l’Experience Platform.
- Secret du client : vous utiliserez plus tard ce secret du client comme ID client lors de l’authentification de votre compte Salesforce à l’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 à l’Experience Platform et ingérer vos données CRM. Pour plus d’informations, consultez la documentation ci-dessous :
Connecter Salesforce à Platform à l’aide d’API
La documentation ci-dessous fournit des informations sur la connexion d’Salesforce à Platform à l’aide d’API ou de l’interface utilisateur :