詳細情報:
Omnichannel Inventory (OCI) を使用した在庫管理
Salesforce Omnichannel Inventory (OCI) とのインテグレーションにより、在庫データの処理と外部管理システムとの連携において、よりパワフルな機能が提供されます。このトピックは、B2C Commerce に該当します。
Omnichannel Inventory (OCI) インテグレーション
Omnichannel Inventory で在庫を管理する場合、在庫レコードの作成や変更は B2C Commerce では行いません。これはインテグレーションによって処理され、Omnichannel Inventory から送られたデータに基づいて B2C Commerce で入手可能性が自動的に更新されます。B2C Commerce が在庫レベルに影響を及ぼすのは、買い物カゴまたは注文に対する在庫の予約のみです。その他のすべての在庫の更新は Omnichannel Inventory で行います。
Omnichannel Inventory の構成とカスタマイズについては、Salesforce ヘルプの Omnichannel Inventory トピックを参照してください。
ロケーショングラフ
ロケーショングラフとは、B2C Commerce ストアフロントからの注文のフルフィルメントを行う Omnichannel Inventory 内の在庫のロケーションとロケーショングループの集合のことです。ロケーションは特定の在庫ソースを表し、通常は倉庫などの物理的な場所のことです。ロケーショングループはロケーションのセットと関連付けられます。たとえば、定義された地域内のロケーションや、共通するブランドやストアフロントに属するロケーションです。ロケーショングループは、これらのロケーションにおける在庫を集計して表示します。ロケーショングループの在庫の数量は、グループ内のロケーションの対応する数量の和として計算されます。たとえば、ロケーショングループの手持在庫の数量は、そのグループ内のすべてのロケーションの手持在庫の数量の和です。
B2C Commerce は、ロケーショングラフで在庫リストをロケーションやロケーショングループと関連付けることで、在庫データを表示します。ストアフロントに直接表示したい Omnichannel Inventory のロケーションまたはロケーショングループごとに、B2C Commerce で 1 つの在庫リストを作成します。在庫リストの ID は、関連付けられている Omnichannel Inventory 内のロケーションまたはロケーショングループの外部参照 (External Reference) の値と一致することが必要です。あるロケーションでロケーショングループの一部としてのみ注文のフルフィルメントが行われる場合は、そのロケーションのリストを作成する必要はありません。
各 B2C Commerce サイトに対して、ロケーションまたはロケーショングループを使用して、そのサイトで行われた注文のフルフィルメントに使用可能なデフォルトの在庫を表します。ロケーションまたはロケーショングループの在庫リストをそのサイトに割り当てます。店舗などのその他の在庫リストを使用する場合は、これらの在庫リストを独自のロケーションまたはロケーショングループに関連付けます。
在庫の予約
B2C Commerce で注文が作成されると、在庫の予約リクエストが Omnichannel Inventory に送信されます。Omnichannel Inventory では、そのサイトまたは店舗の在庫リストに関連付けられているロケーションまたはロケーショングループに予約の割り当てが試みられます。十分な在庫がない場合は、予約は失敗します。Omnichannel Inventory が予約を受け付けた後は、ご使用の注文管理システムと連携してその後の処理が実行されます。
買い物カゴのための在庫の一時予約をリクエストするカスタマイズを実装する場合は、インテグレーションによってこれらのリクエストが Omnichannel Inventory に送られます。
Omnichannel Inventory を使用する際の注意事項と制限事項
- 表示される在庫の入手可能性データは、最終的には一貫性をもちます。つまり、UI や API に反映されるまでに少し時間がかかることがあります (通常数秒)。このため、B2C Commerce が Omnichannel Inventory で在庫の予約を行う場合、この予約に割り当てた数量が入手可能性のデータにすぐに反映されないことがあります。この遅延は、在庫の入手可能性のクエリーを使用する Script API のカスタマイズなど、入手可能性データに依存するすべての B2C Commerce 機能に影響します。ただし Omnichannel Inventory は予約リクエストを順番に処理するため、注文のフルフィルメントに十分な在庫が実際にある場合にのみ、予約のリクエストは成功します。
- カスタムコードで買い物カゴのために一時予約をリクエストする場合、これらの一時予約は表示される在庫の入手可能性に影響します。(Omnichannel Inventory を使用していない場合、Commerce プラットフォームでは予約を作成する際に既存の一時予約が考慮されますが、表示される入手可能性データには含まれません。)
- 注文在庫機能を有効にすることはできません。
- ロケーショングループは 20 件まで作成できます。
- ロケーションとロケーショングループに関連付けられた在庫リストの ID には、以下の制限があります。
- 長さは 2 ~ 128 文字であることが必要です。
- 次の文字のみを含むことができます: A–Z、a–z、0–9、_ (下線)、- (ハイフン)
- B2C Commerce で在庫レコードを作成または変更することはできません。在庫リストを B2C Commerce にインポートすることはできますが、商品の在庫データは Omnichannel Inventory に直接インポートする必要があります。メモ B2C Commerce に個々の在庫レコードをインポートしようとすると、次の警告が表示されます: Omnichannel Inventory does not support the import of inventory records. Skipping element. (Omnichannel Inventory では在庫レコードのインポートはサポートされていません。要素を省略します。)
- B2C Commerce から在庫データをエクスポートしないでください。B2C Commerce からは、Omnichannel Inventory とのインテグレーションを行う前の古いデータがエクスポートされます。在庫データをエクスポートするには、Omnichannel Inventory からエクスポートします。
- 在庫レコードではカスタムプロパティは使用できません。
- B2C Commerce API を使用して個々の在庫レコードを変更することはできません。それ以外は、在庫に関連する API メソッドは Omnichannel Inventory を使用しない場合と同様に機能します。
inventory_lists/{inventory_list_id}/product_inventory_recordsエンドポイントへの OCAPI 呼び出しはできません。- Omnichannel Inventory では 30 日後に確定されなかった注文に対する在庫の予約は取り消されるため、B2C Commerce で確定しなかった注文 (ステータスが「作成済み」) を維持すると入手可能性に矛盾が生じることがあります。この問題を避けるために、サイトレベルの注文の環境設定で自動未確定注文設定を使用してください。
- Omnichannel Inventory では明示的な予約販売はサポートされていません。代わりに、予定されている在庫の補充を「将来」として表します。各「将来」の値には、数量と予定日があります。
- 商品が Omnichannel Inventory で「将来」の値をもつ場合、B2C Commerce では backorderable (取り寄せ可能) フラグが true になります。それ以外の場合は、フラグは false です。
- B2C Commerce では、商品の preorderable (予約販売可能) フラグは常に false です。
- B2C Commerce では、商品の BackorderAllocation (取り寄せの割り当て) の数量は、その商品のすべての既存の将来の数量の合計で、inStockDate (在庫日) はもっとも近い将来の expectedDate (予定日) です。PreorderAllocation (予約販売の割り当て) の数量は常にゼロで、PreorderBackorderAllocation (予約販売/取り寄せの割り当て) の数量は常に BackorderAllocation (取り寄せの割り当て) に一致します。
- Omnichannel Inventory の「将来」では expectedDate (予定日) の値が必要です。Omnichannel Inventory を使用しない場合、B2C Commerce の取り寄せと予約販売の数量では inStockDate (在庫日) の値は必要ありません。
- Omnichannel Inventory では、個々の在庫レコードの無期限入手可能性はサポートされていません。ただし、いくつかの方法で同様の機能を実装できます。
- B2C Commerce 在庫リストのデフォルトで在庫あり設定を使用する。注文で「デフォルトで在庫あり」がオンの在庫リストが使用されると、そのリストにない商品は自動的に入手可能になります。ただし、これらの商品は予約のリクエストには含められません。「デフォルトで在庫あり」をこのように使用する場合は、注文ワークフローをカスタマイズして、これらの商品の予約を作成および管理します。
- Omnichannel Inventory で、1 つまたは複数のロケーションで、商品の入手可能在庫を 999999999 に設定します。B2C Commerce で、その商品を通常どおりに処理します。この場合、その商品の注文のフルフィルメントが適切なロケーションで行われるように注文ワークフローをカスタマイズします。
- B2C Commerce では、Omnichannel Inventory から受け取った入手可能性のキャッシュデータを使用して、入手可能性検索インデックスが作成されます。このデータは最終的には一貫性があるとみなされる点に注意してください。
- Omnichannel Inventory のカスタマイズを実装する場合に最大のパフォーマンスを達成するには、ヘッドレス Commerce API を使用します。対応する Salesforce Core Connect API とアクションによって、Commerce API の呼び出しが内部的に行われます。ロケーショングラフの更新は例外です。Commerce API ではこの機能が提供されないためです。警告 Salesforce Core Connect API を使用して大規模な在庫データファイルをアップロードしようとすると、組織のパフォーマンスに大きな影響が出る場合があります。Connect API を使用する場合、在庫データファイルは JSON 形式であることが必要で、最大 10 MB の制限があります。ヘッドレス Commerce API を使用する場合は、ファイルには JSON 形式または GZIP 形式を使用でき、制限は最大 100 MB になります。
- Omnichannel Inventory は、カスタムの SSL 証明書を使用する B2C Commerce の Staging (ステージング) インスタンスでは使用できません。B2C Commerce からのカスタムドメイントラフィックは許可されないため、Omnichannel Inventory との通信に埋め込みコンテンツ配信ネットワーク (eCDN) が必要です。Staging (ステージング) インスタンスでは eCDN はアクティブではありません。
- Omnichannel Inventory で Order Post-Processing (注文の後処理) API (Gillian カートリッジ) を使用することはできません。
B2C Commerce の在庫モード
B2C Commerce は、以下の 3 つの在庫モードのいずれかになります。
- Commerce プラットフォーム在庫: B2C Commerce が入手可能性と予約を内部で処理します。インテグレーションはアクティブではありません。
- OCI キャッシュ有効化: Omnichannel Inventory が入手可能性データのキャッシュを書き込みます。ただし、B2C Commerce が引き続き入手可能性と予約を内部で処理します。
- Omnichannel Inventory (OCI): インテグレーションはアクティブです。B2C Commerce はキャッシュ内の入手可能性データのみを使用し、予約のリクエストを Omnichannel Inventory (OCI) に送信します。
最初は、B2C Commerce は Commerce プラットフォーム在庫モードです。Omnichannel Inventory とのインテグレーションを初めてアクティブにすると、B2C Commerce は OCI キャッシュ有効化モードに変わります。キャッシュの準備ができると、Omnichannel Inventory (OCI) モードに変わります。現在のモードは、Business Manager の Omnichannel Inventory (OCI) インテグレーションページに表示されます。
入手可能性検索インデックス
B2C Commerce が Commerce プラットフォーム在庫モードまたは OCI キャッシュ有効化モードの場合、入手可能性インデックスは B2C Commerce の在庫入手可能性データを使用して作成されます。B2C Commerce が Omnichannel Inventory モードの場合は、入手可能性インデックスは Omnichannel Inventory からキャッシュされた入手可能性データを使用して作成されます。
Omnichannel Inventory モードを選択すると、入手可能性インデックスが完全に再作成されます。それ以外の場合は、入手可能性インデックスは通常通りに機能します。
Omnichannel Inventory を使用するための既存のストアフロントの変換
Omnichannel Inventory と既存の B2C Commerce ストアフロントとのインテグレーションを行う場合は、計画プロセスに以下の手順を含めます。
- 既存のサイト、店舗、および在庫のロケーションを Omnichannel Inventory のロケーションとロケーショングループにマッピングします。
- B2C Commerce で在庫リストを使用して表示するロケーションおよびロケーショングループを決定します。
- 注文に使用されているが、サイトに割り当てられていない在庫リストを特定します。たとえば、店舗に割り当てられているリストなどです。Omnichannel Inventory で各在庫リストをロケーションまたはロケーショングループに関連付けます。
- 既存の在庫データインポートプロセスを B2C Commerce から Omnichannel Inventory に転送する計画を作成します。
- Omnichannel Inventory と互換性のない既存のカスタマイズを特定し、これらのカスタマイズを変更するか、置き換えるかを決定します。これには、商品在庫レコードを変更するカスタマイズが含まれます。
用語
B2C Commerce と Omnichannel Inventory では、以下の用語が異なります。
| B2C Commerce の用語 | Omnichannel Inventory の用語 | 説明 |
|---|---|---|
| 該当なし | 手持数量 | 現在の現物数量 |
| 該当なし | 安全在庫 | 過剰販売を防ぐために確保する現物在庫の数量 |
| 割り当て数量 | 該当なし | (手持数量) - (安全在庫) として計算されます |
| 割り当てリセット日 | 有効日 | 前回の在庫データの更新日。Omnichannel Inventory を使用する場合、この値は null にすることができます。 |
| 取り寄せの割り当て数量 (および予約販売と取り寄せの割り当て数量) | 将来の数量 (将来の数量が複数存在する場合は、B2C Commerce での値はこれらの和になります) | 予想されている販売可能な将来の在庫補充の数量 |
| 在庫日 | 最も近い将来における予定日 | 将来の在庫補充の数量が予定されている日付 |
| 売上数、予約済み、および注文中の数量 | 予約済み合計数 | 注文のフルフィルメントのために予約されている数量 |
| 在庫レベル | ATF (フルフィルメント可能数量) | (手持数量) - (安全在庫) - (予約済み合計数) として計算され、最小値は 0 です。 |
| ATS (販売可能数量) | ATO (注文可能数量) | (手持数量) + (将来の数量) - (安全在庫) - (予約済み合計数) として計算され、最小値は 0 です。 |

