Skip to main content
3 月 5 日~ 6 日にサンフランシスコで開催される TDX (Salesforce+ でも配信) で「Developer Conference for the AI Agent Era (AI エージェント時代に向けた開発者向けカンファレンス)」にぜひご参加ください。お申し込みはこちら

CPQ Cart API の使用開始

学習の目的

この単元を完了すると、次のことができるようになります。

  • 基本的なカートベースの API とそれぞれの機能を列挙する。
  • CPQ カートが API から FlexCard LWC にデータを渡す仕組みを説明する。
  • 基本的な統合手順と使用する API を列挙する。

カートベースの API の概要

Industries CPQ のカートベースの API は、CPQ アプリケーションユーザーが商品およびサービスを閲覧、設定、管理、注文できるようにします。これらの API は、CPQ クライアントアプリケーションを支える中核的な技術レイヤーを形成し、商品デザイナーの CPQ ビジネスロジックの設定とは独立して動作します。 

基本的なカートベースの API

カートベースの API は数多くありますが、一般的に使用される基本的な API について説明します。カートベースの API とその機能を以下に示します。

API 参照名 機能

Create Cart (カートを作成)

商談、注文、または見積を作成します。

Get List of Products (商品リストを取得) 

指定した条件と一致する商品のリストを返します。

Get Cart Items (カート品目を取得) 

指定されたカートに入っている品目の情報を取得します。 

Add Item(s) to a Cart (カートに品目を追加)

指定されたカートに 1 つ以上の品目を追加します。

Update Item Attributes (品目属性を更新)

指定されたカートに入っている 1 つ以上の品目を更新します。 

Remove Item(s) from a Cart (カートから品目を削除) 

指定されたカートから 1 つ以上の品目を削除します。

Checkout Items in the Cart (カートの品目をチェックアウト)

カートの品目をチェックアウトします。

各 API は、ビジネスニーズに合わせて設定できます。これらの API の詳細については、Salesforce ヘルプ記事の「Industries CPQ のカートベースの API」を参照してください。 

Integration Procedure で CPQ カートを強化

Integration Procedure は、1 回のサーバーコールで複数のアクションを実行する宣言型のサーバー側プロセスです。Integration Procedure は、FlexCard から呼び出すことも、FlexCard のデータソースとして使用することもできます。

また、Industries CPQ で特定の設定をサポートするために SDK と Integration Procedure を使用してカートベースの API を抽象化することもあります。Integration Procedure は、Apex を使用して API コールに対応するリモートメソッドを実行します。そして、応答ををさまざまな CPQ FlexCard に渡します。

CPQ カートがデータを受信する方法

FlexCard データソース種別レコードによって、FlexCard がデータを取得する方法が決定されます。共有カタログ、ユーザー、Salesforce オブジェクト (取引先など) の間で CPQ カート FlexCard がデータを転送する方法は 2 つあります。1 つ目の方法では、CPQ FlexCard がデータソースとして Integration Procedure を使用します。一般に、すべての Get API コールとカート API に関連しないコールのデータは、この方法で処理されます。 

FlexCard データソースの設定。2 つ目の方法では、カードがイベントオーケストレーターを使用します。コンポーネントコードは、ユーザーが特定の操作を実行したときにイベントを作成し、イベントリスナーがイベントオーケストレーターをトリガーして SDK を使用したデータ処理を実行します。その結果、カートベースの API が使用されます。API はデータの要求を処理して、FlexCard が使用できる形式でデータを返します。

Industries CPQ のカート設定パネル

FlexCard Designer でデータソースを表示してデータの転送元を追跡するのは厄介です。親 FlexCard が親のデータソースのデータを子 FlexCard にプッシュするように設定されている場合、その子には指定されたデータソースは必要ありません。子 FlexCard にデータソースがある場合は、親 FlexCard はデータソースを必要としないことがあります。注文の CPQ カートを表示しているときにブラウザーの開発ツールを開くと、API が実行しているネットワークコールを確認できます。また、JSON を調べることで、FlexCard が受信している項目を把握する手がかりが得られます。

基本的な Integration Procedure の概要

CPQ カートの基本的な (一般的に使用される) Integration Procedure と、それらが使用する API を下表に示します。 

Integration Procedure 使用する API

CPQ/CreateOrder

Create Cart (カートを作成)

CPQ/GetCartsProducts

Get List of Products (商品リストを取得)

CPQ/GetCartItems

Get Cart Items (カート品目を取得)

CPQ/BulkPostCartItems

Add Item(s) to a Cart (カートに品目を追加)

CPQ/UpdateItemAttributes

Update Item Attributes (品目属性を更新) 

CPQ/DeleteItemFromCart

Remove Item(s) from a Cart (カートから品目を削除) 

CPQ/SubmitOrder

カートに入っているチェックアウト品目

CPQ カートの機能を調べるときは、この表を参照して Integration Procedure の動作を確認できます。たとえば、CPQGetCartItems には、getCartsItems API (リモートメソッド) に対して指定されている追加入力パラメーターがあります。これらのパラメーターは、応答がどのように処理されて返されるかを決定します。

CPQGetCartItems Integration Procedure

CPQ カートの設定を開始する前に、ビジネス要件を確認して、CPQ カートの機能がこれらの要件をどのように満たすかを検討する必要があります。では、それについては次の単元で学びましょう。

リソース

Salesforce ヘルプで Trailhead のフィードバックを共有してください。

Trailhead についての感想をお聞かせください。[Salesforce ヘルプ] サイトから新しいフィードバックフォームにいつでもアクセスできるようになりました。

詳細はこちら フィードバックの共有に進む