EC-CUBE 4.2 / 4.3 対応

商品お問い合わせプラグイン

ProductInquiry — AI自動返信提案、動的カスタム項目、商品規格連携、スパム防御を備えた本格お問い合わせシステム

プラグインコード: ProductInquiry
提供元: CubeLab

1プラグイン概要

商品お問い合わせプラグイン(ProductInquiry)は、EC-CUBE 4.2 / 4.3 の商品詳細ページから直接、商品の仕様や在庫状況などについて顧客が管理者に問い合せを行える本格的なカスタマーサポート拡張機能です。

単なる問い合わせフォームにとどまらず、**Google Gemini AIによる返信下書きの自動生成**、**動的なカスタム入力項目の自由作成**、**選択された商品規格(Color/Size/SKU)の自動補獲**、**Honeypot & reCAPTCHA v3 スパム遮断**など、先進的なCS運用機能が網羅されています。

主な機能ハイライト

AI自動返信提案
Google Gemini APIと連携し、問い合わせ本文・商品情報・過去ログを踏まえた最適な返信下書きをワンクリックで自動生成。
動的カスタム項目
テキスト、セレクト、ラジオ、ファイル添付(複数・サイズ上限)などのフォーム項目を管理画面から自由に作成可能。
商品規格(SKU)連携
商品詳細画面で選択されている「サイズ」「カラー」「SKUコード」を自動的に問い合わせデータへ引き継ぎ保存。
高度なスパム対策
Honeypot(隠しフィールド)によるボット自動遮断と、Google reCAPTCHA v3 による高精度なスパムガードを搭載。
隠しCSVインポート
管理者用シークレットキーによるアクセス制御付き。返信テンプレートの更新・追加(UPDATE/INSERT制御)をCSVで一括操作。
マイページ・追跡URL
会員はマイページから過去ログ・返信を確認可能。非会員ゲストもトークン付き個別確認URLから安全に閲覧・返信できます。

2インストール・有効化

2-1. ファイル配置

プラグインのプログラムファイルを EC-CUBE の Plugin ディレクトリへ配置します。

/path/to/eccube/app/Plugin/ProductInquiry/   ← ここに配置

2-2. コマンドでの有効化

EC-CUBE ルートディレクトリにて以下のコマンドを実行します。

cd /path/to/eccube
php bin/console eccube:plugin:install --code=ProductInquiry
php bin/console eccube:plugin:enable --code=ProductInquiry
php bin/console cache:clear
有効化時に必要なデータベーステーブル(plg_product_inquiry、plg_inquiry_reply、plg_inquiry_template 等)および初期カテゴリが自動生成されます。

3動的カスタム項目管理 (詳細)

管理画面の 商品お問い合わせ ➔ カスタム項目管理 から、標準項目(お名前、メール、問い合わせ本文)に加えて、ショップ独自の入力フィールドを追加できます。

サポートするフィールドタイプ

タイプ説明オプション設定
テキスト (text)1行のテキスト入力項目(例: シリアル番号、希望納期など)必須フラグ、デフォルト値、プレースホルダー
セレクトボックス (select)ドロップダウン選択肢(例: 使用用途、ご予算帯)選択肢一覧(改行区切り)
ラジオボタン (radio)単一選択のラジオボタン選択肢一覧(改行区切り)
チェックボックス (checkbox)複数選択が可能なチェック項目選択肢一覧(改行区切り)
ファイル添付 (file)画像やPDFなどのファイルアップロード(複数ファイル可)最大ファイルサイズ制限(例: 5MB)、許可拡張子(jpg, png, pdf等)
設定されたカスタム項目は、フロントのお問い合わせフォームだけでなく、管理者の問い合わせ詳細画面、各種送信メール本文、マイページの顧客確認画面にもそのまま美しく反映されます。

4AI自動返信提案機能 (詳細)

カスタマーサポートの返信業務時間を削減するため、Google Gemini API を活用した「AI返信アシスタント」が搭載されています。

4-1. 動作の仕組み

問い合わせ詳細画面(`Admin/Inquiry/detail`)にて **「AI返信提案を生成」** ボタンをクリックすると、システムが以下の文脈情報を集約して Gemini API へ送信します:

  • 顧客の問い合わせ本文 & 選択された商品情報(商品名、型番、選択中の規格/SKU)
  • 過去のやり取り履歴(過去に返信されたログ)
  • 設定された店舗独自の System Prompt(ショップのトーン&マナーや注意点)

生成された最適な返信下書きメッセージが画面の返信テキストエリアへ自動セットされます。管理者は内容を確認・微調整して「返信送信」を押すだけで完了します。

4-2. 設定手順

管理画面の 商品お問い合わせ ➔ 設定 ➔ AI設定セクション より設定します。

