クライアントのデータモデルの理解
学習の目的
この単元を完了すると、次のことができるようになります。
- 的確なデータモデルの利点を説明する。
- Salesforce B2C Commerce データモデルの 3 種類の商品を挙げる。
- データモデルスプレッドシートの 3 つのシートを挙げる。
- 命名規則がどのように機能するかを説明する。
- データ属性を使用するとアプリケーションの処理が管理しやすくなる理由を説明する。
はじめに
オンライン販売のストアフロントにとって何よりも大切なのが商品データです。これはマーチャントが世間に示すものです。マーチャントが販売するのが商品で、この商品がなければビジネスになりません。マーチャントのストアフロント設計でデータモデルが極めて重要な要素であるのはこのためです。データモデルは、ストアフロントソリューションを稼働させるために必要なデータの状況を表すために使用されます。
データモデルは機能仕様などのプロジェクトドキュメントに記録され、ソースデータシステム (または記録システム) が反映されます。データモデルを記録することで、商品データをデータベースオブジェクトのコンテキストで整理できます。
データモデルからはまた、マーチャントが手動で管理する必要のあるデータの量が明らかになります。こうした本質的な設計上の考慮事項は早いうちに開示しておく必要があります。データ管理の作業量がマーチャントの日常業務の対応可能な量を超えている場合は、起動する前にこのギャップを解消しておくことが必要です。
では、マーチャントのデータモデルを B2C Commerce にマッピングする方法、データモデルスプレッドシートの作成方法、命名規則、データモデルの属性について説明します。
B2C Commerce へのマッピング
マーチャントのデータモデルを理解すると、ストアフロントの商品を管理する B2C Commerce データモデルへのマッピングが容易になります。
B2C Commerce データモデルは、ベース商品をデータオブジェクトの商品 ID で表すベース商品/バリエーション商品のデータリレーションをサポートしています。ベース商品データオブジェクトには、サイズや色などのバリエーション属性があります。これらの属性は、商品のあるインスタンスが別のインスタンスとどのように異なるかを定義します。このリレーションでは、バリエーションの組み合わせで購入可能な品目 (SKU) を表し、ベース商品はバリエーションが属する商品です。
たとえば、アパレルリテーラーが Brand-A Flair のさまざまなサイズや色のセーターを販売しているとします。サイズや色が、このセーターのバリエーション属性です。サイズと色の組み合わせで (Brand-A Flair の色がグレー、サイズが 14 のセーターなど)、買い物客が購入する、注文可能な品目が定義されます。
B2C Commerce では、バリエーションのない単純な商品、商品セット (複数の注文可能な商品で、まとめて注文できる)、商品バンドル (一連の商品で、バンドルとしてのみ注文できる) もサポートしています。
データモデルスプレッドシートの作成
マーチャントのデータフローを分析して、そのデータマッピング/モデルを包括的なスプレッドシートに記録することは不可欠です。標準装備のストアフロントリファレンスアーキテクチャ (SFRA) のオブジェクトや属性がマーチャントのストアフロント要件を満たさない場合にのみデータモデルを拡張するというのが理想的です。
このスプレッドシートから、マーチャントがすでにどのデータを所有し、どのデータを追加する必要があるかが把握しやすくなるだけでなく、記録システムから B2C Commerce への現行のインポートプロセスを明確にする点でも役立ちます。ストアフロントの商品を常に最新の状態にしておけば売上が増大します。
ヘッダーシートの作成
ではまず、次の基本的なシートを備えたデータマッピングスプレッドシートを作成しましょう。
- Catalog-Header (以下の catalog-mapping シートを参照)
- Catalog-CategoryMapping
- Catalog-ProductMapping
- Catalog-RecommendationMapping
- PriceBook-Mapping
- Inventory-Mapping
Catalog-Header シートには、カタログフィード ROOT 要素の属性が記載されます。次の項目名/項目 ID のペアに関する詳細を収集する 2 つの列を作成して、行を設定します。
ドキュメント | 説明 |
---|---|
Catalog ID (カタログ ID) | catalog-id |
Internal B2C Commerce Image Server Base Path (内部の B2C Commerce 画像サーバーのベースパス) | base-path |
External Image Server HTTP base path (外部の画像サーバー HTTP のベースパス) | http-url |
External Image Server HTTPS base path (外部の画像サーバー HTTPS のベースパス) | https-ur |
Image View Types (画像ビュー種別) | view-type |
Image Variation Attribute ID (画像のバリエーション属性 ID) | variation-attribute-id |
Alternate Pattern (代替パターン) | alt-pattern |
Tile Pattern (タイルパターン) | image-tile |
Catalog-Header シートの末尾で、次のシートを参照します。
- Catalog-CategoryMapping
- Catalog-ProductMapping
- Catalog-RecommendationMapping
列の作成
Catalog-Header シートに、次の項目列を作成します。
項目 | 説明 |
---|---|
項目名 | Business Manager で設定した ID になります。 |
Field ID (項目 ID) | Business Manager で設定した ID になります。 |
Source of Data (データのソース) |
次のようなデータソースです。
|
Pre-Populated Value (事前入力される値) | 値がマーチャントのフィードから取り込まれる場合は [Yes (はい)]。マーチャントがこの値を Business Manager で設定する場合は [No (いいえ)]。 |
Applicable Field for Client (クライアントに適用可能な項目) | この項目がバックエンドシステムにマッピングされ、実装で使用される場合は [Yes (はい)]。 |
Client Table Name (クライアントのテーブル名) | データの発信元がバックエンドシステムの場合は、このデータが記載されたテーブルの名前。 |
Client Field Name (クライアントの項目名) | データの発信元がバックエンドシステムの場合は、このデータが記載されたテーブル内の項目の名前。 |
データ型 | B2C Commerce で使用する属性タイプ (文字列、Boolean、文字列列挙、整数列挙など)。 |
Update in B2C Commerce (B2C Commerce での更新) | データを B2C Commerce で更新可能な場合は [Yes (はい)]。この属性の値が外部で管理される場合は [No (いいえ)]。 |
Display on Storefront (ストアフロントでの表示) | データがストアフロントに表示される場合は [Yes (はい)]。 |
Localization (ローカライズ) | データがローカライズされる場合は [Yes (はい)]。ローカルが含まれます。 |
説明 | データの目的と特別な条件 (有効な文字などの条件がある場合) を説明します。 |
Sample Data (サンプルデータ) | データのサンプルです。 |
必須 | データが必須の場合は [Yes (はい)]。データを省略可能な場合は [No (いいえ)]。 |
その他のシートの作成
このスプレッドシートに他のシートを作成し、属性名と ID の 2 つの列を設定します。以下は、シート別の属性タイプです。
シート | 属性タイプ |
---|---|
Catalog-CategoryMapping | 標準カテゴリ、検索ランキング、サイトマップ、SEO、調整の定義、バケットの定義、ブロックされたバケットの定義、カテゴリの割り当て (リスト) |
Catalog-ProductMapping | 標準カテゴリ、検索ランキング、サイトマップ、関連する SEO、バリアントとカスタム、画像グループ、カスタム、バリアント、バンドル商品、商品セット商品、オプション |
Catalog-RecommendationMapping | おすすめ要素、属性 |
PriceBook-Mapping | 価格表ヘッダー、価格表テーブル要素、カスタム属性 |
Inventory-Mapping | 在庫ヘッダー (list-id や default-in-stock)、在庫要素 (product-id、allocation、allocation-timestamp、perpetual など)、カスタム属性 |
命名規則
命名規則を使用すると全員の仕事が楽になります。B2C Commerce のインポートプロセスを容易にするために、インポートフィード名を標準の命名規則に準じたものにします。
以下は、catalog-id (catalog) オブジェクトの例です。
命名規則 | 例 |
---|---|
productCatalog_<company_name/brand_name> | productCatalog_BeachCloud |
storefrontCatalog_<company_name/brand_name>_<country_code/region_code> |
storefrontCatalog_BeachCloud_US storefrontCatalog_BeachCloud_EU |
データモデルの属性
データ属性タイプを使用すると、アプリケーションでのデータの処理方法を管理しやすくなります。たとえば、マーチャントが商品を部分的に販売することはないため、商品の在庫数には整数を使用します。貨幣データ型 (別の例) は、ローカライズされている通貨がどのように処理されるかをモニタリングします。
属性タイプ
次の表は、B2C Commerce でサポートされている属性タイプの一覧です。
命名規則 | 説明 |
---|---|
文字列 | 文字、数字、句読点で、通常は単語か単文です。 |
テキスト | 文字、数字、句読点で、通常は説明などの長いテキストに使用します。 |
HTML | 通常は HTML タグと値に使用します。HTML 属性は Business Manager の HTML エディターで編集できます。文字列型やテキスト型はこの方法で編集できません。 |
Integer | 1、2、3、4 など、小数点以下の桁数のない数値です。 |
数値 | 小数点以下の桁数を指定できます。 |
Boolean | True または False です。 |
日付 | MM/dd/yyyy |
日付 + 時間 | MM/dd/yyyy : hh:mm |
画像 | マーチャントは画像フォルダー構造からこのデータ型を選択できます。デベロッパーはスクリプトを使用して画像を動的に取得できます。 |
メール | Business Manager では、メールアドレスの有効な構文にする必要があります。たとえば、@ 記号の後に有効な拡張子が必要です。 |
お金 | 貨幣値のカスタム属性を作成する場合に使用します。このデータ型には、特定の通貨に応じた合計が示されるように、ローカライズされた丸め規則が設定されます。 |
Password (パスワード) | パスワードのマスクされた項目と確認項目を表示します。値がエクスポート時に暗号化され、インポートの場合も暗号化できます。 |
文字列配列 | 1 つ以上の文字列を入力する場合に使用します。配列に重複は含まれません。 |
整数配列 (整数のみ) | 1 つ以上の整数を入力する場合に使用します。配列に重複は含まれません。 |
数値配列 (任意の数値) | 1 つ以上の数値を入力する場合に使用します。配列に重複は含まれません。 |
文字列列挙 | 1 つ以上の値を選択する場合に使用します。 |
整数列挙 | 1 つ以上の値を選択する場合に使用します。 |
属性のオプション
データを厳格に管理する場合は、Business Manager で属性のオプションを設定します。属性タイプごとにオプションは異なります。
- Mandatory (必須): 指定する必要があります。
- Externally Managed (外部管理): 値がバックエンドシステムから取り込まれるため、Business Manager ユーザーが値を編集することはできません。
- Value Unit (値の単位): センチメートルは cm、オンスは oz などの値の単位
- Minimum Value (最小値): 許容される最小値
- Maximum Value (最大値): 許容される最大値
- Scale (スケール): 小数点以下の桁数
- Field Length (項目の文字数): 文字数
- Field Height (項目の行数): 行数
- Select Multiple (複数を選択): データに複数の値を設定できます。
- Regex (正規表現): 属性の検証時に使用する正規表現 (Java の正規表現構文)。文字列のみです。