Vendure プラグイン実装ガイド(目次)¶
このセクションでは、B2B要件に対応するVendureカスタムプラグインの実装方針と仕様をまとめます。
💡 現行の商流ルールについて:
docs/specifications/キャンペーン-価格制御責務分離.mdでは、業務概念として Pricing Rule(恒常価格) / Campaign(期間販促・特典)/ Access Policy(可視性・決済) を分けます。実装上は CommercialRulesPlugin が Pricing Rule と Campaign を共通エンジンで評価し、React Dashboard では/commercial-rulesを「価格・販促 > 価格・販促ルール」、/policiesを「ポリシー管理」として案内します。Vendureの基礎知識が必要な場合: プラグイン開発の前に、Vendure開発ハンドブックでアーキテクチャやコアコンセプトを理解することを推奨します。
プラグイン開発ガイド¶
プラグイン開発の基礎¶
プラグインの実装手順とベストプラクティス。@VendurePluginデコレーター、8ステップ実装ガイド、CLIコマンド(npx vendure add)、マイグレーション管理、ライフサイクルフック。
- 対象者: 既存チームメンバー(Vendure基礎知識あり)
- 内容: 実装手順、コード例、ディレクトリ構造
- 目的: 「どう作るか」の実践的ガイド
プラグイン概要と設計方針¶
アーキテクチャパターン、設計原則、データモデル設計、統合パターン、パフォーマンス最適化、セキュリティベストプラクティス。
- 対象者: アーキテクト、上級開発者
- 内容: 設計原則、パターン、ベストプラクティス
- 目的: 「なぜこう設計するか」の方針
Vendure機能リファレンス¶
- Vendure B2B機能リファレンス - VendureのB2B向け標準機能の詳細解説
API開発ツール¶
- API ドキュメント・可視化ガイド - GraphiQLによるAPI探索とテスト
カスタムプラグイン¶
概要・設計方針¶
- プラグイン概要と設計方針 - アーキテクチャパターン、設計原則、データモデル設計、統合パターン、パフォーマンス最適化、セキュリティベストプラクティス
コアビジネスロジック¶
顧客管理プラグイン¶
動的な顧客ステータス管理と商品アクセス制御を実現。階層的権限管理、ステータス変更履歴、一括ステータス更新機能を提供。
顧客拡張プラグイン¶
Shop API でログイン中の顧客自身に関する情報(顧客階層など)を提供する統合プラグイン。
顧客可視性プラグイン¶
顧客・顧客グループ・全対象(global scope)で、商品やキャンペーンなどの可視性を制御するプラグイン。表示制御ルールを管理し、Shop API の可視性付きクエリを提供。
商流ルール¶
単価変更、注文調整、段階特典、対象商品条件を単一ルール帳票で管理。
配送計算プラグイン¶
ShippingCalculatorPlugin
がキャリア × 配送ゾーン(9 区分)別の配送料金計算、直送モード(+10%サーチャージ)、無料配送閾値管理を担う。
セット商品プラグイン¶
セット商品(顧客にはセットとして見せ、内部/SMILE 連携では構成品に分解して扱う)を実現するプラグイン。構成品数量の合算による在庫/購入制限判定にも対応。
商流ルール移行メモ¶
旧 campaign / pricing 実装から commercial へ統合した差分と移行方針。
ポイント・ギフト券・クーポンプラグイン¶
ギフト券コード登録によるポイント加算、ポイント残高/履歴取得、クーポン割引の仮想商品出力を提供。
サポート機能¶
在庫管理プラグイン¶
Vendure 標準の在庫検証・在庫引当、予約受注 split checkout、購入制限ルール(月間上限、最小/最大購入数、購入単位制限)、在庫有り/無し商品の混在注文対応。
バルク編集¶
React Dashboard から対象一覧の現在値を CSV export し、編集済み CSV を dry-run preview 後に適用する運用機能。CSV は 1 行目に machine key、2 行目に人間用 label、3 行目以降に data を持つ。
同意システムプラグイン¶
グリコール酸・iMESO等の特定商品購入時の同意記録、法的保持期間管理(7年間)、デジタル署名対応、同意の有効性検証、GraphQL API提供。
決済方法ハンドラー¶
SB
Paymentクレジットカード、売掛決済、代引き決済、銀行振込/前入金の決済方法ハンドラーを実装。現コード上は SB
Payment は SbPaymentIntegrationPlugin、売掛は
CreditSalePlugin、銀行振込/代引きは StandardPaymentsPlugin で登録されます。
SMILE連携プラグイン¶
会計システム「SMILE V2」との連携。注文データ・顧客データのCSV出力(SHIFT_JIS対応)、納品先自動採番管理、バッチ処理、エラー追跡・復旧機能。連携要件とAPI仕様もこのページに統合済み。
システム連携プラグイン¶
外部システムからのサーバー間Webhookを受信する入口。出荷完了Webhookの署名検証、本番反映、production / shadow の比較運用を扱う。
お気に入りプラグイン¶
商品お気に入り登録・削除、お気に入り商品一覧取得、お気に入り状態確認機能を提供するシンプルなプラグイン。
購入共起レコメンドプラグイン¶
注文内の同時購入データから関連商品を自動抽出し、Shop API でレコメンドを取得できるプラグイン。
Customer Password Admin¶
管理者が顧客パスワードを再設定できる Admin API を提供。履歴記録とメール通知のトリガーまでを担う。
メールテンプレート運用¶
Vendure EmailPlugin のテンプレート構成、言語別テンプレートの運用、件名とプレビューの整合ルールをまとめる。
Dashboard運用拡張プラグイン¶
React
Dashboard のアクションバー拡張を統合し、注文CSV・商品バリアントCSVのダウンロードを提供。DashboardExtensionsPlugin
が UI の読込を、AdminExtensionsPlugin が GraphQL / 設定フックを担う。
カタログ配下の「カスタム商品リスト」も同じ Dashboard / AdminExtensionsPlugin の責務で管理する。商品リストの仕様、Storefront 表示位置、WordPress shortcode 契約は カスタム商品リスト仕様 を正本にする。
CMS API Plugin¶
CmsApiPlugin が WordPress などの外部 CMS 向けに SKU
/ 商品 / コレクション / キャンペーンの検索用 REST
API を提供する。CMS 側のサジェスト入力や参照選択の補助に使う。
Shop Product Variants プラグイン¶
Shop API に productVariants
クエリを追加し、商品バリアント一覧を取得可能にするプラグイン。
セキュリティログプラグイン¶
顧客のログイン試行を詳細に記録し、不正アクセスの検知やカスタマーサポートの迅速化を実現。AES-256-GCM 暗号化、IP位置情報特定、ログイン失敗時のメール通知機能を提供。
Payment Eligibility Checkers¶
SMILE回収方法(回収方法)に応じて決済可否を判定するチェッカー群。
運用診断プラグイン¶
DiagnosticsPlugin
が、設定ミスによる顧客の不利益(0 件可視顧客・0 円販売・上代超え 等)を実エンジンで検出する汎用診断フレームワーク。検査項目はレジストリ登録式で、React
Dashboard の「運用診断」画面から実行し該当画面へ誘導する。
最新の設計は /docs/02-design/、運用・展開は
/docs/03-implementation/infrastructure/ を参照してください。