Skip to main content
Join the Agentforce Hackathon on Nov. 18-19 to compete for a $20,000 Grand Prize. Sign up now. Terms apply.

Business Manager のインポートとエクスポートの確認

学習の目的

この単元を完了すると、次のことができるようになります。
  • インポート/エクスポートプロセスを介して転送できるデータオブジェクトを 3 つ挙げる。
  • Salesforce B2C Commerce の XSD ファイルの目的を説明する。
  • 参照のみの価格表機能を使用するメリットを 1 つ説明する。
  • オブジェクト固有のスキーマファイルのメリットを 2 つ説明する。
  • インスタンスを使用してストアフロントのデータをロールアウトする方法を説明する。

はじめに

Linda Rosenberg は高級なカスタムスニーカーを扱う Cloud Kicks 社の新任管理者です。その第一の任務はデータの管理です。具体的には、外部システムと B2C Commerce 間のストアフロントのデータの転送を管理する必要があります。また、新しいデベロッパーインスタンスをオンラインにするために、サイトの構成データをあるインスタンスから別のインスタンスに移動できるようにする必要があります。

Cloud Kicks では SKU 番号、商品説明、サイズ、画像、価格といったカタログの詳細が記録システムで作成されるため、Linda はインポートプロセスを使用してこうしたデータを B2C Commerce に転送する必要があります。その一方で、スニーカーの買い物客が B2C Commerce で注文したりクーポンを利用したりしたときに、データが後続処理用の外部システムに確実に送信されるようにする必要があります。そのために Linda はエクスポートプロセスを使用します。

メモ

ストアフロントとは、B2C Commerce を基盤とするオンラインの e コマースサイトです。1 つのインスタンスに複数のストアフロントを含めることができます。

Cloud Kicks の管理者である Linda Rosenberg

この単元では、Linda が B2C Commerce でのインポートとエクスポートの処理方法の基本を学習します。その後、この概念を実践するために、B2C Commerce を使用して手動でトリガーするプロセスや「バッチ」プロセスと、サイトのインポート/エクスポートを試してみます。それでは見てみましょう。

Linda は、B2C Commerce でサイトのインポート/エクスポート機能を試してみる前に、次のことを認識している必要があります。

  • Cloud Kicks がインポート/エクスポートするデータのタイプ
  • Cloud Kicks の管理者とデベロッパーが使用するインスタンスタイプ
  • スキーマファイルのしくみと、使い方を認識しておくべきスキーマファイル
  • B2C Commerce でのデータの検証方法

ストアフロントのデータのインポート/エクスポート

Cloud Kicks では次のタイプのストアフロントのデータをインポート/エクスポートすることを Linda は確認しました。

インポート エクスポート
アクティブデータ クーポンの使用
カタログ 顧客レコード
クーポン 注文
注文の更新 (キャンセル、返品、配送)
価格表

Cloud Kicks のプロセスは単純明快で、外部システムで B2C Commerce のファイル構造がサポートされています。つまり、Linda は大半の作業に Business Manager の手動のインポート/エクスポートプロセスを使用できます。他方、Cloud Kicks は大規模で複雑な価格帳を、頻繁に更新を行うサードパーティの商品情報管理 (PIM) システムで管理しています。そのため、Business Manager のインポートプロセスを使う代わりに、参照のみの価格表機能を使用してその価格データをインポートしています。この機能を使うと、一括転送をはるかに効率的に実行できます。

Staging (ステージング) へのインポート

B2C Commerce では、Sandbox (サンドボックス)、Staging (ステージング)、Development (開発)、Production (本番) の 4 つのタイプのインスタンスを利用できます。Sandbox (サンドボックス) はデベロッパーが作業するインスタンスで、Linda が Sandbox (サンドボックス) インスタンスを使用するのは、デベロッパーと一緒にインポート/エクスポートプロセスを編集するか新規作成する場合のみです。デベロッパーが新しいプロセスをテストしたら、Sandbox (サンドボックス) から Staging (ステージング) インスタンスに移動して Linda が使用できるようにします。

Linda はストアフロントのデータのインポートとエクスポートで Staging (ステージング) インスタンスと Development (開発) インスタンスを使用します。Staging (ステージング) インスタンスは、データ転送を準備するところです。Staging (ステージング) でストアフロントのデータとコードをテストした後、まず Development (開発) インスタンスにレプリケートしてから、Production (本番) インスタンスにレプリケートします。Development (開発) インスタンスを使用するのは、Production (本番) に送る前に、転送が正常に行われたことを確認するためです。

インポートプロセスの最後の重要なステップは、レコードのアーカイブとクリーンアップです。Linda は週に一回手動のプロセスを使用して、以前の XML ファイルをアーカイブし、古いファイルと不要なデータを削除します。Business Manager で自身が実行したインポートのレコードを削除すると、関連するログファイルも自動的に削除されます。

スキーマファイル

