インポートのモードについて
学習の目的
この単元を完了すると、次のことができるようになります。
- インポートのモードの目的を説明する。
- インポートで新しいオブジェクトを追加するモードを 2 つ挙げる。
- インポートを使用してデータを削除可能な方法を説明する。
- データをインポートまたはエクスポートできる 2 通りの一般的な方法を説明する。
- Agentforce Commerce for B2C がストアフロントデータをどのように処理するよう設計されているかを説明する。
はじめに
Business Manager のインポート/エクスポート機能を使用する準備がほぼ完了しています。ただし、その前に各モードの動作をしっかりと理解しておく必要があります。スキーマを除けば、モードはインポート/エクスポート機能の最も重要な側面です。
モードを比較する
スキーマがデータのファイル構造のルールを定義するのに対し、モードはインポート時にデータに何が実行されるかを定義します。次の表は、各モードとその機能の一覧です。
モード |
実行される操作 |
|---|---|
Merge (マージ) |
データが存在しない場合、Business Manager が新しいデータを追加します。 データが存在する場合、Business Manager が既存のデータを更新します。 |
Update (更新) |
Business Manager が、既存のデータを更新しますが、新しいデータは追加しません。XML ファイルにある属性のみを更新します。 |
Replace (置換) |
Business Manager が、XML ファイルのデータごとに既存のデータを再作成するか、新しいデータを追加します。Business Manager が、XML ファイルにはない既存の属性を削除します。このモードは、削除してからマージするのと同じことです。 |
Delete (削除) |
Business Manager が、XML ファイルのデータをデータベースから削除します。XML ファイルにオブジェクト ID を指定するだけで処理できます。Business Manager は他のオブジェクト属性を無視します。 |
モードのしくみを理解するために、次のシナリオを考えてみましょう。シニアマーチャンダイザーから、商品と属性の変更を手伝って欲しいと依頼されます。マーチャンダイザーは試験的に少数の商品に Pinterest のフラグを追加したいと考えています。以前、試しに Facebook のフラグを付けてみましたが、この属性は削除したいと思っています。
変更内容のテーブルを作成し、使用するモードを決定します。変更は、T-123440 ~ T-123445 のオブジェクトが対象です。テーブルの A ~ F の文字は、データベースへの変更を示す略語です。たとえば、T-1234440 という商品がデータベースにあり、マーチャンダイザーはこのオブジェクトに pinterest-enabled-flag 属性を追加して true に設定したいと考えています。
A は、データベースの商品を表します。
<product product-id="T-123440">
A1 は、その商品と属性の変更を表します。
<product product-id="T-123440"> <pinterest-enabled-flag>true</pinterest-enabled-flag>
変更 |
データベースに存在するかどうか |
商品 (オブジェクト) |
属性 |
|---|---|---|---|
A1 - 属性を追加 |
あり |
<product product-id="T-123440"> |
<pinterest-enabled-flag>true</pinterest-enabled-flag> |
B1 - 属性を削除 |
あり |
<product product-id="T-123441"> |
<facebook-enabled-flag>true</facebook-enabled-flag> |
C - 変更なし |
あり |
<product product-id="T-123442"> |
|
D - 新しい商品 |
なし |
<product product-id="T-123443"> |
|
E - XML ファイルに存在しない |
あり |
<product product-id="T-123444"> |
|
F1 - 属性を変更 |
あり |
<product product-id="T-123445"> |
Change: <pinterest-enabled-flag>false</pinterest-enabled-flag> To: <pinterest-enabled-flag>true</pinterest-enabled-flag> |
各モードで、データベースは最終的に次のようになります。
インポート前 |
XML ファイル内 |
インポートモード |
インポート後 |
|---|---|---|---|
A、B、C、E、F |
A1、B1、C、D、F1 |
Merge (マージ) |
A1、B、C、D、E、F1 |
Update (更新) |
A、B、C、E、F1 |
||
Replace (置換) |
A1、B、C、D、E、F1 |
||
Delete (削除) |
E |
モードだけでは、「B1 - 属性を削除」の変更に対応できないことがわかります。インポート後も B1 ではなく、B が表示されているのはそのためです。Facebook フラグ属性を削除するためには、XML ファイルの属性値をなしまたは空白に変更してから、merge (マージ) または update (更新) モードでインポートします。
- delete (削除) モードの場合、変更がない場合でも、Business Manager はインポート内のすべてのオブジェクトを削除します。
- update (更新) モードの場合、Business Manager は新しいデータをデータベースに追加しません。
- Business Manager でオブジェクトを削除するには、そのオブジェクトを XML ファイルに追加します。
オブジェクトを削除する 1 つの方法は、削除したいオブジェクトのみを含む XML ファイルを作成して、delete (削除) モードでそのファイルをインポートすることです。もう 1 つの方法は、XML フィードのオブジェクトレベルで、delete (削除) インポートモードを指定することです。そのオプションについては次に説明します。
要素のモード
ストアフロントのマーチャンダイザーから、カタログを更新して 3 つの新商品を追加すると同時に、2 つの商品を削除して欲しいと依頼されます。このプロセスでは、XML ファイル内で個々の要素にモードを指定します。要素レベルのモードは、グローバルインポートモードを上書きします。
両方の種類の商品を記載した XML ファイルを作成します。
<product product-id="T-555361"/> <product product-id="T-367822"/> <product product-id="T-622977"/> <product product-id="T-536378" mode="delete"/> <product product-id="T-638353" mode="delete"/>
対象の商品をリストし、新商品には個別のモードを指定せず、削除する商品に delete (削除) モードを指定します。続いて、merge (マージ) モードでインポートを実行します。update (更新) モードを使用しない理由は、2 つの商品は削除されますが、新商品が追加されないためです。
カタログのインポートとエクスポートを管理する
Commerce for B2C のインポート/エクスポート機能は、カタログの種別など、ストアフロントデータの複雑なデータを処理できるように設計されています。Commerce for B2C ではストアフロントと商品の 2 種類のカタログを使用することがベストプラクティスであるため、この点は重要です。ストアフロントカタログがストアフロントに表示する内容であるのに対し、商品カタログは外部の PIM からインポートした内容を表します。
カタログのインポート
先ほど、特定の商品や属性の追加と削除を行いました。また、1 回のインポートでカタログ全体をインポートすることもできます。この場合は、カタログと、カタログ内のすべてのカテゴリと商品データが対象になります。
カタログのインポートでは、
- 商品カタログとは関係なく、ストアフロントカタログをインポートできます。
- ストアフロントカタログのカテゴリがそのカテゴリの商品を参照できます。
- ほかのストアフロントカタログをインポートしても、既存の商品/カテゴリの割り当てには影響ありません。
- 商品カタログの商品更新をインポートしても、ストアフロントカタログのカテゴリの割り当てには影響ありません。
カタログインポートのセマンティックでは、商品カタログとストアフロントカタログを、相互に独立した自己完結型のデータ単位とみなすため、一方をインポートしたときにもう一方のデータ構造が削除されることはありません。
Business Manager は、商品が新規か既存かと、使用するモードに基づいてオンライン/オフラインのステータスを更新します。たとえば、インポートファイルにステータスが指定されていない場合、新しい商品が merge (マージ) または replace (置換) モードでインポートされると、自動的にオフラインに設定されます。
カタログのエクスポート
Business Manager から、選択した商品またはカタログ全体のデータをエクスポートします。[Export Specific Products (特定の商品のエクスポート)] 設定を使用すると、生成されたファイルに、選択した商品のリストとその商品のカテゴリの割り当てのみが記載されます。
エクスポート中に、Commerce for B2C が自動的に商品の画像パスの先頭と末尾の空白を取り除き、以前に保存された改行文字を削除します。
オブジェクト固有の処理
Commerce for B2C では、各種のオブジェクト (クーポン、顧客、注文、価格表など) のインポートやエクスポートを処理するときに、オブジェクト固有の特定のルールを使用します。では、例として価格表のインポートがどのように処理されるのか見てみましょう。
モード |
価格表の固有の処理 |
|---|---|
Merge (マージ) |
|
Update (更新) |
|
Replace (置換) |
|
Delete (削除) |
|
All (すべて) |
|
インポートやエクスポートの XML ファイルを作成するときは、モードとオブジェクトタイプの両方を検討することが重要です。
次のステップ
この単元では、グローバルおよび要素固有のインポート/エクスポートでのモードの使い方を学習しました。また、Commerce for B2C ではオブジェクトのタイプに応じてインポート/エクスポートプロセスが処理されることを学びました。次は、インポート/エクスポートプロセスを構成して実行する方法を学習します。
リソース