トランザクションマネージャー:統合:GET
GET 統合を使用して、Salesforce などのサードパーティアプリケーションからデータにアクセスする方法について説明します。
この記事では、Salesforce 機会 ID と、アカウント名、機会名、出荷先、請求先住所などのトランザクションの詳細を取得し、それらをトランザクションフィールドに書き込む方法 CPQ 説明します。このパターンは、 CPQ がサードパーティからデータを要求する必要がある統合に関連しています。
目標:エンドユーザー (バイサイド) フロー
まず、Salesforce でトランザクション マネージャー トランザクションを開きます。次に、バイサイド UI で [SF データの取得 ] をクリックして、[SF データの取得] イベントをトリガーします。このイベントは、Salesforce に接続するいくつかの統合を開始し、関連するトランザクションデータ (機会 ID、機会名、出荷先住所、請求先住所、アカウント ID、アカウント名) を抽出し、バイサイド UI の対応するフィールドに入力します。
バイサイド取引UIで、[ SFデータの取得]をクリックします。
詳細がすべて入力されていることを確認します。
この記事の残りの部分では、Salesforce からデータを取得する統合を作成する手順を CPQ で説明します。
管理セットアップ:前提条件
このガイドでは、トランザクションマネージャー機能が有効になっている CPQ 環境と、対応する Salesforce 環境に Logik Transaction Manager Integration Extension がインストールされていることを前提としています。インストール手順を表示するには、「 Salesforce Transaction Manager Integration Package 拡張機能のインストール」を参照してください。
CPQ:接続の追加
接続レコードには、トランザクションマネージャー統合を開始するために必要なデータが含まれています。これには、認証の詳細、ホスト URL、パス、およびヘッダーが含まれます。接続レコードを表示するには、 CPQ アドミンで [ユーティリティ] に移動し、[ 接続] をクリックします。
接続の追加の詳細については、「 トランザクションマネージャー:統合」の「接続の作成」セクションを参照してください。この記事では、Salesforce 環境への接続を使用します。
CPQ:統合を追加
- CPQアドミンを開き、[統合] セクションに移動します。
- [統合を追加] をクリックします。任意の適切な名前を使用して新しい統合を作成します。この例では、「Get Oppty Id」という名前を使用しています。上記の統合の詳細ページには、次のセクションが含まれています。
- 統合設定
- 変換を要求
- エンドポイントへの接続
- 応答変換
これらのセクションの詳細については、以下を参照してください。
- 統合設定:
- HTTP メソッド:GET
- パス: /services/data/vXX.X/query/?q=SELECT+Name,+LGK__OpportunityId__c FROM+LGK__Transaction__c+WHERE+LGK__ID__c='{{txn.id}}'
GET 要求は、Salesforce の LGK__Transaction__c オブジェクトからNameフィールドとLGK__OpportunityId__cフィールドを取得し、LGK__ID__cフィールドのトランザクション ID「txn.id」でフィルタリングします。
パスでは、 <vXX.X> が最新の複合グラフバージョンです。最新バージョンは こちらで確認できます。
- 含める品目の詳細:選択した明細
- タイムアウト:2000 ミリ秒
[次へ (Next)] をクリックします。
- 変換を要求:GET 統合を構築するときには必要ありません。
- エンドポイントへの接続:この例では、 Salesforceにクエリを行っています。別のシステムとの統合を設定する場合は、適切な接続を選択します。
[次へ (Next)] をクリックします。
- 応答変換:このサンプル応答変換テンプレートを参照してください。
{ "fields": [ { "variableName": "txn.custom.tXNNumber", "value": "{{#each records}}{{Name}}{{/each}}" }, { "variableName": "txn.opportunity.id", "value": "{{#each records}}{{LGK__OpportunityId__c}}{{/each}}" } ] }
新しい統合:機会の詳細を取得
別の統合を作成して、 txn.opportunity.idを通じて詳細を取得します。
機会 ID がわかったので、統合の次のステップでは、それを参照として使用して、機会から追加の詳細を取得し、関連する LGK トランザクションフィールドに入力します。
- 統合設定:
- HTTP メソッド:GET
- パス:
GET /services/data/vXX.X/query?q=SELECT Id,Name,Owner.Username,AccountId,Account.Name,Account.BillingAddress,Account.ShippingAddress FROM 機会 ID = '{{txn.opportunity.id}}'このクエリーは、オポチュニティの一意の ID に基づいて、Salesforce のオポチュニティレコードからフィールドを取得します。また、アカウントの名前、請求先住所、出荷先住所など、関連するアカウントの詳細も取得します。このクエリは、 {{txn.opportunity.id}}で識別される特定のオポチュニティのデータを返します。
Salesforce からフィールドの詳細を取得するには、次をクリックします .
- 含める品目の詳細:選択した明細
- タイムアウト:2000 ミリ秒
[次へ (Next)] をクリックします。
- 変換の要求:GET 統合のビルド時には必要ありません。
- エンドポイントへの接続:
[ エンドポイントへの接続] を選択します。この例では、Salesforce にクエリしています。別のシステムとの統合を設定する場合は、適切な接続を選択します。
[次へ (Next)] をクリックします。
- 応答変換:次の JSON スニペットは、
レコードのコレクションを反復処理して、追加パスで定義された変数を設定する方法を定義しています。txn.custom.opportunityの場合は各レコードからNameフィールドを抽出し、txn.custom.billToAddressの場合はAccount.BillingAddress.street,Account.BillingAddress.city,Account.BillingAddress.state,Account.BillingAddress.postalCodeフィールドを抽出して連結します。Handlebars {{#each}} ループは各レコードの処理に使用され、結果の値は、連結された文字列または値の配列のいずれかとしてシステムの処理に依存します。
{ "fields": [ { "variableName": "txn.custom.opportunity", "value": "{{#each records}}{{Name}}{{/each}}" }, { "variableName": "txn.account.id", "value": "{{#each records}}{{AccountId}}{{/each}}" }, { "variableName": "txn.custom.accountName", "value": "{{#each records}}{{Account.Name}}{{/each}}" }, { "variableName": "txn.custom.quoteNumber", "value": "{{#each records}}{{QuoteNumber}}{{/each}}" }, { "variableName": "txn.custom.billToAddress", "value": "{{records.[0].Account.BillingAddress.street}}{{records.[0].Account.BillingAddress.city}}{{records.[0].Account.BillingAddress.state}}{{records.[0].Account.BillingAddress.postalCode}}" }, { "variableName": "txn.custom.shipToAddress", "value": "{{records.[0].Account.ShippingAddress.street}}{{records.[0].Account.ShippingAddress.city}}{{records.[0].Account.ShippingAddress.state}}{{records.[0].Account.ShippingAddress.postalCode}}" } ] }
エンドユーザーがボタンをクリックしたときに統合をトリガーします。[ イベント] をクリックして、新しいイベントを作成したり、既存のイベントを選択したりできるようになりました。ここでは、Get SF Data イベント (UI のボタン) を使用して、以前に作成した統合に接続します。
[ 新しいアクションを追加] をクリックします。
[ 統合] をクリックします。
「Get Oppty Id」統合を検索して追加します。
[保存] をクリックします。次に、[ 新しいアクションを追加] をクリックし、「retrieveSFOptyData」を追加します。
アクションアイテムの横にある上下の矢印をクリックして、目的の順序に配置します。(ここでは、[Get Oppty Id] を選択し、続いて [Retrieve SF Opty Data] を選択して、機会 ID をフェッチし、関連データを取得します)。
[ 保存] をクリックし、変更を展開します。
統合をイベントに追加する方法について説明しました。統合はステージレベルで構成することもできます。これを行うには、次の場所に移動します .
トラブルシューティング
統合を構成するときは、正確な詳細を取得するために、統合のシーケンスが正しく設定されていることを確認することが重要です。実行順序は、データの一貫性と整合性を維持する上で重要な役割を果たします。
これを行うには、次の手順を実行します。
- 機会 ID をフェッチする:機会 ID は、関連データをリンクするための主要な参照として機能します。後で取得するトランザクションの詳細は特定の機会に直接関連付けられているため、このステップは不可欠です。
- 機会の詳細からトランザクション ID をフェッチする:機会 ID を使用してトランザクション ID をフェッチします。各取引は特定の営業案件にリンクされているため、このアプローチにより、正しい取引を対応する営業案件に正確に関連付けることができます。
この順序に従うことで、統合の整合性を維持し、データフローのシームレスで信頼性の高い状態を維持できます。