コンテンツにスキップ

ポイント・ギフト券・クーポン(Points System)

ポイント/ギフト券/クーポンの運用を支えるプラグイン。ギフト券コード登録によるポイント加算、ポイント残高/履歴の取得、クーポン割引の仮想商品出力を担う。

役割

  • ギフト券コード登録(Storefrontのマイメニュー/URL query からの登録)
  • ポイント残高と獲得履歴の提供(Shop/Admin API)
  • ギフト券コードの無効化/削除(Vendure Dashboard)
  • クーポン割引の仮想商品出力(SMILE連携のCSV出力で利用)

プラグイン情報

  • コード配置: packages/plugins/points-system
  • エントリーポイント: packages/plugins/points-system/src/index.ts
  • 初期化: PointsSystemPlugin.init({ ... })

GraphQL API

Shop API

  • pointSummary: ポイント残高と次回失効情報
  • pointHistory: 獲得履歴
  • applyGiftCode(code: String!): ギフト券コード登録

Admin API

  • pointSummaryForCustomer(customerId: ID!)
  • pointHistoryForCustomer(customerId: ID!)
  • disableGiftCode(code: String!): 未使用コードの無効化
  • deleteGiftCode(code: String!): 未使用コードの削除

データモデル

  • ポイント台帳: ritsubi_point_ledger
  • 付与/減算履歴を保持(有効期限あり)
  • ギフト券マスタ: ritsubi_gift_voucher
  • 付与ポイント/登録期限/有効期限(相対・固定日)/対象制限
  • ギフト券コード: ritsubi_gift_voucher_code
  • statusACTIVE/USED/DISABLED)、disabledAt を保持
  • issuedByAdminId(発行者)
  • ギフト券マスタ
  • issuedByAdminId(発行者)
  • クーポンコード上書き: ritsubi_coupon_code_override
  • クーポンコードごとの仮想商品コード上書き

Vendure Dashboard

  • 配置: 「マーケティング」配下に「ギフト券コード管理」
  • 機能: 個別コードの無効化/削除

SMILE連携

  • クーポン割引は 仮想商品行 として注文CSVに出力
  • ベース仮想商品コード を使い、クーポンコードごとの上書きを優先

運用ルール

  • 無効化が基本: 監査/問い合わせ対応のため履歴を保持
  • 削除は例外運用: 誤発行・未使用のみ(使用済みは削除不可)
  • 発行者管理: 発行時の管理者IDを記録し、表示時に管理者名を参照する

設定

PointsSystemPlugin.init のオプションで仮想商品の基準コードを指定できる。

  • giftBaseProductCode: ギフト券のベース仮想商品コード(例: 80000060
  • couponBaseProductCode: クーポンのベース仮想商品コード(例: 80000088