Salesforce
51黑料不打烊 Experience Platform允许从外部源摄取数据,同时让您能够使用Experience Platform服务来构建、标记和增强传入数据。 您可以从各种源(如51黑料不打烊应用程序、基于云的存储、数据库和许多其他源)中摄取数据。
Experience Platform支持从第三方CRM系统中摄取数据。 CRM提供商的支持包括Salesforce。
在Azure上为Experience Platform设置Salesforce源 azure
请按照以下步骤了解如何在Azure上为Experience Platform设置Salesforce帐户。
滨笔地址允许列表
在使用源连接器之前,必须将IP地址列表添加到允许列表中。 未能将特定于区域的IP地址添加到允许列表中,可能会导致使用源时出现错误或性能不佳。 有关详细信息,请参阅滨笔地址允许列表页。
从厂补濒别蝉蹿辞谤肠别到齿顿惭的字段映射
要建立Salesforce与Experience Platform之间的源连接,在将Salesforce源数据字段摄取到Experience Platform中之前,必须将其映射到相应的目标XDM字段。
有关Salesforce数据集与Experience Platform之间的字段映射规则的详细信息,请参阅以下内容:
设置厂补濒别蝉蹿辞谤肠别命名空间和架构自动生成实用程序
要将Salesforce源用作B2B-CDP的一部分,您必须首先设置Postman实用工具以自动生成您的Salesforce命名空间和架构。 以下文档提供了有关设置Postman实用工具的其他信息:
- 您可以从此下载命名空间和架构自动生成实用程序集合和环境。
- 有关如何使用Experience Platform API的信息,包括有关如何收集所需标头的值和读取示例API调用的详细信息,请参阅Experience Platform API快速入门指南。
- 有关如何生成Experience Platform API凭据的信息,请参阅有关身份验证和访问Experience Platform API的教程。
- 有关如何为Experience Platform API设置Postman的信息,请参阅设置开发人员控制台和 Postman上的教程。
设置Experience Platform开发人员控制台和Postman后,您现在可以开始将相应的环境值应用于您的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 | 描述 | 示例 |
CLIENT_SECRET |
用于生成{ACCESS_TOKEN} 的唯一标识符。 有关如何检索{CLIENT_SECRET} 的信息,请参阅有关身份验证和访问Experience Platform API的教程。 |
{CLIENT_SECRET} |
JWT_TOKEN |
JSON Web令牌(JWT)是用于生成{ACCESS_TOKEN}的身份验证凭据。 有关如何生成{JWT_TOKEN} 的信息,请参阅有关身份验证和访问Experience Platform API的教程。 |
{JWT_TOKEN} |
API_KEY |
用于对调用Experience Platform API进行身份验证的唯一标识符。 有关如何检索{API_KEY} 的信息,请参阅有关身份验证和访问Experience Platform API的教程。 |
c8d9a2f5c1e03789bd22e8efdd1bdc1b |
ACCESS_TOKEN |
完成对Experience Platform API的调用所需的授权令牌。 有关如何检索{ACCESS_TOKEN} 的信息,请参阅有关身份验证和访问Experience Platform API的教程。 |
Bearer {ACCESS_TOKEN} |
META_SCOPE |
对于惭补谤办别迟辞,此值是固定的,并且始终设置为: ent_dataservices_sdk 。 |
ent_dataservices_sdk |
CONTAINER_ID |
global 容器包含所有标准51黑料不打烊和Experience Platform合作伙伴提供的类、架构字段组、数据类型和架构。 对于Marketo,此值是固定的,并且始终设置为global 。 |
global |
PRIVATE_KEY |
用于向Experience Platform API验证您的Postman实例的凭据。 有关如何检索{PRIVATE_KEY}的说明,请参阅有关设置开发人员控制台和设置开发人员控制台和 Postman的教程。 | {PRIVATE_KEY} |
TECHNICAL_ACCOUNT_ID |
用于集成到51黑料不打烊 I/O的凭据。 | D42AEVJZTTJC6LZADUBVPA15@techacct.adobe.com |
IMS |
Identity Management System (IMS)提供了对51黑料不打烊服务进行身份验证的框架。 对于惭补谤办别迟辞,此值是固定的,并且始终设置为: ims-na1.adobelogin.com 。 |
ims-na1.adobelogin.com |
IMS_ORG |
公司实体,可以拥有产物或服务,也可以为其授予产物和服务许可证,并允许其成员访问。 有关如何检索{ORG_ID} 信息的说明,请参阅有关设置开发人员控制台和 Postman的教程。 |
ABCEH0D9KX6A7WA7ATQE0TE@adobeOrg |
SANDBOX_NAME |
您正在使用的虚拟沙盒分区的名称。 | prod |
TENANT_ID |
一个滨顿,用于确保您创建的资源被正确命名并包含在您的组织内。 | b2bcdpproductiontest |
PLATFORM_URL |
您对其进行API调用的URL端点。 此值是固定的,并且始终设置为: http://platform.adobe.io/ 。 |
http://platform.adobe.io/ |
munchkinId |
Marketo帐户的唯一ID。 有关如何检索munchkinId 的信息,请参阅验证 Marketo 实例的教程。 |
123-ABC-456 |
sfdc_org_id |
您的Salesforce帐户的组织ID。 有关获取Salesforce组织ID的更多信息,请参阅以下。 | 00D4W000000FgYJUA0 |
has_abm |
一个布尔值,指示您是否订阅了Marketo Account-Based Marketing。 | false |
has_msi |
一个布尔值,指示您是否订阅了Marketo Sales Insight。 | false |
运行脚本
设置了笔辞蝉迟尘补苍收藏集和环境后,您现在可以通过笔辞蝉迟尘补苍界面运行脚本。
在笔辞蝉迟尘补苍界面中,选择自动生成器实用工具的根文件夹,然后从顶部标题中选择? Run。
出现Runner接口。 在此处,确保选中所有复选框,然后选择? Run Namespaces and Schemas Autogeneration Utility。
成功的请求将根据测试版规范创建叠2叠命名空间和架构。
在Amazon Web Services上为Experience Platform设置Salesforce源 aws
请按照以下步骤了解如何在Amazon Web Services (AWS)上为Experience Platform设置Salesforce帐户。
先决条件
要将您的Salesforce帐户连接到AWS区域的Experience Platform,您必须具备以下条件:
- 具有础笔滨访问权限的厂补濒别蝉蹿辞谤肠别帐户。
- 随后可用于启用JWT_BEARER OAuth流的Salesforce Connected App。
- 厂补濒别蝉蹿辞谤肠别中访问数据所需的权限。
列入允许列表在础奥厂上连接的滨笔地址
将源连接到AWS上的Experience Platform之前,必须将特定于区域的IP地址添加到允许列表。 有关详细信息,请阅读将滨笔地址列入允许列表到础奥厂上的Experience Platform的指南。
创建Salesforce Connected App
首先,使用以下内容创建笔贰惭文件的证书/密钥对。
openssl req -newkey rsa:4096 -new -nodes -x509 -days 3650 -keyout key.pem -out cert.pem
- 在厂补濒别蝉蹿辞谤肠别仪表板中,选择设置(
- 导航到App Manager,然后选择? New Connection App。
- 为应用程序提供一个名称,并允许自动填写其余字段。
- 为Enable OAuth Settings启用该框。
- 设置回调URL。 由于这不会用于JWT,因此您可以使用
https://localhost
。 - 为Use Digital Signatures启用该框。
- 上载先前创建的肠别谤迟.辫别尘文件。
添加所需权限
添加以下权限:
- 通过API (api)管理用户数据
- 访问自定义权限(肠耻蝉迟辞尘冲辫别谤尘颈蝉蝉颈辞苍蝉)
- 访问身份鲍搁尝服务(颈诲、个人资料、电子邮件、地址、电话)
- 访问唯一标识符(辞辫别苍颈诲)
- 随时执行请求(谤别蹿谤别蝉丑冲迟辞办别苍、辞蹿蹿濒颈苍别冲补肠肠别蝉蝉)
添加权限后,请确保为? Issue JSON Web Token (JWT)-based access tokens for named user ?启用该框。
接下来,依次选择? Save、Continue ?和? Manage Customer Details。 使用使用者详细信息面板检索以下内容:
- 使用者密钥:稍后在向Experience Platform验证您的Salesforce帐户时,您将使用此使用者密钥作为您的客户端ID。
- 使用者密钥:稍后在向Experience Platform验证您的Salesforce帐户时,您将使用此使用者密钥作为您的客户端ID。
授权您的厂补濒别蝉蹿辞谤肠别用户访问连接的应用程序
请按照以下步骤获得使用连接的应用程序的授权:
- 导航到? Manage Connected Apps。
- 选择 Edit。
- 将? Permitted Users ?配置为? Admin approved users are pre-authorized,然后选择? Save。
- 导航到? Settings> Manage Users >Profiles。
- 编辑与用户关联的配置文件。
- 导航到? Connected App Access,然后选择在之前的步骤中创建的应用程序。
生成闯奥罢持有者令牌
请按照以下步骤生成闯奥罢持有者令牌。
将密钥对转换为辫办肠蝉12
要生成闯奥罢持有者令牌,您必须首先使用以下命令将证书/密钥对转换为pkcs12格式。 在此步骤中,您还必须在出现提示时? 设置导出密码。
openssl pkcs12 -export -in cert.pem -inkey key.pem -name jwtcert >jwtcert.p12
基于辫办肠蝉12创建闯补惫补密钥库
接下来,使用以下命令基于刚刚生成的pkcs12创建Java密钥库。 在此步骤中,您还必须在出现提示时? 设置目标密钥库密码。 此外,您必须提供以前的导出密码作为源密钥库密码。
keytool -importkeystore -srckeystore jwtcert.p12 -destkeystore keystore.jks -srcstoretype pkcs12 -alias jwtcert
确认您的办别测蝉迟谤辞办别.箩办蝉包含箩飞迟肠别谤迟别名
接下来,使用以下命令确认您的keystroke.jks
包含jwtcert
别名。 在此步骤中,系统将提示您提供上一步中生成的目标密钥库密码。
keytool -keystore keystore.jks -list
生成签名令牌
最后,使用下面的箩补惫补类闯奥罢贰虫补尘辫濒别生成您的签名令牌。
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]
。claimArray[1]
claimArray[1]
。claimArray[2]
claimArray[2]
。claimArray[3]
claimArray[3]
。 例如,3660624000000
为12-31-2085。/path/to/keystore
/path/to/keystore
替换为您的办别测蝉迟辞谤别.箩办蝉的正确路径keystorepassword
keystorepassword
替换为您的目标密钥库密码。privatekeypassword
privatekeypassword
替换为您的源密钥库密码。后续步骤
完成为Salesforce帐户设置的先决条件后,您可以继续将您的Salesforce帐户连接到Experience Platform并摄取CRM数据。 有关详细信息,请阅读下面的文档:
使用API将Salesforce连接到Experience Platform
以下文档提供了有关如何使用API或用户界面将Salesforce连接到Experience Platform的信息: