---
title: "StockStatusおよびStockDetailsレベルエンティティ"
slug: "stockstatus-and-stockdetailslevel-entities"
abstract: ""
---
# StockStatusおよびStockDetailsレベルエンティティ

StockStatusとStockDetailsLevelエンティティは従来のエンティティとは若干異なり、列挙値を表現することを意図しています。StockStatusは標準的な列挙を表し、StockDetailsLevelはフラグの列挙を表します。

これらのエンティティのいずれかをECSに拡張する必要がある場合、拡張エンティティはそのエンティティの可能な値を表す定数や読み取り専用のプロパティも公開しなければなりません。例えば、新しいDownloadable値をStockStatusに拡張する場合、拡張されたEcsStockStatusエンティティはDownloadable値を表すstatic\`\`readonlyフィールド(すなわちpublic static StockStatus Downloadable = new EcsStockStatus(5, “Downloadable);)を公開すべきです。

InventoryProductBuilderクラスは、現在のサイトのコンテキストに基づいてInventoryProductエンティティを構築し、エンティティInventoryProduct比較などを行うためにインベントリシステムで使用されるヘルパークラスです。InventoryProductエンティティを拡張する場合、このクラスも拡張する必要があります。InventoryProductBuilderの構成は*sitecore/inventoryProductBuilder*の構成にあります。

InventoryAutomationProviderクラスは、Products Back in Stockの関与自動化計画の条件やアクションで、強型クラスとして自動化状態データにアクセスするためのヘルパークラスです。在庫システム内の自動化状態データはJSONシリアライズされた文字列として格納されます。InventoryAutomationProviderクラスは、オートメーション状態データ行に保存された情報をシリアライズおよびデシリアライズする役割を担います。

## 在庫補充エンゲージメントプラン

プランは支店テンプレートとして提供されており、複数のインスタンスを作成できます。各店舗につき1つのインスタンスを作成します。必要に応じて、デフォルトプランを異なる州や複数の州でカスタマイズできます。目的は、興味のある商品が再入荷し注文可能になった際に、顧客にメールで通知することです。

この自動化計画は、状態データをJSON形式でシリアライズした状態データを維持します。以下の値は顧客の在庫補充通知リクエストを追跡するために使用され、すべてStockNotificationRequestオブジェクトのリストを表しています。

-   commerce.productNotifications
    
    顧客が関心を持つ有効な通知リクエストのリストを含みます。
    
-   commerce.expiredNotifications
    
    期限切れの通知リクエストのリストを含みます。
    
-   commerce.backInStockProducts
    
    在庫が戻った商品のリストを含みます。
    

この自動化計画を支援するために、2つの新しい条件と2つの行動が設けられました。

-   アクション:期限切れの在庫返品通知を削除する
    
    この操作により自動化プランの状態データが更新され、利息日を過ぎている在庫補充通知リクエストが削除されます。デフォルトの利息日は、顧客が商品が在庫が戻った通知を依頼した日から180日後です。
    
-   アクション:Send Back In Stock通知メール
    
    このアクションは、興味のある商品が再入荷した際に顧客にメールを送信します。各店舗ごとに正しいメールアドレスとメールボディのブランディングをカスタマイズしてください。
    
-   状態:商品が在庫状態に戻っているか
    
    この条件は、顧客が興味を持つ商品が在庫が戻っているかどうかを確認します。少なくとも1つの商品が在庫に戻っていれば、この条件は真と評価されます。
    
-   状態:訪問者通知リストの期限切れ状態
    
    この条件は、顧客がまだ有効な在庫補充通知リクエストを持っているかどうかを確認します。期限切れの在庫補充通知リクエストが少なくとも1件存在する場合、この条件は偽と評価されます。
    

これらすべての条件やアクションは、InventoryAutomationProviderクラスに依存して自動化状態データにアクセスし、通知比較を行います。したがって、条件やアクションを直接カスタマイズする必要はありません。代わりに、InventoryAutomationProviderクラスを更新して、この自動化計画に必要な機能を拡張できます。