Commerce Stock Notifications

在庫切れ商品が再入荷した際にメール通知を受け取れるよう、ユーザーが購読登録できる機能を提供します。

commerce_stock_notifications
533 sites
20
drupal.org

概要

Commerce Stock Notificationsは、Drupal Commerceストアに再入荷通知システムを追加する拡張モジュールです。商品が在庫切れの場合、モジュールは自動的に「カートに追加」ボタンを通知購読フォームに置き換え、顧客がメールアドレスを入力できるようにします。

商品が再入荷すると、モジュールはcronベースのキューシステムを通じて、購読ユーザーに自動的にメール通知を送信します。購読管理、トークンをサポートした通知メッセージのカスタマイズ、古い通知レコードの自動クリーンアップなど、完全な管理機能を備えています。

各通知購読はコンテンツEntityとして保存されるため、Views連携が可能で、管理者は中央の場所からすべての購読を追跡・管理できます。

Features

  • 在庫切れ商品のカートに追加フォームを自動的に変更し、通知購読フォームを表示
  • 通知購読を完全なメタデータ(ユーザー、メール、商品バリエーション、タイムスタンプ)を持つコンテンツEntityとして保存
  • 商品が再入荷した際にcron実行時に購読を処理するキューベースのメール通知システム
  • Tokenモジュールをサポートした完全にカスタマイズ可能なメール件名と本文(ユーザーおよびcommerce_product_variationトークン対応)
  • 在庫切れ、成功、重複購読シナリオに対するユーザー向けメッセージの設定が可能
  • 設定可能な日数経過後に送信済み通知レコードを自動削除
  • ユーザープロフィールページにアクティブな通知購読を表示する組み込みViewsディスプレイ
  • ユーザーが通知購読を削除できる購読解除機能
  • カスタムレポートやすべての購読の管理ビューを作成できるViews連携
  • 在庫状況を判断する際に最小注文数量を考慮するCommerce Product Limitsモジュールのサポート

Use Cases

ECサイトの在庫アラート

在庫管理機能を使用しているDrupal Commerceを利用したオンラインストア向けに、顧客が在庫切れ商品の通知に登録できます。在庫が補充されると、顧客は自動メールアラートを受け取り、購入を完了するよう促されます。

予約注文の関心収集

まだ在庫がない新商品を発売する際、ストアはこのモジュールを使用して顧客の関心を収集できます。在庫が入荷すると、通知システムが関心を持つ顧客に自動的にアラートを送信します。

高需要商品の管理

頻繁に完売する商品の場合、通知システムは顧客の関心を維持し、購読リストを通じて需要レベルに関する貴重なデータを提供します。

ゲスト顧客のエンゲージメント

匿名ユーザーに作成権限を付与することで、ストアは未登録の訪問者から通知購読を収集でき、商品が再入荷した際に顧客に転換できる可能性があります。

Tips

  • メールテンプレートで[commerce_product_variation:title]や[commerce_product_variation:url]などのトークンを使用して通知をパーソナライズ
  • 適切な削除間隔(デフォルト30日)を設定して、有用なデータを保持しながら通知テーブルをクリーンに保つ
  • ユーザー購読管理用に提供されるViewsを検討し、管理レポート用に拡張
  • テスト商品を購読してから手動で在庫を設定し、通知キューをトリガーしてメール配信をテスト

Technical Details

Admin Pages 2
在庫通知設定 /admin/commerce/config/stock/stock-notifications

在庫通知のメールテンプレートとユーザー向けメッセージを設定します。このページでは、商品が再入荷した際にユーザーに表示されるすべてのテキストと送信されるメールをカスタマイズできます。

在庫通知 /admin/structure/commerce_stock_notification

すべての在庫通知購読の管理一覧。ユーザーメール、商品、送信日、送信日時などの購読詳細を表示し、手動管理用の購読解除リンクを提供します。

権限 2
在庫通知を作成

在庫切れ商品の在庫通知を購読できるようにします。ゲスト購読を許可する場合は匿名ユーザーに付与してください(注意:匿名ユーザーは自分で購読解除できません)。

Commerce在庫通知を管理

すべての通知の表示、設定へのアクセス、任意の通知購読の削除を含む完全な管理アクセス。

Hooks 5
hook_form_alter

在庫切れ商品のカートに追加フォームを変更し、送信ボタンを通知購読インラインフォームに置き換えます。

hook_cron

cron実行中に2つのキューを管理:(1) 商品が再入荷した購読の通知送信キューアイテムを作成、(2) 削除間隔より古い送信済み通知のクリーンアップキューアイテムを作成。

hook_mail

HTMLフォーマットをサポートした在庫通知用のメールメッセージを準備します。

hook_theme

メール通知コンテンツをレンダリングするためのcommerce_stock_notifications_messageテーマフックを定義します。

hook_module_implements_alter

他のモジュールの後でカートに追加フォームを適切に変更するため、モジュールのform_alterが最後に実行されるようにします。

Troubleshooting 4
通知が送信されない

cronが定期的に実行されていることを確認してください。モジュールはcron実行中に通知を処理します。commerce_stock_notificationsキューにアイテムがあり、商品が実際に再入荷していることを確認してください。

匿名ユーザーが購読できない

匿名ユーザーロールに「Create commerce stock notifications」権限を付与してください。匿名ユーザーは自分で購読解除できない点に注意してください。

メールがHTML形式で表示されない

Swift Mailerまたは他のHTMLメールモジュールのインストールを検討してください。モジュールはHTMLヘッダーを設定しますが、メールシステムがHTMLレンダリングをサポートしている必要があります。

在庫切れ商品にフォームが表示されない

Commerce Stockが正しく設定され、在庫レベルが正しく設定されていることを確認してください。モジュールはCommerce Stockサービスマネージャーを通じて在庫を確認します。

Security Notes 3
  • 匿名ユーザーの購読はユーザー自身では購読解除できません - 管理者が手動で管理する必要があります
  • メールアドレスは通知配信のためデータベースにプレーンテキストで保存されます
  • 購読解除URLには通知IDが含まれており、理論的には列挙が可能ですが、アクセスはEntity権限で制御されています