Business Manager のインポートとエクスポートの確認
学習の目的
この単元を完了すると、次のことができるようになります。
- インポート/エクスポートプロセスを介して転送できるデータオブジェクトを 3 つ挙げる。
- Agentforce Commerce for B2C の XSD ファイルの目的を説明する。
- 参照のみの価格表機能を使用するメリットを 1 つ説明する。
- オブジェクト固有のスキーマファイルのメリットを 2 つ説明する。
- インスタンスを使用してストアフロントのデータをロールアウトする方法を説明する。
あなたは Commerce for B2C 管理者です。その第一の任務はデータの管理です。具体的には、外部システムと Commerce for B2C 間のストアフロントのデータの転送を管理しています。また、新しいデベロッパーインスタンスをオンラインにするために、サイトの構成データと設定データをあるインスタンスから別のインスタンスに移動する作業もサポートしています。
会社では、SKU、商品説明、サイズ、画像、価格といったカタログの詳細を、記録システムで開発しています。そのデータを、インポートプロセスを使用して Commerce for B2C に転送しています。一方、Commerce for B2C で買い物客が注文を作成したり、クーポンを利用したりするたびに、そのデータが処理のために外部システムに送信されるようにしています。このトランザクションには、エクスポートプロセスを使用しています。
この単元では、Commerce for B2C でのインポートとエクスポートの処理方法の基本を学習します。その後、Commerce for B2C で手動でトリガーするプロセスやバッチプロセス、サイトのインポート/エクスポートを試しながら、この概念を実践します。
Commerce for B2C のサイトのインポート/エクスポート機能を試してみる前に、次のことを把握している必要があります。
- 会社がインポート/エクスポートするデータのタイプ
- Commerce B2C 管理者とデベロッパーが使用するインスタンスタイプ
- スキーマファイルのしくみと、使い方を認識しておくべきスキーマファイル
- Commerce for B2C でのデータ検証の処理方法
ストアフロントのデータのインポート/エクスポート
会社では、次のタイプのストアフロントデータをインポート/エクスポートしています。
インポート |
エクスポート |
|---|---|
アクティブデータ |
クーポンの使用 |
カタログ |
顧客レコード |
クーポン |
注文 |
|
新規注文 Commerce for B2C では、既存の注文を更新するデータはインポートされません。注文のインポートプロセスでは、このデータはスキップされます。 |
|
価格表 |
プロセスはシンプルで、外部システムでは Agentforce Commerce for B2C のファイル構造がサポートされています。つまり、大半の作業に Business Manager の手動のインポート/エクスポートプロセスを使用しています。他方、大規模で複雑な価格表は、頻繁に更新を行うサードパーティの商品情報管理 (PIM) システムで管理しています。そのため、Business Manager のインポートプロセスを使う代わりに、参照のみの価格表機能を使用してその価格データをインポートしています。この機能を使うと、一括転送をはるかに効率的に実行できます。
Staging (ステージング) へのインポート
Commerce for B2C では、Sandbox、ステージング、開発、本番の 4 つのタイプのインスタンスを利用できます。Sandbox インスタンスは、デベロッパーが作業を行う環境です。デベロッパーと協力してインポート/エクスポートプロセスの編集や作成を行う場合は、Sandbox インスタンスを使用します。Sandbox で新しいプロセスをテストした後、デベロッパーがそれを Sandbox からステージングインスタンスに移動して、使用できるようにします。
ストアフロントのデータのインポートとエクスポートにはステージングインスタンスと開発インスタンスを使用します。ステージングインスタンスは、データ転送を準備するところです。ステージングでストアフロントのデータとコードをテストした後、まず開発インスタンスにレプリケートしてから、本番インスタンスにレプリケートします。ステージング環境が本番環境と可能な限り同じ状態になるようにしてください。ステージングインスタンスを使用するのは、本番に送る前に、転送が正常に行われたことを確認するためです。
インポートプロセスの最後の重要なステップは、レコードのアーカイブとクリーンアップです。週に 1 回手動のプロセスを使用して、以前の XML ファイルをアーカイブし、古いファイルと不要なデータを削除しています。Business Manager で自身が実行したインポートのレコードを削除すると、関連するログファイルも自動的に削除されます。
スキーマファイルを確認する
Commerce for B2C のスキーマは、インポートとエクスポートを実現する上で重要な役割を担っています。スキーマとは、XML インポート/エクスポートファイルの構造を定義する、オブジェクト固有の一連の XSD ファイルです。Commerce for B2C では、これらのスキーマによって形式設定された XML インポートファイルのみを受け入れます。Business Manager を介してファイルを手動でインポートすると、Commerce for B2C が自動的に対応するスキーマに照らして検証します。
会社ではパートナーと提携して外部システムを構成しており、スキーマによって規定された構造の XML ファイルが生成されます。インポートファイルを生成する外部ジョブについて把握し、変更に対応できるようにします。たとえば、時々スキーマが変更されるため、その変更によってインポート/エクスポートプロセスにどのような影響があるかを知っておく必要があります。
Commerce for B2C ではファイルが自動的に適切な XML 形式でエクスポートされますが、クーポンコードはこの例外で CSV 形式でエクスポートされます。
以下は、細心の注意を払うべきスキーマファイルです。
- catalog.xsd
- coupon.xsd
- customer.xsd
- order.xsd
- pricebook.xsd
インポートデータを検証して構造化する
前述のとおり、Business Manager を介してファイルを手動でインポートすると、データがスキーマに照らして自動的に検証されます。プログラミングなど別の方法でデータをインポートする場合には、プログラムを使ってデータを検証できるようにデベロッパーに依頼する必要があります。
時としてユーザーが Business Manager でデータを手動で作成することがあります。たとえば、マーチャンダイザーが商品データに詳細を追加する場合などです。商品の詳細がスキーマに従っていなければ、データは無効で、エクスポート (とおそらく夜間のバックアップ) に失敗します。エクスポートを正常に実行するには、マーチャンダイザーにデータを編集してもらい、再度エクスポートします。
Commerce for B2C の大半のスキーマは、スキーマ要素が省略可能になっています。つまり、インポートに使用する XML ファイルごとに必要な要素のみを含めればよいことになります。連動要素は必ず含めるようにします。たとえば、「womens shoes」の商品データをインポートする場合、その商品が割り当てられているすべてのカテゴリを含めます。その 1 つ (「running」カテゴリなど) をインポートに含めることを忘れると、Commerce for B2C でこのカテゴリの割り当てが無視され、エラーログに記載されます。
次に、要素について詳しく見てみましょう。
要素と属性を確認する
これまでに、スキーマがルールを定めるものであること、そしてスキーマに従って生成された XML ファイルにはデータが正しい形式で記載されていることを学びました。
スキーマのルールは、特定のオブジェクトとその属性の本質を考慮します。このレベルの詳細さにより、オブジェクト固有のデータを細かく管理できるようになり、データに対する理解が深まります。ここで役立つのが要素と属性です。要素はデータオブジェクトで、属性はそのオブジェクトを説明します。たとえば、catalog.xsd (これはカタログスキーマです) には、カテゴリ要素と商品要素が含まれます。
以下は、カタログスキーマから生成された XML ファイルのカテゴリ要素の例です。
<category category-id="womens-shoes-sandals">
<display-name xml:lang="x-default">Sandals</display-name>
<online-flag>true</online-flag>
<parent>womens-shoes</parent>
<template/>
<page-attributes/>
</category>display-name 属性は、ストアフロントに表示されるカテゴリの名前です。true に設定されている online-flag 属性は、カテゴリがストアフロントに表示されることを意味します。parent 属性は、womens-shoes-sandals サブカテゴリの上位カテゴリを指定します。
以下は、XML ファイルの商品要素の例です。
<product product-id="008884303989">
<ean/>
<upc>008884303989</upc>
<unit/>
<searchable-flag>true</searchable-flag>
<tax-class-id>standard</tax-class-id>
<page-attributes/>
<custom-attributes>
<custom-attribute attribute-id="color">navy</custom-attribute>
<custom-attribute attribute-id="size">007</custom-attribute>
<custom-attribute attribute-id="width">N</custom-attribute>
</custom-attributes>
<pinterest-enabled-flag>false</pinterest-enabled-flag>
<facebook-enabled-flag>false</facebook-enabled-flag>
</product>upc 属性は、商品のユニバーサル商品コード (UPC) を示します。他に、searchable-flag や tax-class-id (この場合は standard に設定されています) などの属性があります。
次に、カテゴリ、商品、注文という使用頻度が特に高い 3 つの要素の重要なインポート/エクスポートルールについて学びます。
カテゴリ要素
以下は、カテゴリ要素をインポートするときに考慮すべき、要素固有の一定のルールです。
- カテゴリ要素は XML ファイルに任意の順序で表示できます。
- カタログのルートカテゴリを更新するには、replace (置換) モードを使用します。(モードについては次の単元で説明します。)
- カテゴリを削除すると、そのカテゴリの割り当て (カテゴリ内の商品ではない)、カテゴリのリンク (被リンクと発リンク)、すべてのサブカテゴリが削除されます。
- インポートにより、ルートカテゴリの表示名と説明が、カタログの表示名と説明に設定されます。
商品要素
以下は、商品要素をインポートするときに考慮すべき、要素固有の詳細です。
- 商品要素は XML ファイルに任意の順序で表示できます。
- バンドル、商品セット、ベース商品種別は相互に排他的なため、bundled-products、product-set-products、variation 要素も相互に排他的です。
- バンドル、商品セット、ベース商品種別のバリエーションは指定できません。
- ベース商品は、そのバリエーション商品とバリエーショングループを所有します。1 回のインポートプロセスで、所有権をあるベース商品から別のベース商品に変更できます。
注文要素
ストアフロントの注文を注文管理システムにエクスポートして処理します。Commerce for B2C は、注文ステータス、マスクされたクレジットカード番号、ロールバック、返品といった注文固有の詳細を自動的に処理します。
次の単元
この単元では、インポート/エクスポートを介して処理するデータのタイプ、インスタンスタイプ、スキーマファイル、Commerce for B2C でデータを検証する方法を学習しました。次は、グローバルおよび要素固有のインポート/エクスポートプロセスでのモードの使い方を学習します。
リソース
- Trailhead: Salesforce B2C Commerce のアーキテクチャ
- Trailhead: Salesforce B2C Commerce ファンクショナルアーキテクト用のプロジェクトドキュメント
- Salesforce ヘルプ: インポートとエクスポート
