Salesforce
Adobe Experience Platform を使用すると、データを外部ソースから取得しながら、Experience Platform サービスを使用して、受信データの構造化、ラベル付け、拡張を行うことができます。アドビのアプリケーション、クラウドベースのストレージ、データベースなど、様々なソースからデータを取り込むことができます。
Experience Platform は、サードパーティの CRM システムからのデータ取り込みをサポートしています。CRM プロバイダーのサポートは Salesforce を含みます。
AzureでExperience PlatformのSalesforce ソースを設定する azure
AzureでExperience PlatformのSalesforce アカウントを設定する方法については、次の手順に従ってください。
AZUREに接続するためのIP アドレスの許可リスト
Azure上のExperience Platformにソースを接続する前に、リージョン固有のIP アドレスを許可リストに追加する必要があります。 地域に固有のIP アドレスをYoutube 許可リストに追加しないと、ソースを使用する際にエラーまたはパフォーマンスが低下する可能性があります。 詳しくは、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
SalesforceからXDMへのフィールドマッピング
SalesforceとExperience Platformの間にソース接続を確立するには、Salesforce ソースデータフィールドをExperience Platformに取り込む前に、適切なターゲット XDM フィールドにマッピングする必要があります。
Salesforce データセットとExperience Platform間のフィールドマッピングルールについて詳しくは、次を参照してください。
Salesforce名前空間とスキーマ自動生成ユーティリティの設定
Salesforce ソースをB2B-CDPの一部として使用するには、まずPostman ユーティリティを設定してSalesforce名前空間とスキーマを自動生成する必要があります。 次のドキュメントでは、Postman ユーティリティの設定に関する追加情報を提供しています。
- 名前空間とスキーマ自動生成ユーティリティのコレクションと環境は、このGitHub リポジトリ からダウンロードできます。
- 必要なヘッダーの値を収集し、サンプル API呼び出しを読み取る方法など、Experience Platform APIの使用方法について詳しくは、Experience Platform APIの概要に関するガイドを参照してください。
- Experience Platform APIの資格情報を生成する方法について詳しくは、Experience Platform APIの認証とアクセス に関するチュートリアルを参照してください。
- Experience Platform API用のPostmanの設定方法について詳しくは、開発者向けコンソールの設定および Postmanに関するチュートリアルを参照してください。
Experience Platform開発者コンソールとPostmanの設定が完了したら、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 | ||
|---|---|---|
| 変数 | 説明 | 例 |
CLIENT_SECRET |
{ACCESS_TOKEN}の生成に使用される一意のID。 の取得方法について詳しくは、Experience Platform APIの認証とアクセス {CLIENT_SECRET}に関するチュートリアルを参照してください。 |
{CLIENT_SECRET} |
JWT_TOKEN |
JSON Web トークン (JWT)は、{ACCESS_TOKEN}の生成に使用される認証資格情報です。 の生成方法について詳しくは、Experience Platform APIの認証とアクセス {JWT_TOKEN}に関するチュートリアルを参照してください。 |
{JWT_TOKEN} |
API_KEY |
Experience Platform APIへの呼び出しを認証するために使用される一意のID。 の取得方法について詳しくは、Experience Platform APIの認証とアクセス {API_KEY}に関するチュートリアルを参照してください。 |
c8d9a2f5c1e03789bd22e8efdd1bdc1b |
ACCESS_TOKEN |
Experience Platform APIへの呼び出しを完了するために必要な認証トークン。 の取得方法について詳しくは、Experience Platform APIの認証とアクセス {ACCESS_TOKEN}に関するチュートリアルを参照してください。 |
Bearer {ACCESS_TOKEN} |
META_SCOPE |
Marketoに関しては、この値は固定され、常にent_dataservices_sdkに設定されます。 |
ent_dataservices_sdk |
CONTAINER_ID |
global コンテナには、標準のAdobeおよびExperience Platform パートナーが提供するすべてのクラス、スキーマフィールドグループ、データタイプ、スキーマが格納されます。 Marketoに関しては、この値は固定され、常にglobalに設定されます。 |
global |
PRIVATE_KEY |
Experience Platform APIに対するPostman インスタンスの認証に使用される資格情報。 の取得方法については、「開発者向けコンソールの設定」および「 Postman開発者向けコンソールの設定」のチュートリアルおよび「{PRIVATE_KEY}」を参照してください。 | {PRIVATE_KEY} |
TECHNICAL_ACCOUNT_ID |
Adobe I/Oへの統合に使用する資格情報。 | D42AEVJZTTJC6LZADUBVPA15@techacct.adobe.com |
IMS |
Identity Management System (IMS)は、Adobe サービスに認証のためのフレームワークを提供します。 Marketoに関しては、この値は固定され、常にims-na1.adobelogin.comに設定されます。 |
ims-na1.adobelogin.com |
IMS_ORG |
製品やサービスを所有またはライセンス供与し、そのメンバーへのアクセスを許可できる法人。 情報の取得方法については、 Postman開発者向けコンソールの設定と{ORG_ID}に関するチュートリアルを参照してください。 |
ABCEH0D9KX6A7WA7ATQE0TE@adobeOrg |
SANDBOX_NAME |
使用している仮想サンドボックスパーティションの名前。 | prod |
TENANT_ID |
作成するリソースが適切な名前空間で構成され、組織内に含まれていることを確認するために使用されるID。 | b2bcdpproductiontest |
PLATFORM_URL |
API呼び出しを行うURL エンドポイント。 この値は固定されており、常にhttp://platform.adobe.io/に設定されます。 |
http://platform.adobe.io/ |
munchkinId |
Marketo アカウントの一意のID。 の取得方法について詳しくは、 Marketo インスタンスの認証に関するチュートリアルを参照してください。munchkinId |
123-ABC-456 |
sfdc_org_id |
Salesforce アカウントの組織ID。 Salesforce 組織IDの取得について詳しくは、次の ガイド Salesforceを参照してください。 | 00D4W000000FgYJUA0 |
has_abm |
Marketo Account-Based Marketingを購読しているかどうかを示すブール値。 | false |
has_msi |
Marketo Sales Insightを購読しているかどうかを示すブール値。 | false |
スクリプトの実行
Postman コレクションと環境を設定したら、Postman インターフェイスを使用してスクリプトを実行できるようになりました。
Postman インターフェイスで、自動生成ユーティリティのルート フォルダーを選択し、上部ヘッダーから Run を選択します。
Runner インターフェイスが表示されます。 ここから、すべてのチェックボックスが選択されていることを確認し、Run Namespaces and Schemas Autogeneration Utilityを選択します。
リクエストが成功すると、ベータ仕様に従ってB2B名前空間とスキーマが作成されます。
Amazon Web ServicesでExperience PlatformのSalesforce ソースを設定する aws
Amazon Web Services (AWS)でExperience PlatformのSalesforce アカウントを設定する方法については、次の手順に従ってください。
前提条件
Salesforce アカウントをAWS リージョンのExperience Platformに接続するには、次の条件を満たす必要があります。
- API アクセスを持つSalesforce アカウント。
- JWT_BEARER OAuth フローを有効にするために使用できるSalesforce Connected Appです。
- データへのアクセスに必要なSalesforceの権限。
AWSでの接続用IP アドレスの許可リストに加える
AWS上のExperience Platformにソースを接続する前に、リージョン固有のIP アドレスを許可リストに追加する必要があります。 詳しくは、AWS上のExperience Platformに接続するためのIP アドレスの許可リストに加えるに関するガイドを参照してください。
Salesforce Connected Appを作成
最初に、以下を使用して、PEM ファイルの証明書/キーペアを作成します。
openssl req -newkey rsa:4096 -new -nodes -x509 -days 3650 -keyout key.pem -out cert.pem
- Salesforce ダッシュボードで、設定(
)を選択し、Setupを選択します。
- App Managerに移動し、New Connection Appを選択します。
- アプリの名前を指定し、残りのフィールドを自動入力できるようにします。
- Enable OAuth Settingsのボックスを有効にします。
- コールバック URLを設定します。 これはJWTには使用されないので、
https://localhostを使用できます。 - Use Digital Signaturesのボックスを有効にします。
- 前に作成したcert.pem ファイルをアップロードします。
必要な権限を追加
次の権限を追加します。
- API (api)によるユーザーデータの管理
- カスタム権限へのアクセス(custom_permissions)
- ID URL サービス(ID、プロファイル、電子メール、アドレス、電話)にアクセスする
- 一意のID (openid)へのアクセス
- いつでもリクエストを実行できます(refresh_token、offline_access)
権限が追加されたら、Issue JSON Web Token (JWT)-based access tokens for named userのボックスを有効にしてください。
次に、Save、Continue、Manage Customer Detailsの順に選択します。 消費者の詳細パネルを使用して、次の情報を取得します。
- コンシューマーキー: Salesforce アカウントをExperience Platformに認証する際に、後でこのコンシューマーキーをクライアント IDとして使用します。
- Consumer secret:後でSalesforce アカウントをExperience Platformに認証する際に、このConsumer secretをクライアント IDとして使用します。
接続されたアプリへのSalesforce ユーザーの認証
以下の手順に従って、Connected Appを使用する認証を取得します。
- Manage Connected Appsに移動します。
- Edit を選択します。
- Permitted Usersを Admin approved users are pre-authorized として設定し、Saveを選択します。
- Settings> Manage Users >Profilesに移動します。
- ユーザーに関連付けられているプロファイルを編集します。
- Connected App Accessに移動し、前の手順で作成したアプリを選択します。
JWT ベアラートークンの生成
JWT ベアラートークンを生成するには、次の手順に従います。
キーペアをpkcs12に変換
JWT ベアラートークンを生成するには、まず次のコマンドを使用して、証明書/キーペアをpkcs12形式に変換する必要があります。 この手順では、プロンプトが表示されたら、書き出しパスワードを設定する必要もあります。
openssl pkcs12 -export -in cert.pem -inkey key.pem -name jwtcert >jwtcert.p12
pkcs12に基づくJava キーストアの作成
次に、次のコマンドを使用して、生成したpkcs12に基づいてJava キーストアを作成します。 この手順では、プロンプトが表示されたら、宛先キーストアパスワードを設定する必要もあります。 さらに、以前の書き出しパスワードをソースキーストアパスワードとして指定する必要があります。
keytool -importkeystore -srckeystore jwtcert.p12 -destkeystore keystore.jks -srcstoretype pkcs12 -alias jwtcert
keystroke.jksにjwtcert エイリアスが含まれていることを確認します
次に、follow コマンドを使用して、keystroke.jksにjwtcert エイリアスが含まれていることを確認します。 この手順では、前の手順で生成した宛先キーストアパスワードを指定するように求められます。
keytool -keystore keystore.jks -list
署名済みトークンを生成
最後に、以下のJava クラス JWTExampleを使用して、署名済みトークンを生成します。
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] ユーザー名でSalesforceを更新します。claimArray[2]claimArray[2]をSalesforce ログイン URLで更新します。claimArray[3]claimArray[3]を更新します。 例えば、3660624000000は12-31-2085です。/path/to/keystore/path/to/keystoreをキーストア.jksへの正しいパスに置き換えますkeystorepasswordkeystorepasswordを宛先キーストアのパスワードに置き換えます。privatekeypasswordprivatekeypasswordをソースキーストアパスワードに置き換えます。次の手順
Salesforce アカウントの前提条件の設定が完了したら、Salesforce アカウントをExperience Platformに接続し、CRM データを取り込みます。 詳しくは、以下のドキュメントを参照してください。
APIを使用してSalesforceをExperience Platformに接続する
以下のドキュメントでは、APIまたはユーザーインターフェイスを使用してSalesforceをExperience Platformに接続する方法について説明します。