ユースケース:直接 URL を介した CPQ ネイティブ UI の表示
外部ライブラリの代わりに URL を使用して構成 UI を初期化する方法について説明します。
この記事では、外部ライブラリ (easyXDM など) に依存するのではなく、構成 URL を使用して CPQ 構成 UI を初期化する方法の概要を説明します。
基本構成 URL の形式は https://{tenant}.logik.io/ui/configure/{configurableProductId} です。ここで、次のようになります。
- {tenant} は使用している CPQ テナントで、Salesforce にあるか、ヘッドレスを使用している場合はアドミンエクスペリエンスのベース URL CPQ にあります
- {configurableProductId} は、構成に使用する CPQ 構成可能製品の製品 ID です
構成 URL の例: https://demo6.demo.logik.io/ui/configure/01t5f000006QKynAAG?v=1
構成 URL クエリパラメーター
追加の設定とデータは、URL クエリパラメーターを介して渡すことができます。
| パラメーター | 説明 | 必須 | 値/メモ |
|---|---|---|---|
| v | バージョン | true | 1 |
| pid | 価格ブック ID | Salesforce 価格ブック ID | |
| ID | 構成 ID | ロードする既存の構成のロジック UUID | |
| ふた | 見積依頼明細行 ID | Salesforce 見積依頼明細行 ID | |
| qid | 見積もり ID | Salesforce 見積もり ID | |
| ログ | ログ実行 (flightpath) | なし |利用可能 |アクティブ このパラメーターは大文字と小文字を区別します。 |
|
| cm | コミット済み構成の ID | 契約注文が修正されると、 CPQ は以前の構成 ID を識別します。その ID がコミットされた構成 ID になります。 | |
| フィールド | Fields |
フィールドオブジェクトのアレイ。例: JavaScript では、encodeURI を使用して特殊文字がエスケープされるようにします |
|
| ac | アクションコンテキスト | null または "Amendment" | |
| e | 編集可能性 | 次のいずれかになります。
|
|
| レイアウト | レイアウト変数名 | 構成可能製品の詳細計画からロードするレイアウトの名前 | |
| return | 戻り先 URL | 保存時またはキャンセル時に window.location を設定するための URL。エンコードし、URL セーフにする必要があります | |
| RT | ランタイムトークン | 以下の注意を参照してください | アドミンセットアップからのランタイムトークンCPQ |
| rta | ランタイム API URL |
エンコードされ、URL セーフである必要があります。ランタイムトークンパラメーターを使用する場合は、強くお勧めします。Javascript で encodeURI を使用して、特に API を呼び出すときに特殊文字がエスケープされるようにします。 |
|
| currency | 通貨 ISO コード |
既に (Salesforce 経由または直接) 認証した構成 URL にアクセスしていない場合は、認証にランタイムトークンが必要になります。関連付けられた SFDC 環境を介して認証する前、またはヘッドレス環境の構成 URL にアクセスする前に構成 URL にアクセスする場合は、 CPQ テナント URL を活用するランタイムクライアントの送信元としてリストする必要があります。例: https://<yourLogikUrl>.test.logik.io。
バージョンパラメーターが含まれていない場合、UI はロードされず、「エラー:バージョンを指定する必要があります」というエラーが表示されます。
戻り先 URL が含まれていない場合、UI は保存時に UUID ( {"uuid": "8b88c843-d10b-468b-8c49-17f8c9698799"} など) とキャンセル時に空のオブジェクト ({}) を使用して、親まで postMessage をブロードキャストします。
構成 URL の使用
構成 URL は、トップレベルのウィンドウとして、またはページの iframe で使用できます。
easyXDM の例を使用して構成を初期化する場合とは異なり、構成 URL を使用する場合、構成データは Javascript でブラウザーコンソールに送信されません。
構成 URL をトップレベルのウィンドウ URL として使用する場合の考慮事項:
- 保存またはキャンセルアクションでは、 CPQ UI は CPQ バックエンドを呼び出して構成を保存またはキャンセルします。これらの呼び出しは、ブラウザーの [ネットワーク] タブで表示して、送受信されるデータを確認できます。
- 戻り先 URL が含まれている場合、UI は保存時 (「引用」) 時またはキャンセル時にウィンドウの場所をその URL に設定しようとします。
iframe で設定 URL を使用する際の考慮事項:
- 戻り先 URL が含まれている場合、UI は保存時 (「引用」) 時またはキャンセル時にウィンドウの場所をその URL に設定しようとします。戻り先 URL が含まれていない場合、 CPQ UI は、保存時に UUID (
{"uuid": "8b88c843-d10b-468b-8c49-17f8c9698799"}など)、キャンセル時に空のオブジェクト ({}) を使用して、親まで postMessage をブロードキャストします。 - どちらの実装でも、保存またはキャンセルアクションを実行すると、構成が削除されます。後続の保存アクションでは、「構成 ID が「<Logik UUID>」のテナントのルールエンジンが見つかりません」というエラーメッセージとともに 404 エラーが発生します。その後のキャンセルアクションも 404 エラーになります。
構成結果
保存された構成の結果にアクセスするには、GET API を使用して BOM データを取得します。
構成 API URL を使用した Postman コレクション
結果は、Webhook を介してダウンストリームシステムに送信できます。「Webhook」を参照してください。