B2C Commerce ビジネスオブジェクトの説明
学習の目的
この単元を完了すると、次のことができるようになります。
- ビジネスオブジェクトで、Salesforce B2C Commerce ストアフロントデータの構造をどのように定義するか説明する。
- システムオブジェクトをカスタマイズする理由を 2 つ挙げる。
- カスタムオブジェクトを使用する可能性のある理由を 2 つ挙げる。
- ビジネスオブジェクトのベストプラクティスを 2 つ挙げる。
はじめに
B2C Commerce はオブジェクト指向のシステムであるため、オブジェクトを筆頭に、いくつかの基本原則を理解しておくことが重要です。オブジェクトとは、データを保持する自己完結型のエンティティです。1 つのオブジェクトは、そのオブジェクトを説明するデータで構成されます。たとえば、Dress (ドレス) オブジェクトは次のデータで構成されます。
Dress (ドレス)
- Size (サイズ)
- Color (色)
- Fabric (生地)
- Occasion (用途)
- Sleeves (袖)
- Neckline (襟)
- 文字数
Dress (ドレス) オブジェクトには、ドレスを説明するデータのみが保持されます。たとえばブレスレットなどを説明するデータは含まれません。
この例では Color (色) というデータが項目 (属性ともいう) に保存されます。属性は、オブジェクトの一側面を説明するものです。この場合、あなたが友人に「あるものについて説明します」と言い、「サイズ、色、生地、用途、袖、襟、長さ」と言えば、友人は「ドレス (場合によってはブラウス) の説明ですね」と言うでしょう。Dress (ドレス) はオブジェクトで、Color (色) はこのオブジェクトの属性です。
ビジネスオブジェクトによって B2C Commerce ストアフロントデータの構造が定義されます。ビジネスオブジェクトは、システムに付属するシステムオブジェクトであることもあれば、アプリケーションに機能を追加するために使用するカスタムオブジェクトである場合もあります。カスタムオブジェクトにはカスタムコードが必要です。
システムオブジェクト
B2C Commerce には、Appeasement から TrackingRef まで 63 種のシステムオブジェクトが用意されています。Business Manager の各自のバージョンでは、参照のみとマークされているものもあります。新しいシステムオブジェクトを作成して B2C Commerce の内部システムをカスタマイズすることはできませんが、ビジネスニーズに応じてカスタムシステムオブジェクトを新規作成することは可能です。この違いは重要です! システムオブジェクト種別によって、システムオブジェクトに含まれる属性が定義されます。つまり、地図のような役割を果たします。
Commerce Cloud ストアフロントリファレンスアーキテクチャ (SFRA) では、システムオブジェクトを使用してそのサイトの各部を説明します。SFRA は、システムオブジェクトと対話するよう開発され、カスタムコードが不要なため、ストアフロントアプリケーション開発の出発点として利用できます。
実装で使用可能なシステムオブジェクトを最大限に活用するためには、こうしたオブジェクトについて理解しておく必要があります。ストアフロントアプリケーションを設定、管理、開発する B2C Commerce オンラインツールである Business Manager では、次のことができます。
- システムオブジェクトを表示する。
- 各システムオブジェクトの属性を表示する。
- 新しい属性値の作成など、属性を編集する。
- 属性グループを表示する。
- 新しい属性グループを作成する。
B2C Commerce の豊富なシステムオブジェクトライブラリでも、商品情報、コンテンツ、注文、プロモーションなど、ストアフロントアプリケーションに必要な大半のデータに対処できます。これらのオブジェクトを使用すれば、そのオブジェクト用に開発されたコードを活用できるため、実装時間が大幅に短縮されます。
SFRA で使用されるシステムオブジェクトの例として、次のものがあります。
オブジェクト ID |
目的 |
属性 |
---|---|---|
Basket (買い物カゴ) |
買い物カゴを表します。 |
businessType channelType currencyCode customerEmail customerName customerNo lastModified |
キャンペーン |
キャンペーンを表します。これは、スロットの設定、プロモーション、並び替えルールなど、特定のフレームにリリースされる一連の体験です。 |
creationDate description endDate lastModified startDate |
カテゴリ |
商品カタログのカテゴリを表し、カテゴリデータを含む属性が設定されています。このオブジェクトは通常、ストアフロントでのカテゴリの動作方法を管理するために使用 (およびカスタマイズ) されます。 |
alternateURL catBannerID customCSSFile description displayName enableCompare headerMenuBanner |
コンテンツ |
コンテンツのアセット (テキスト、画像、動画、音声など) を表します。 |
year body config creationDate customCSSFile cata description lastModified |
上記の dress オブジェクトのように、Content (コンテンツ) オブジェクトには、year、body、config など複数の属性が含まれます。
システムオブジェクトの拡張
システムオブジェクトを拡張して、買い物客からより多くの情報を収集する、ストアフロントサイトを調整して追加情報を表示する、バックオフィスのニーズに応じて注文を効率的に処理できるようにすることができます。
たとえば、ショッピング買い物カゴページに [Please Add Me To Your Email List (メールリストに登録する)] チェックボックスを表示する addToEmailList 属性を、買い物カゴオブジェクトに追加することが考えられます。この場合、収集したデータを処理して表示するコードも追加する必要があります。
さらなるデータを収集するグループオブジェクト
Business Manager は、商品やコンテンツの詳細などのストアフロントデータを管理する場所です。システムオブジェクトには標準の属性セットが用意されていますが、それ以外のデータを追加したければいつでも属性を追加できます。たとえば、買い物客がアイテムを実店舗で受け取れるようにする属性を追加することができます。実は、これは優れた機能であるため、InStorePickup という属性グループとしてすでに追加されています。
注文手続き時にこの機能がストアフロントに表示されます。他方 Business Manager では、商品データを管理する商品情報ページに表示されます。特定の商品を店舗で受け取れるように設定できます。
もちろん、ストアフロントにこの機能を処理する基本的なアプリケーションコードを記述する必要がありますが、ここではビジネスオブジェクトについてのみ説明します。
Business Manager 内にシステム属性を表示するためには、属性がグループに属している必要があります。属していない場合は、Business Manager のページに表示されません。この点は、ストアフロントの表示と異なります。
では、詳しく見ていきましょう。
Product (商品) システムオブジェクトには InStorePickup という属性グループがあり、次の属性が設定されています。
属性 |
説明 |
種別 |
---|---|---|
availableForInStorePickup |
商品を店舗で受け取れます。 |
Boolean (はい/いいえ) |
storeTaxClass |
課税クラスを保存します。 |
文字列 |
このグループは Business Manager の商品情報ページ (新しい商品を作成する場所) に表示され、店舗での受け取りが可能かどうかを指定できます。
選択肢は Boolean のはいかいいえです。
ストアフロントの買い物カゴページに、1 つ以上のアイテムを店舗で受け取ることを希望するかどうかを買い物客に質問する項目が表示されます。
属性グループ
システムオブジェクトはグローバルに保存できるため、組織全体や全サイトで使用することも、ローカル (サイトごと) に使用することもできます。システムオブジェクト自体は常に組織全体で使用できます。
カスタムオブジェクト
カスタムオブジェクトは、ビジネスニーズに合わせて B2C Commerce モデルを拡張する場合に使用できます。Business Manager では、最初にカスタムオブジェクトタイプを作成し、そのオブジェクトに含まれる属性を定義します。次に、これらの属性に基づいてカスタムオブジェクトを作成します。
カスタムオブジェクトタイプは、組織に定義されたストアフロントの全サイトで使用できます。ただし、カスタムオブジェクトの作成時に、サイト固有か組織全体かを選択できます。組織については、このモジュールの「Business Manager」の単元で説明しました。
カスタムオブジェクトタイプ
B2C Commerce モデルを拡張するには、ストアフロントまたはビジネスロジックに必要な追加のビジネスオブジェクトに、カスタムオブジェクトタイプを作成して管理します。たとえば、Sample というカスタムオブジェクトタイプを作成し、SKU と Date という属性を指定します。Business Manager の [Manage Custom Objects (カスタムオブジェクトの管理)] で、SKU と Date の対に次のデータを入力して、データを作成します。
AS-12334 |
06-03-2018 |
---|---|
AS-44567 |
24-03-2018 |
TT-65443 |
15-02-2018 |
これでこの新しいデータを管理できます。
カスタム属性を編集可能または編集不可にする
レコードのバックエンドシステムから B2C Commerce にカスタム属性を直接取り込んで使用できます。使用する場合は、新しい属性内に外部管理のフラグを設定します。
この設定は、これらの属性を直接編集すべきでないことを Business Manager ユーザーに示します。この種の属性が外部管理とみなされるのは、属性値が外部システムで設定されているためです。編集不可の属性のフィードに間違った値が含まれている場合は、その値を修正するために、[Externally Managed (外部管理)] オプションをオフにして、手動で訂正します。値が修正されたら、[Externally Managed (外部管理)] オプションを再びオンにします。
ベストプラクティス
可能な限り、カスタムオブジェクトではなく、システムオブジェクトを使用して、最新のリファレンスアーキテクチャに簡単にアップグレードできるようにし、不要なカスタマイズを排除します。
可能な限り、カスタム属性ではなく、システム属性を使用します。
次のステップ
Business Manager、開発環境、SFRA、そしてビジネスオブジェクトと、B2C Commerce の多様な側面について説明しました。いよいよあなたの知識を試して、バッジを獲得するときです。
リソース
Salesforce ヘルプ: Business Objects (ビジネスオブジェクト)