顧客可視性(Customer Visibility)プラグイン¶
概要¶
顧客・顧客グループ・グローバルのスコープに対して、商品やキャンペーンなどの対象リソースの可視性や許可/拒否を制御するプラグインです。Shop API に可視性を考慮した取得系クエリを追加し、Admin API でリソース/サブジェクトとポリシーの管理を行います。
主要コンセプト¶
- リソースセット: 対象リソースを束ねる単位(商品、キャンペーン、コレクション、決済方法など)
- サブジェクトセット: 顧客・顧客グループ・グローバルなど対象者を束ねる単位
- ポリシー: リソースセットとサブジェクトセットを関連付け、可視性/価格/決済などの効果を定義
Shop API 拡張¶
productVariantsWithVisibility: ポリシーに基づいた商品バリアント一覧を取得previewVisibility: 顧客と対象を指定して可視性の判定結果を確認validateVisibility: 対象 ID の可視性判定を行い、有効なもののみ返却
Admin API 拡張¶
- リソースセット/サブジェクトセット:
resourceSets,subjectSets - ポリシー:
policies,previewPolicy,customerPolicyOverview,customerGroupPolicyOverview - ルール/セット/ポリシーの CRUD ミューテーション
データ保存¶
以下のエンティティで管理します。
ResourceSetEntity/ResourceSetItemEntitySubjectSetEntity/SubjectSetItemEntityPolicyEntity
連携¶
- 決済可否判定:
paymentGroupEligibilityCheckerが本プラグインのポリシーを参照します。 - Vendure Dashboard: ポリシー管理 UI が Admin API を利用します。