CPQ 再構成 API
CPQ 再構成 API は、CPQ サービスをヘッドレスで呼び出して見積もりバンドルを再構成します。
CPQ 再構成 API は、CPQ サービスをヘッドレスで呼び出すカスタム Salesforce API です。RFQ とは異なり、この API は既存の見積もりバンドルを再構成するために使用されます。
必須条件
ランタイムクライアントトークンは、Salesforce の [アドミンカスタム設定] ページで設定する必要があります。トークンには、 CPQ URL と一致する作成元を含める必要があります。末尾にスラッシュ (/) 文字を含めることはできません。
ランタイム設定 URL は、[アドミンカスタム設定] ページでも設定する必要があります。ほとんどの場合、これは同じページ上の管理 URL と一致する必要があります。
Salesforce セットアップで、[セキュリティ] に移動し、次に [リモートサイト設定] に移動します。CPQドメインを URL として新しいリモートサイトを追加します。
API の詳細
エンドポイント: /services/apexrest/LGK/cpq-quote-lines/reconfigure
メソッド: application/json を受信して返します。
PATCH:このメソッドは現在、 configurationId と configurableQuoteLineId の 2 つのフィールドのみをサポートしています。
応答:見積 (SBQQ__Q__c) レコード。
要求の例:
{
"configurationId":"86ec190e-cba8-4b1d-a2dc-ba47714a22b5",
"configurableQuoteLineId":"a137d00000977oWAAQ"
}
応答例:
{
"attributes": {
"type": "SBQQ__Quote__c",
"url": "/services/data/v56.0/sobjects/SBQQ__Quote__c/a0zR0000003f3GLIAY"
},
"Name": "Q-00090",
"Id": "a0zR0000003f3GLIAY",
"SBQQ__LineItemCount__c": 4,
"SBQQ__LineItems__r": {
"totalSize": 4,
"done": true,
"records": [
{
"attributes": {
"type": "SBQQ__QuoteLine__c",
"url": "/services/data/v56.0/sobjects/SBQQ__QuoteLine__c/a0vR0000005LPRxIAO"
},
"SBQQ__Quote__c": "a0zR0000003f3GLIAY",
"Id": "a0vR0000005LPRxIAO",
"Name": "QL-0000122",
"SBQQ__ProductName__c": "LGK Machine"
},
{
"attributes": {
"type": "SBQQ__QuoteLine__c",
"url": "/services/data/v56.0/sobjects/SBQQ__QuoteLine__c/a0vR0000005LPRyIAO"
},
"SBQQ__Quote__c": "a0zR0000003f3GLIAY",
"Id": "a0vR0000005LPRyIAO",
"Name": "QL-0000123",
"SBQQ__ProductName__c": "Analytics Software"
},
{
"attributes": {
"type": "SBQQ__QuoteLine__c",
"url": "/services/data/v56.0/sobjects/SBQQ__QuoteLine__c/a0vR0000005LPS2IAO"
},
"SBQQ__Quote__c": "a0zR0000003f3GLIAY",
"Id": "a0vR0000005LPS2IAO",
"Name": "QL-0000124",
"SBQQ__ProductName__c": "Extended Warranty"
},
{
"attributes": {
"type": "SBQQ__QuoteLine__c",
"url": "/services/data/v56.0/sobjects/SBQQ__QuoteLine__c/a0vR0000005LPS3IAO"
},
"SBQQ__Quote__c": "a0zR0000003f3GLIAY",
"Id": "a0vR0000005LPS3IAO",
"Name": "QL-0000125",
"SBQQ__ProductName__c": "Scanner"
}
]
},
"SBQQ__Type__c": "Quote"
}
要求は Apex から直接行うことができます。引数は、REST API で使用されるものと同じフィールドを持つ Map<String,Object> です。例:
Map<String, Object> requestBody = new Map<String, Object>{
'configurableQuoteLineId' => '01t8a000005hldvAAA',
'configurationId' => '79a3ffdd-7dd0-41f6-8700-4bd7506407c7'
};
String result = LGK.CpqReconfigureApiController.reconfigure(requestBody);
応答は、引用オブジェクトを表す JSON 形式の文字列で、REST API の応答に類似しています。
カスタムフィールドマッピング
Salesforce の見積品目オブジェクトのフィールドの名前が一致する場合、CPQ製品の拡張情報または価格設定情報からカスタム値を書き込むことができます。