※ これから記載する事項は、私が所属する会社とは一切関係のない事柄です。
Salesforce B2B/D2C Commerce ではチェックアウト完了時にカートオブジェクトから注文オブジェクトが作成され、注文オブジェクトから注文概要オブジェクトが作成されます。
カート→注文→注文概要 といった流れです。
その際にそれぞれのオブジェクトのフィールドがどのようにマッピングされるのか紹介したいと思います。
注文概要オブジェクトは注文管理で利用するものですが、詳細はヘルプの「注文概要」をご覧ください。
オブジェクトと標準フィールドのマッピング
対応する標準オブジェクト下記の通りです。
カート関連オブジェクト | 注文関連オブジェクト | 注文概要関連オブジェクト |
---|---|---|
WebCart | Order | OrderSummary |
CartItem | OrderItem | OrderItemSummary |
CartDeliveryGroup | OrderDeliveryGroup | OrderDeliveryGroupSummary |
CartItemPriceAdjustment | OrderItemAdjustmentLineItem | OrderItemAdjustmentLineSummary |
CartTax | OrderItemTaxLineItem | OrderItemTaxLineItemSummary |
WebCartAdjustmentGroup | OrderAdjustmentGroup | OrderAdjustmentGroupSummary |
また、それぞれ対応するフィールドは「Map Cart Data to Order Data」をご覧ください。
カスタムフィールド
同一名称、同一タイプ、同一の設定(例:長さ、小数点、 項目レベルセキュリティ)の場合に自動でマッピングされます。現状対応しているマッピング可能なタイプは下記の通りです。
- Checkbox
- Currency
- Date
- DateTime
- Html
- LongTextArea
- Number
- Percent
- Phone
- Text
- TextArea
- Url
実際にやってみる
やること
「Note」「TaxNote」 という名前のカスタムフィールドを WebCart、Order、OrderSummary と CartTax、OrderItemTaxLineItem、OrderItemTaxLineItemSummary に設定しそれぞれどのようにマッピングされるかを確認する。
カスタムフィールドの作成
下画像のように 「Note」 というフィールドを WebCart、Order、OrderSummary に、「TaxNote」 というフィールドを CartTax、OrderItemTaxLineItem、OrderItemTaxLineItemSummary に設定します。
この際、それぞれ同一名称、同一タイプ、同一の設定であることが必要です。
WebCart のカスタムフィールドを編集する
自作した「GeneriCartField」というカートページやチェックアウトページで WebCart オブジェクトのカスタムフィールドを編集できるコンポーネントを利用して編集します。
下記のように [Note] というフィールドを編集できるようにコンポーネントを設定しました。
そしてサイトからチェックアウト時に 「テスト」 という文字を入力し、チェックアウトを完了しました。
CartTax のカスタムフィールドを編集する
CartTax のオブジェクトをサイトの画面上から編集するのは難しいので、チェックアウトインテグレーションの税金のインテグレーションの際に利用する Apex を修正して編集します。
自作した税金インテグレーションのためのサンプルコードを下記のように修正し、チェックアウト時に 「テスト税」 という値が [TaxNote] フィールドに入力されます。
// -----省略-----
CartTax tax = new CartTax(
Amount = amount * (B2BTaxSample.TAX_RATE / 100),
CartItemId = item.Id,
Name = item.Name,
TaxCalculationDate = Date.today(),
TaxRate = B2BTaxSample.TAX_RATE,
TaxType = 'Actual',
TaxNote__c = 'テスト税'
);
cartTaxesToInsert.add(tax);
// -----省略-----
Order、OrderSummary の値の確認
下画像のように [Note] に 「テスト」 という値が入っていることを確認できます。
OrderItemTaxLineItem、OrderItemTaxLineItemSummary の値の確認
下画像のように [TaxNote] に 「テスト税」 という値が入っていることを確認できます。