設定項目入力内容
AI自動返信を有効化チェックを入れて有効にします。
Gemini API KeyGoogle AI Studio で取得した API Key を入力します。
AIモデルgemini-1.5-flash (高速かつ高精度な標準推奨モデル)等を指定します。
System Prompt (システム指示文)AIに与える店舗の振る舞い指示。(例: 貴方はECショップ「〇〇」の丁寧なカスタマーサポート担当者です。敬語で分かりやすく回答してください。)

5商品規格・SKUの自動引き継ぎ

商品詳細画面にて顧客が「カラー:レッド / サイズ:L」などの規格(ClassCategory)を選択した状態で「この商品について問い合わせる」ボタンを押した場合、フォームにその選択データが自動的に引き継がれます。

  • フォーム上の「対象規格・タイプ」項目に初期値として自動セット。
  • 管理者の問い合わせ詳細画面、メール通知、CSVエクスポートにも 規格名: カラー:レッド / サイズ:L (SKU: PROD-RED-L) のように正確に出力されます。
  • 「どの規格についての質問か?」を顧客に確認し直答する手間をゼロにします。

6スパム・ボット対策 (Honeypot/reCAPTCHA)

スパムボットによる大量自動送信を防ぐため、2重の防御メカニズムを備えています。

6-1. Honeypot (ハニーポット機能)

人間には見えず、自動入力ボットだけが認識して入力してしまう「隠しフィールド」をフォーム内に仕掛けています。初期状態で自動有効化されており、ボットが値を入力して送信した場合はシステムが静かに投稿を破棄します。

6-2. Google reCAPTCHA v3 対応

設定画面から **Site Key** および **Secret Key** を入力することで、Google reCAPTCHA v3 によるスコア判定型スパムブロックを有効化できます。確認画面移動時のトークン切れを起こさない堅牢なセッション設計がなされています。

7返信テンプレート & 隠しCSVインポート

よく使う回答文章をテンプレート化して返信時に呼び出すことができます。

管理者用隠しCSV機能 (Security Mode)

返信テンプレートのCSVエクスポート・インポートボタンは、一般権限者によるデータ持ち出しを防ぐため **通常は非表示** になっています。

管理者がCSV一括更新を行いたい場合、ブラウザのURLの末尾に ?secret=inquiry_secret_2026 を付与してアクセスすると、セッションが認証されエクスポート/インポートボタンが出現します。

CSVのID指定動作挙動
既存のIDを指定対象のテンプレートを最新データで更新(UPDATE)します。
未登録のIDを指定指定されたID番号をそのまま維持してデータベースへ挿入(INSERT)します。
ID列を空欄にするデータベースの自動採番(AUTO_INCREMENT)で新規登録します。

8マイページ & 顧客確認ページ

8-1. 会員マイページ

会員としてログイン中のお問い合わせは、マイページの「商品お問い合わせ履歴」からいつでも一覧・ステータス(未対応 / 対応済み)および店舗からの返信履歴を確認・追記返信が可能です。

8-2. 非会員(ゲスト)用トークン確認ページ

非会員が問い合わせを行った場合、自動送信される受付完了メール本文に **ワンタイムトークン付き専用URL** が挿入されます。ゲスト顧客はそのリンクから安全に問い合わせ内容の進捗確認および追加返信を行うことができます。

9独自テーマカスタマイズ時の対応

デザインカスタマイズされた独自テーマをご利用の場合、商品詳細ページのお問い合わせボタンが正しい位置に自動表示されないことがあります。

推奨される対応方法(テンプレートへの直接記述)

独自テーマの商品詳細テンプレート(例: Product/detail.twig)の表示させたい任意の場所に、以下のTwigコードを直接記述してください:

{% if inquiryUrl is defined %}
    <div class="product-inquiry-button">
        <a href="{{ inquiryUrl }}" class="btn btn-outline-primary">
            <i class="fa fa-question-circle"></i> この商品についてお問い合わせ
        </a>
    </div>
{% endif %}

※直接記述された場合は、inquiry_button.twig 内のJavaScript自動挿入コードをコメントアウトしてください。

10よくあるご質問(FAQ)

Q1. AI自動返信の生成ボタンを押してもエラーになります。

A. 設定画面にて「Gemini API Key」が正しく入力されているかご確認ください。また、キーの権限範囲やネットワーク制限(CURL通信制限)もご確認ください。

Q2. 添付ファイルのアップロードでエラーが出ます。

A. サーバーの `php.ini` における `upload_max_filesize` および `post_max_size` の上限値を超えていないか、プラグイン設定の最大ファイルサイズ制限をご確認ください。

Q3. カスタマイズの相談窓口はありますか?

A. フォームのデザイン変更やAIプロンプト調整、他システム連携などのご相談は、CubeLab 公式サイトのお問い合わせフォームよりご相談ください。