トランザクションマネージャー:統合
統合を使用して、Salesforce などのサードパーティソースとデータを交換します。
トランザクションマネージャーで Salesforce などの外部データソースから情報を収集するために、アドミンは統合を作成します。トランザクションマネージャー統合では、データソースに接続し、情報を抽出し、データをトランザクションマネージャーにマッピングするために必要な情報を定義します。統合を使用して、トランザクションマネージャーから情報を抽出し、サードパーティ環境でマッピングするために送信することもできます。
トランザクションマネージャーに対して統合を定義する前に、アドミンは構成環境の外部接続と同様に、まずサードパーティ環境への接続を作成する必要があります。接続は、管理 UI の [ユーティリティ] セクションで定義されます。
接続の作成
統合を定義する前に、アドミンは統合で使用するデータのサードパーティソースへの接続を定義する必要があります。
新しい接続を作成するには、管理 UI の [ユーティリティ] 領域で [接続] をクリックします。次に、[ + 新規] をクリックして [新しい接続] ページを表示します。
[新しい接続] ページで、新しい接続に名前を付け、変数名を割り当てます。次に、統合タイプ (Salesforce または外部) を選択します。
Salesforce への接続を作成する場合、他のフィールドは必要ありません。 CPQ 認証方法と、Salesforce との通信に必要なエンドポイントを把握しています。
外部統合を作成する場合は、認証タイプを選択します。サポートされている認証方法は、[なし]、[ベアラートークン]、および [OAuth] です。[ベアラートークン] を選択した場合は、[認証トークン] フィールドを使用して、通信しているサイトのベアラートークンを指定します。OAuth を選択した場合は、[クライアント ID]、[クライアントシークレット]、および [トークン URL] フィールドを使用して必要な OAuth 情報を指定します。
[ホスト] フィールドに、通信するサードパーティサイトへの URL を入力します。
[パス] フィールドに、サードパーティサイトでアクセスしようとしているエンドポイントへのパスを入力します。
[追加ヘッダー] フィールドを使用して、目的のエンドポイントを実行するためにサードパーティサイトで必要なヘッダー情報を追加します。
統合の作成
新しい統合を作成するには、[ + 統合を追加] をクリックします。[新規統合] ウィンドウが表示されます。新しい統合に名前と変数名を付け、[ 保存] をクリックします。
[統合エディター] ページが開きます。次の設定を構成して、新しい統合の定義を続行します。
- HTTP メソッド:サードパーティサイトで使用しているエンドポイントに応じて、GET、POST、PATCH、PUT、または DELETE 操作を実行できます。
- 含める品目の詳細:統合で扱う品目のタイプを定義します。オプションは、[選択した行]、[変更された行]、および [削除された行] です。
- 追加パス:サードパーティサイトで実行するクエリコマンドを入力します。Salesforceに接続している場合、これはおそらくSOQLクエリになります。他のプラットフォームでは、標準の SQL クエリーである場合があります。
- タイムアウト:要求がエラーを宣言する前に応答を待機する時間 (ミリ秒) を定義します。
- 非同期:この切り替えを使用すると、ユーザーが作業を続行できるように、バックグラウンドでクエリを非同期に実行できます。
- ヘッダー:単純なハンドルバー構文を使用して、ヘッダーレベルのトランザクションマネージャーフィールドで静的テキストを使用したり、ヘッダーのキーと値のペアを設定したり、両方の方法を組み合わせたりすることができます。
{{txn.fieldname}}
次に、エンドポイントへの接続を定義する必要があります。ここでは、以前に [ユーティリティ] 領域で作成した接続のリストから選択して、この統合の接続先のサードパーティサイトを定義します。
最後に、変換テンプレートを定義する必要があります。これにより、サードパーティデータを CPQ フィールドにマッピングしたり、 CPQ データをサードパーティのデータソースフィールドにマッピングしたりできます。
次の例のように、JSON を使用してマッピングを定義します。
{
"fields": [
{
"variableName": "txn.custom.tXNNumber",
"value": "{{#each records}}{{Name}}{{/each}}"
},
{
"variableName": "txn.opportunity.id",
"value": "{{#eachrecords}}{{LGK__OpportunityId__c}} {{/each}}"
},
{
"variableName": "txn.custom.primaryContact",
"value": "{{#eachrecords}}{{Contact.FirstName}}{{/each}}"
}
]
}
この例では、Salesforce サイトから抽出された Salesforce データに Mustache 構文を使用します。各フィールドマッピングには、抽出されたデータを受け取る CPQ フィールドの変数名と、その後にデータが抽出された Salesforce フィールドを識別する値が含まれます。#eachredords と /each の命名法は、クエリ応答内の各レコードで、テンプレート内の 3 つのフィールド値のそれぞれが検索されることを示します。
[サンプルリターンデータ] 領域と [変換結果] 領域を使用して、機能していない統合のトラブルシューティングを行うことができます。クエリ応答を表示してコピーできる Postman などのツールでクエリを実行する場合は、クエリ応答を [サンプル応答データ] 領域に貼り付け、[変換テンプレート] 領域の下にある [ 変換の実行 ] をクリックできます。クエリー応答データは定義された変換テンプレートを介して実行され、変換の結果が [変換結果] 領域に表示されます。