Flow Service API を使用した Salesforce ベース接続の作成

ベース接続は、ソースと Adobe Experience Platform 間の認証済み接続を表します。

このチュートリアルでは、Flow Service API を使用して、Salesforce のベース接続を作成する手順を説明します。

はじめに

このガイドでは、Adobe Experience Platform の次のコンポーネントに関する十分な知識が必要です。

  • ソース:Experience Platform を使用すると、データを様々なソースから取得しながら、Platform サービスを使用して受信データの構造化、ラベル付け、拡張を行うことができます。
  • サンドボックス:Experience Platform には、単一の Platform インスタンスを別々の仮想環境に分割して、デジタルエクスペリエンスアプリケーションの開発と発展に役立つ仮想サンドボックスが用意されています。

次の節では、Flow Service API を使用して Salesforce アカウントに正しく接続するために必要 Platform 追加情報を示しています。

必要な資格情報の収集

Salesforce ソースは、基本認証と OAuth2 クライアント資格情報をサポートしています。

基本認証

基本認証を使用して Salesforce アカウントを Flow Service に接続するには、次の資格情報の値を指定します。

table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 5-row-2 6-row-2
資格情報 説明
environmentUrl Salesforce ソースインスタンスの URL。
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 クライアント資格情報

OAuth 2 クライアント資格情報を使用して Salesforce アカウントを Flow Service に接続するには、次の資格情報の値を指定します。

table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 5-row-2
資格情報 説明
environmentUrl Salesforce ソースインスタンスの URL。
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 認証フローのガイドを参照してください。

Platform API の使用

Platform API への呼び出しを正常に実行する方法について詳しくは、Platform API の概要を参照してください。

ベース接続の作成

ベース接続は、ソースと Platform 間の情報(ソースの認証資格情報、現在の接続状態、固有のベース接続 ID など)を保持します。ベース接続 ID により、ソース内からファイルを参照および移動し、データタイプやフォーマットに関する情報を含む、取り込みたい特定の項目を識別することができます。

ベース接続 ID を作成するには、/connections エンドポイントに対してPOSTリクエストを実行し、リクエスト本文に Salesforce 認証資格情報を指定します。

API 形式

POST /connections

リクエスト

基本認証

次のリクエストは、基本認証を使用して Salesforce のベース接続を作成します。

code language-shell
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"
      }
  }'
table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 5-row-2
プロパティ 説明
auth.params.environmentUrl Salesforce インスタンスの URL。
auth.params.username Salesforce アカウントに関連付けられたユーザー名。
auth.params.password Salesforce アカウントに関連付けられたパスワード。
auth.params.securityToken Salesforce アカウントに関連付けられたセキュリティトークン。
connectionSpec.id Salesforce 接続仕様 ID: cfc0fee1-7dc0-40ef-b73e-d8b134c436f5
OAuth 2 クライアント資格情報

次のリクエストは、OAuth 2 クライアント資格情報を使用して、Salesforce のベース接続を作成します。

code language-shell
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"
      }
  }'
table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 5-row-2
プロパティ 説明
auth.params.environmentUrl Salesforce インスタンスの URL。
auth.params.clientId Salesforce アカウントに関連付けられたクライアント ID。
auth.params.clientSecret Salesforce アカウントに関連付けられたクライアントの秘密鍵。
auth.params.apiVersion 使用している Salesforce インスタンスの REST API バージョン。
connectionSpec.id Salesforce 接続仕様 ID: cfc0fee1-7dc0-40ef-b73e-d8b134c436f5

応答

正常な応答では、新しく作成したベース接続と、一意の ID が返されます。

{
    "id": "4cb0c374-d3bb-4557-b139-5712880adc55",
    "etag": "\"1700df7b-0000-0200-0000-5e3b424f0000\""
}

次の手順

このチュートリアルでは、Flow Service API を使用して Salesforce ベース接続を作成しました。このベース接続 ID は、次のチュートリアルで使用できます。

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