インポートやエクスポートを実行するうえで B2C Commerce のスキーマが大きな役割を果たすことを Linda は知りました。スキーマとは、オブジェクト固有の一連の XSD ファイルで、XML インポート/エクスポートファイルをどのような構造にする必要があるかを定義します。B2C Commerce では、これらのスキーマによって形式設定された XML インポートファイルのみを受け入れます。Linda が Business Manager を介してファイルを手動でインポートすると、B2C Commerce が自動的に対応するスキーマに照らして検証します。

Cloud Kicks ではパートナーと提携して外部システムを構成しており、スキーマによって規定された構造の XML ファイルが生成されます。Linda はインポートファイルを生成する外部ジョブについて把握し、変更に対応できるようにします。たとえば、時々スキーマが変更されるため、Linda はその変更によってインポート/エクスポートプロセスにどのような影響があるかを認識する必要があります。

B2C Commerce ではファイルが自動的に適切な XML 形式でエクスポートされますが、クーポンコードはこの例外で CSV 形式でエクスポートされます。

以下は、Linda が細心の注意を払うスキーマファイルです。

  • catalog.xsd
  • coupon.xsd
  • couponredemption.xsd
  • customer.xsd
  • customeractivedata.xsd
  • order.xsd
  • pricebook.xsd

データ検証

前述のとおり、Linda が Business Manager を介してファイルを手動でインポートすると、データがスキーマに照らして自動的に検証されます。プログラミングなど別の方法でデータをインポートする場合には、プログラムを使ってデータを検証できるようにデベロッパーに依頼する必要があります。

時としてユーザーが Business Manager でデータを手動で作成することがあります。たとえば、Traude Beck というマーチャンダイザーが商品データに詳細を追加する場合などです。Traude の詳細がスキーマに従っていなければ、データが無効になり、エクスポート (とおそらく夜間のバックアップ) に失敗します。エクスポートを成功させるには、Linda が Traude に編集するよう指示し、エクスポートを再試行できるようにする必要があります。

B2C Commerce の大半のスキーマは、スキーマ要素が省略可能になっています。つまり、Linda はインポートに使用する XML ファイルごとに必要な要素のみを含めればよいことになります。ただし、依存要素は必ず含める必要があります。たとえば、「プラットフォームスニーカー」の商品データをインポートする場合、その商品が割り当てられているすべてのカテゴリを含める必要があります。その 1 つ (「プラットフォーム」カテゴリなど) をインポートに含めることを忘れると、B2C Commerce でこのカテゴリの割り当てが無視され、エラーログに記載されます。

この点を理解するために、この後いくつかの要素について詳しく説明します。

要素と属性

これまでに、スキーマがルールを定めるものであること、そしてスキーマに従って生成された 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 属性は、ストアフロントに表示されるカテゴリの名前です。online-flag 属性は、true に設定された場合に、カテゴリがストアフロントに表示されることを意味します。上位属性は、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 (この場合は標準に設定されています) などの属性があります。

Linda は次に、カテゴリ、商品、注文という使用頻度が特に高い 3 つの要素の一定の重要なインポート/エクスポートルールを確認します。

カテゴリ要素

以下は、カテゴリ要素をインポートするときに考慮すべき、要素固有の一定のルールです。

  • カテゴリ要素は XML ファイルに任意の順序で表示できます。
  • 削除または置換モードでは、カタログのルートカテゴリが削除されません。置換モードでは更新されます(モードについては次の単元で説明します)。
  • カテゴリを削除すると、そのカテゴリの割り当て (カテゴリ内の商品ではない)、カテゴリのリンク (被リンクと発リンク)、すべてのサブカテゴリが削除されます。
  • ルートカテゴリの表示名と説明も、カタログの表示名と説明として設定されます。

商品要素

以下は、商品要素をインポートするときに考慮すべき、要素固有の一定の詳細です。

  • 商品要素は XML ファイルに任意の順序で表示できます。
  • バンドル、商品セット、ベース商品種別は相互に排他的なため、bundled-products、product-set-products、variation 要素も相互に排他的です。
  • バンドル、商品セット、ベース商品種別のバリエーションは指定できません。
  • バリエーション商品とバリエーショングループは、1 つのベース商品が所有します。1 回のインポートプロセスで、所有権をあるベース商品から別のベース商品に変更できます。

注文要素

Linda は Cloud Kicks の注文を注文管理システムにエクスポートして処理します。B2C Commerce は、注文ステータス、クレジットカード処理、ロールバック、返品といった注文固有の詳細を自動的に処理します。

次のステップ

この単元で、Linda はインポート/エクスポートを介して処理するデータのタイプ、インスタンスタイプ、スキーマファイル、B2C Commerce でデータを検証する方法を習得しました。次は、グローバルあるいは要素固有のインポート/エクスポートプロセスにおけるモードの使い方を学習します。

リソース

メモ

可能な場合は、会社の平等という価値に従って、インクルーシブではない用語を変更しました。顧客の実装に対する影響を回避するために、一部の用語は変更されていません。

Salesforce ヘルプで Trailhead のフィードバックを共有してください。

Trailhead についての感想をお聞かせください。[Salesforce ヘルプ] サイトから新しいフィードバックフォームにいつでもアクセスできるようになりました。

詳細はこちら フィードバックの共有に進む