Salesforce

IMPORTANT
Vous pouvez désormais utiliser la source Salesforce lors de l’exécution de Adobe Experience Platform sur Amazon Web Services (AWS). Un Experience Platform s’exécutant sur AWS est actuellement disponible pour un nombre limité de clients. Pour en savoir plus sur l’infrastructure Experience Platform prise en charge, consultez la présentation multi-cloud de Experience Platform.

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 :

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.

Afficher le guide du tableau des variables

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.

dossier-racine

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.

run-generator

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

AVAILABILITY
Cette section s’applique aux implémentations d’Experience Platform s’exécutant sur Amazon Web Services (AWS). Un Experience Platform s’exécutant sur AWS est actuellement disponible pour un nombre limité de clients. Pour en savoir plus sur l’infrastructure Experience Platform prise en charge, consultez la présentation multi-cloud de Experience Platform.

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
  1. Dans le tableau de bord Salesforce, sélectionnez les paramètres ( Icône des paramètres. ), puis sélectionnez Setup.
  2. Accédez à App Manager , puis sélectionnez New Connection App.
  3. Attribuez un nom à votre application et autorisez le remplissage automatique du reste des champs.
  4. Activez la case à Enable OAuth Settings.
  5. Définissez une URL de rappel. Comme il ne sera pas utilisé pour le jeton JWT, vous pouvez utiliser https://localhost.
  6. Activez la case à Use Digital Signatures.
  7. Chargez le fichier cert.pem créé précédemment.

Ajout des autorisations requises

Ajoutez les autorisations suivantes :

  1. Gestion des données utilisateur via des API (api)
  2. Accéder aux autorisations personnalisées (custom_permissions)
  3. Accéder au service d’URL d’identité (identifiant, profil, e-mail, adresse, téléphone)
  4. Accéder aux identifiants uniques (openid)
  5. 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 :

  1. Accédez à Manage Connected Apps.
  2. Sélectionnez Edit.
  3. Configurez Permitted Users en tant que Admin approved users are pre-authorized, puis sélectionnez Save.
  4. Accédez à Settings> Manage Users >Profiles.
  5. Modifiez le profil associé à votre utilisateur.
  6. 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();
        }
    }
}
Propriété
Configurations
claimArray[0]
Mettez à jour claimArray[0] avec votre identifiant client.
claimArray[1]
Mettez à jour claimArray[1] avec le nom d’utilisateur Salesforce autorisé pour l’application.
claimArray[2]
Mettez à jour claimArray[2] avec votre URL de connexion Salesforce.
claimArray[3]
Mettez à jour les 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
Remplacez /path/to/keystore par le chemin d’accès correct à votre fichier keystore.jks.
keystorepassword
Remplacez keystorepassword par votre mot de passe de stockage des clés de destination.
privatekeypassword
Remplacez 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 :

Connecter Salesforce à Platform à l’aide de l’interface utilisateur

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