コンテンツにスキップ

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機能リファレンス

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/ を参照してください。