Flow Service API を使用した Salesforce のExperience Platformへの接続
作成対象:
- 開発者
Flow Service API を使用して Salesforce ソースアカウントをAdobe Experience Platformに接続する方法については、このガイドを参照してください。
はじめに
このガイドでは、Adobe Experience Platform の次のコンポーネントに関する十分な知識が必要です。
Experience Platform API の使用
Experience Platform API を正常に呼び出す方法について詳しくは、Experience Platform API の概要を参照してください。
Salesforce を Azure のExperience Platformに接続
Salesforce ソースを Azure 上のExperience Platformに接続する方法については、以下の手順を参照してください。
必要な資格情報の収集
Salesforce ソースは、基本認証と OAuth2 クライアント資格情報をサポートしています。
基本認証を使用して Salesforce アカウントを Flow Service に接続するには、次の資格情報の値を指定します。
資格情報 | 説明 |
---|---|
environmentUrl | Salesforce ソースインスタンスの URL。 environmentUrl の形式は https://[domain].my.salesforce.com です。 |
username | Salesforce ユーザーアカウントのユーザー名。 |
password | Salesforce ユーザーアカウントのパスワード。 |
securityToken | Salesforce ユーザーアカウントのセキュリティ トークン。 |
apiVersion | (オプション)使用している Salesforce インスタンスの REST API バージョン。 API バージョンの値は、10 進数でフォーマットする必要があります。 例えば、API バージョン 52 を使用している場合、値を 52.0 と入力する必要があります。 このフィールドを空白のままにすると、Experience Platformでは使用可能な最新バージョンが自動的に使用されます。 |
connectionSpec.id | 接続仕様は、ベース接続とソース接続の作成に関連する認証仕様などの、ソースのコネクタプロパティを返します。Salesforce の接続仕様 ID は cfc0fee1-7dc0-40ef-b73e-d8b134c436f5 です。 |
基本について詳しくは、 このSalesforceのドキュメントを参照してください。
OAuth 2 クライアント資格情報を使用して Salesforce アカウントを Flow Service に接続するには、次の資格情報の値を指定します。
資格情報 | 説明 |
---|---|
environmentUrl | Salesforce ソースインスタンスの URL。 environmentUrl の形式は https://[domain].my.salesforce.com です |
clientId | クライアント ID は、OAuth2 認証の一部として、クライアント秘密鍵と並行して使用されます。 クライアント ID とクライアント秘密鍵を一緒に使用すると、Salesforce ーザー先のアプリケーションを識別することにより、お客様のアカウントに代わってアプリケーションが動作することができます。 |
clientSecret | クライアントの秘密鍵は、クライアント ID と並行して、OAuth2 認証の一部として使用されます。 クライアント ID とクライアント秘密鍵を一緒に使用すると、Salesforce ーザー先のアプリケーションを識別することにより、お客様のアカウントに代わってアプリケーションが動作することができます。 |
apiVersion | 使用している Salesforce インスタンスの REST API バージョン。 API バージョンの値は、10 進数でフォーマットする必要があります。 例えば、API バージョン 52 を使用している場合、値を 52.0 と入力する必要があります。 このフィールドを空白のままにすると、Experience Platformでは使用可能な最新バージョンが自動的に使用されます。 この値は、OAuth2 クライアント資格情報認証に必須です。 |
connectionSpec.id | 接続仕様は、ベース接続とソース接続の作成に関連する認証仕様などの、ソースのコネクタプロパティを返します。Salesforce の接続仕様 ID は cfc0fee1-7dc0-40ef-b73e-d8b134c436f5 です。 |
Salesforce に対する OAuth の使用について詳しくは、Salesforce OAuth 認証フローのガイドを参照してください。
Azure のExperience Platformで Salesforce のベース接続を作成します。
ベース接続は、ソースとExperience Platform間の情報(ソースの認証資格情報、現在の接続状況、一意のベース接続 ID など)を保持します。 ベース接続 ID により、ソース内からファイルを参照および移動し、データタイプやフォーマットに関する情報を含む、取り込みたい特定の項目を識別することができます。
ベース接続を作成し、Salesforce アカウントを Azure 上のExperience Platformに接続するには、/connections
エンドポイントに対して POST リクエストを実行し、リクエスト本文に Salesforce 認証資格情報を指定します。
API 形式
POST /connections
次のリクエストは、基本認証を使用して Salesforce のベース接続を作成します。
curl -X POST \
'https://platform.adobe.io/data/foundation/flowservice/connections' \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-sandbox-name: {SANDBOX_NAME}' \
-H 'Content-Type: application/json' \
-d '{
"name": "ACME Salesforce account",
"description": "Salesforce account using basic authentication",
"auth": {
"specName": "Basic Authentication",
"params":
"environmentUrl": "https://acme-enterprise-3126.my.salesforce.com",
"username": "acme-salesforce",
"password": "xxxx",
"securityToken": "xxxx"
}
},
"connectionSpec": {
"id": "cfc0fee1-7dc0-40ef-b73e-d8b134c436f5",
"version": "1.0"
}
}'
auth.params.environmentUrl
auth.params.username
auth.params.password
auth.params.securityToken
connectionSpec.id
cfc0fee1-7dc0-40ef-b73e-d8b134c436f5
。正常な応答では、新しく作成したベース接続と、一意の ID が返されます。
{
"id": "4cb0c374-d3bb-4557-b139-5712880adc55",
"etag": "\"1700df7b-0000-0200-0000-5e3b424f0000\""
}
次のリクエストは、OAuth 2 クライアント資格情報を使用して、Salesforce のベース接続を作成します。
curl -X POST \
'https://platform.adobe.io/data/foundation/flowservice/connections' \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-sandbox-name: {SANDBOX_NAME}' \
-H 'Content-Type: application/json' \
-d '{
"name": "ACME Salesforce account",
"description": "Salesforce account using OAuth 2",
"auth": {
"specName": "OAuth2 Client Credential",
"params":
"environmentUrl": "https://acme-enterprise-3126.my.salesforce.com",
"clientId": "xxxx",
"clientSecret": "xxxx",
"apiVersion": "60.0"
}
},
"connectionSpec": {
"id": "cfc0fee1-7dc0-40ef-b73e-d8b134c436f5",
"version": "1.0"
}
}'
auth.params.environmentUrl
auth.params.clientId
auth.params.clientSecret
auth.params.apiVersion
connectionSpec.id
cfc0fee1-7dc0-40ef-b73e-d8b134c436f5
。正常な応答では、新しく作成したベース接続と、一意の ID が返されます。
{
"id": "4cb0c374-d3bb-4557-b139-5712880adc55",
"etag": "\"1700df7b-0000-0200-0000-5e3b424f0000\""
}
Experience Platform on Amazon Web Services(AWS)への Salesforce の接続
Salesforce ソースをAWS上のExperience Platformに接続する方法については、以下の手順を参照してください。
前提条件
AWS上のExperience Platformに接続できるように Salesforce アカウントを設定する方法については、Salesforce 概要を参照してください。
AWS上のExperience Platformに Salesforce のベース接続を作成する
ベース接続を作成し、Salesforce アカウントをAWS上のExperience Platformに接続するには、/connections
エンドポイントに対して POST リクエストを実行し、資格情報の適切な値を指定します。
API 形式
POST /connections
リクエスト
次のリクエストは、AWS上のExperience Platformに Salesforce ソースのベース接続を作成します。
curl -X POST \
'https://platform.adobe.io/data/foundation/flowservice/connections' \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'Content-Type: application/json' \
-d '{
"name": "ACME Salesforce account on AWS",
"description": "ACME Salesforce account on AWS",
"auth": {
"specName": "OAuth2 JWT Token Credential",
"params":
"jwtToken": "{JWT_TOKEN},
"clientId": "xxxx",
"clientSecret": "xxxx",
"instanceUrl": "https://acme-enterprise-3126.my.salesforce.com"
}
},
"connectionSpec": {
"id": "cfc0fee1-7dc0-40ef-b73e-d8b134c436f5",
"version": "1.0"
}
}'
Salesforce jwtToken
の取得方法について詳しくは、AWS上のExperience Platformに接続するソースの設定方法に関するガイドを参 Salesforce してください。
応答
正常な応答では、新しく作成したベース接続と、一意の ID が返されます。
{
"id": "3e908d3f-c390-482b-9f44-43d3d4f2eb82",
"etag": "\"1700df7b-0000-0200-0000-5e3b424f0000\""
}
接続ステータスの確認
接続ステータスを確認するには、/connections
エンドポイントに対してGET リクエストを行い、作成手順で生成されたベース接続 ID を指定します。
API 形式
GET /connections
リクエスト
次のリクエストは、ベース接続 ID 3e908d3f-c390-482b-9f44-43d3d4f2eb82
の情報を取得します。
curl -X GET \
'https://platform.adobe.io/data/foundation/flowservice/connections/3e908d3f-c390-482b-9f44-43d3d4f2eb82' \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'Content-Type: application/json' \
応答
次の応答では、initializing
状態の間にベース接続 ID 3e908d3f-c390-482b-9f44-43d3d4f2eb82
の情報が表示されます。
{
"items": [
{
"id": "3e908d3f-c390-482b-9f44-43d3d4f2eb82",
"createdAt": 1736506325115,
"updatedAt": 1736506325717,
"createdBy": "acme@techacct.adobe.com",
"updatedBy": "acme@techacct.adobe.com",
"createdClient": "{CREATED_CLIENT}",
"updatedClient": "{UPDATED_CLIENT}",
"sandboxId": "{SANDBOX_ID}",
"sandboxName": "{SANDBOX_NAME}",
"imsOrgId": "{ORG_ID}",
"name": "JWT Token Auth Authentication E2E-1736506322",
"description": "Base Connection for salesforce E2E",
"connectionSpec": {
"id": "cfc0fee1-7dc0-40ef-b73e-d8b134c436f5",
"version": "1.0"
},
"state": "initializing",
"auth": {
"specName": "OAuth2 JWT Token Credential",
"params": {
"jwtToken": "{JWT_TOKEN}",
"clientId": "{CLIENT_ID}",
"clientSecret": "{CLIENT_SECRET}",
"instanceUrl": "https://acme-enterprise-3126.my.salesforce.com"
}
}
}
}
]
次の応答では、enabled
状態の間にベース接続 ID 3e908d3f-c390-482b-9f44-43d3d4f2eb82
の情報が表示されます。
{
"items": [
{
"id": "3e908d3f-c390-482b-9f44-43d3d4f2eb82",
"createdAt": 1736506325115,
"updatedAt": 1736506413299,
"createdBy": "acme@techacct.adobe.com",
"updatedBy": "acme@AdobeID",
"createdClient": "{CREATED_CLIENT}",
"updatedClient": "acme",
"sandboxId": "{SANDBOX_ID}",
"sandboxName": "{SANDBOX_NAME}",
"imsOrgId": "{ORG_ID}",
"name": "JWT Token Auth Authentication E2E-1736506322",
"description": "Base Connection for salesforce E2E",
"connectionSpec": {
"id": "cfc0fee1-7dc0-40ef-b73e-d8b134c436f5",
"version": "1.0"
},
"state": "enabled",
"auth": {
"specName": "OAuth2 JWT Token Credential",
"params": {
"jwtToken": "{JWT_TOKEN}",
"clientId": "{CLIENT_ID}",
"clientSecret": "{CLIENT_SECRET}",
"instanceUrl": "https://adb8-dev-ed.develop.my.salesforce.com",
"orgId": "00DdL000001iPRxUAM"
}
},
"version": "\"6d27f305-40be-41c3-97d4-a701827c34df\"",
"etag": "\"6d27f305-40be-41c3-97d4-a701827c34df\""
}
]
}
次の手順
このチュートリアルでは、Flow Service API を使用して Salesforce ベース接続を作成しました。このベース接続 ID は、次のチュートリアルで使用できます。