EC-CUBE 4.2 / 4.3 対応

LINE 注文通知プラグイン

LineAdminOrderNotify — 注文・ステータス変更・在庫アラート・日次売上・お問い合わせを LINE で管理者へリアルタイムにプッシュ通知

バージョン: v1.0.8
プラグインコード: LineAdminOrderNotify
提供元: CubeLab

1プラグイン概要

LINE 注文通知プラグイン(LineAdminOrderNotify)は、EC-CUBE 4.2 / 4.3 サイトにて発生した新規受注、注文ステータスの変更、在庫不足アラート、日次売上レポート、お客様からの各種お問い合わせなどを、LINE Messaging API を通じて管理者の LINE アカウントやグループへ直接通知するためのプラグインです。

通知には見栄えの良いレイアウトが特徴の LINE Flex Message が採用されており、注文商品のディテールや「注文詳細を表示」ボタンによる管理画面直アクセスなどを直感的に表示できます。また、管理画面からワンクリックでサンプルの Flex Message をテスト送信できるプレビュー機能や、機密情報をデータベース内で保護する **AES-256 暗号化保存** にも標準対応しています。

主な機能特徴

機能詳細説明
新規注文のLINE通知注文確認メール送信と同時に、注文者(都道府県)・配送希望日時・注文商品・合計金額・お客様通信欄(備考)をカード形式でプッシュ通知。管理画面直結のリンクボタン付き。
注文通知のテスト送信本番注文を行わずに、管理画面からワンクリックで実際の新規注文通知カードを自分の LINE へテスト送信可能。
ステータス変更通知 (絞り込み対応)「新規受付」から「発送済み」など、管理画面で受注ステータスが更新された際に自動通知。通知対象とするステータスをチェックボックスで個別に選択・除外可能。
お問い合わせ通知 (2系統対応)EC-CUBE 標準お問い合わせフォーム(`/contact`) および ProductInquiry プラグイン(商品個別問い合わせ)からのメッセージをリアルタイム通知。
在庫アラート機能注文確定時やバッチ実行で、設定された閾値(例: 残数5個以下)を下回った商品を LINE でカード形式で自動通知。
日次売上レポートcron バッチ処理によって、毎日指定時刻に当日(または前日)の売上金額・注文数を自動集計して通知。
Webhook PIN自動連携一時的なPINコードをボットに送信するだけで、通知先ID(ユーザーIDやグループチャットID)を自動登録。
機密情報の暗号化Channel Access Token、Channel Secret、送信先ID を AES-256-CBC + HMAC-SHA256 で DB 保存時に自動暗号化。

2インストール・有効化

2-1. ファイル配置

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

/path/to/eccube/app/Plugin/LineAdminOrderNotify/   ← このパスへ配置
ディレクトリ名は必ず LineAdminOrderNotify (大文字・小文字含む)で一致させてください。

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

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

cd /path/to/eccube
php bin/console eccube:plugin:install --code=LineAdminOrderNotify
php bin/console eccube:plugin:enable --code=LineAdminOrderNotify
php bin/console cache:clear

3LINE側の初期設定

通知を送るための LINE Messaging API チャンネルを開設する必要があります。

LINE Developers へアクセス

LINE Developers Console にアクセスし、ビジネスアカウント(または個人LINE)でログインします。

プロバイダー & チャンネル作成

「新規プロバイダー」を作成し、その中に新規チャンネルとして「Messaging API」を選択して作成します。

アクセストークンの発行

作成したチャンネルの「Messaging API 設定」タブを開き、最下部の「チャンネルアクセストークン(長期)」の **「発行」** をクリックしてトークンをコピーします。

Channel Secret のコピー

「基本設定」タブにある Channel Secret をコピーします(Webhookの署名検証に必要になります)。

4プラグイン基本設定

EC-CUBE管理画面の オーナーズストア ➔ プラグイン一覧 ➔ 歯車アイコン(設定) を開きます。

4-1. 設定項目一覧

設定項目詳細説明
LINE 通知を有効にするチェックを入れるとプラグインの各種通知機能が動作します。
通知メッセージのタイトル通知の冒頭に挿入されるショップ名プレフィックス(例: 【My Shop】)。空欄も可能です。
Channel Access TokenLINE Developers で発行した長期アクセストークンを貼り付けます。
暗号化保存 データベース保存時に AES-256-CBC + HMAC-SHA256 で自動暗号化されます。管理画面上では eyJhbGciOiJ...********************...k9Lz と安全にマスキング表示され、平文データがブラウザに漏洩しない安心設計です。
Channel SecretLINE Developers「基本設定」の Channel Secret(Webhook 署名検証用)。
暗号化保存 パスワード形式でマスキング表示され、DB 内では AES-256-CBC + HMAC-SHA256 で暗号化保存されます。
通知先 ID通知を送る User ID(`U...`)、Group ID(`C...`)、Room ID(`R...`)を指定します。
複数ある場合はカンマ(,)または改行区切りで入力します(AES-256-CBC + HMAC-SHA256 暗号化保存)。管理画面上では複数宛先の確認や追加・編集をスムーズに行えるよう平文でそのまま編集可能です。
ステータス変更通知を有効にする管理画面での受注ステータス更新時に LINE 通知を行うかを設定します。
通知対象のステータス通知したい注文ステータス(「新規受付」「入金済み」「発送済み」「キャンセル」など)をチェックボックスで個別に選択できます。
※「全選択」「全解除」ボタンによりワンクリックで一括設定が可能です。
※チェックしたステータスに変化した時のみ通知されるため、無駄な通知を防止できます(オンライン決済完了時の「決済処理中➔新規受付」は新規注文通知との重複防止のため自動除外されます)。
お問い合わせ通知 (標準フォーム)EC-CUBE 標準のお問い合わせフォーム(/contact)から送信があった際に LINE 通知を行うかを設定します。
商品お問い合わせ通知ProductInquiry プラグインと連携し、商品詳細ページからのお問い合わせを LINE 通知します。
在庫アラート設定・在庫アラートを有効にする: チェックを入れると機能します。
・在庫アラートの閾値: この個数以下になった商品が通知されます(デフォルト: 5)。
・在庫アラートの送信先 ID: 注文通知用と別の LINE 宛先に送る場合に入力(空欄時は上の「通知先 ID」が使われます)。

4-2. 動作確認・テスト送信機能

設定画面の上部には、入力した内容が正常に動作するかを確認するための 3 つのテストツールが備わっています。

Channel Access Token 検証

LINE Developers の Bot Info API と通信し、アクセストークンが正しいか、ボット名が取得できるかを即座に検証します。

通常テスト送信(テキスト)

設定された送信先 ID 宛てに「LINE通知テスト成功」という簡易テキストメッセージを送信し、疎通を確認します。

注文通知サンプル送信

本番注文を発生させることなく、実際の新規注文時と同一の LINE Flex Message(商品一覧・合計金額・「注文詳細を表示」ボタン付きの美しいカード型レイアウト) をテスト送信できます。管理者のスマートフォン上で実際の見え方を事前に確認できます。

4-3. セキュリティと暗号化仕様

🔒
データベース暗号化と画面マスキングを標準搭載
EC-CUBE の ECCUBE_AUTH_MAGIC 環境変数から導出された 256bit 鍵により、Channel Access Token、Channel Secret、送信先 ID は AES-256-CBC + HMAC-SHA256(改ざん防止) で暗号化されてデータベースに安全に保存されます。万が一データベースのダンプファイルが外部に流出した場合でも、LINE の接続キーや宛先情報が平文で漏洩することはありません。
さらに、管理画面上でも重要な機密情報である Channel Access Token は eyJhbGciOiJ...********************...k9Lz と厳重にマスキングされ、Channel Secret はパスワード形式で非表示化されます。なお、送信先 ID は管理者が複数宛先(User ID / Group ID)を確認・追加・編集しやすいよう画面上では平文表示され、利便性と高セキュリティを両立しています。

5Webhook PIN自動ID連携

手動での User ID や Group ID の取得を簡略化するため、一時的な **PINコード自動連携機能** が用意されています。

Webhook URL の設定

プラグイン設定画面に表示されている Webhook URL をコピーし、LINE Developers の「Messaging API 設定 ➔ Webhook URL」に入力して保存、有効化します。

PIN コードの発行

設定画面の「PINコード発行」をクリックすると、10分間有効な数字コードが生成されます。

ボットにメッセージ送信

あなたのLINEボットと友だちになり、トーク画面で発行されたPINコードを送信します。グループチャットに通知させたい場合は、そのグループにボットを招待した上でグループトークでPINコードを送信します。

登録確認

ボットから「連携完了」の返信があれば成功です。設定画面の「送信先 ID」に自動的にIDが追記されます。

6各種通知機能 (注文・変更・問合せ)

6-1. 受注通知

新規注文完了時に、お客様が受信する確認メールと完全に同期してLINE通知が送信されます。

見やすいカード型レイアウトにより、注文者のお名前(都道府県)・支払方法・注文日時に加え、お届け先や配送希望日時(指定がある場合)、各注文商品(商品名・規格・個数)、合計金額が整然と枠線でレイアウトされます。 また、お客様が注文時に入力した「お客様通信欄(メッセージ・備考)」がある場合は、自動的に目立つ専用枠でメッセージ全文が表示されるため、特別なご要望を即座に見落とさず確認できます。 下部には管理画面の該当注文詳細ページにワンタップで直接移動できる「注文詳細を表示」ボタンが含まれます。

💡
プレビュー確認機能: 設定画面の「注文通知をテスト送信」ボタンを押すことで、実際にお客様が注文した時と同じカードメッセージ(配送希望やお客様通信欄を含むサンプル)をいつでも管理者の LINE へテスト送信してスマートフォンの画面上で確認できます。

6-2. 受注ステータス変更通知 (対象ステータスの絞り込み)

管理者画面で注文データを「新規受付」から「発送完了」や「対応中」などに更新した際、即座にLINEへ「注文#XXXXのステータスが〇〇に変更されました」という内容が通知されます。

対象ステータス絞り込み機能により、通知を受け取りたいステータス(「新規受付」「入金済み」「発送済み」「注文取消し」など)のみをチェックして指定できます。チェックしていないステータスへの変更時は通知されないため、不要な通知通知ラッシュを防ぐことができます。

6-3. お問い合わせ通知連携 (2系統のフォームに対応)

本プラグインは、以下の 2 種類のお問い合わせフォームからのメッセージを検知し、リアルタイムに管理者の LINE へプッシュ通知します。

  • ① EC-CUBE 標準お問い合わせフォーム (/contact)
    ショップの「お問い合わせ」ページから送信されたメッセージを mail.contact イベントで自動検知します。お問い合わせ者のお名前、メールアドレス、電話番号、お問い合わせ内容全文が即時に LINE へ配信されます。
  • ② 商品お問い合わせプラグイン (ProductInquiry)
    商品詳細ページにお問い合わせボタンを追加する公式プラグインと連動し、対象の商品名とお問い合わせ内容を LINE へ通知します。

7在庫アラート設定

在庫が一定数以下になった商品を自動検出し、通知先ID宛てに LINE Flex Message でアラートを送信します。

7-1. 設定画面での入力

  • 在庫アラートを有効化: チェックを入れます(商品購入時または定期バッチで閾値以下を検知時に通知)。
  • 在庫アラート閾値: アラート対象とする在庫数の上限(例: 5 と入力すると、在庫が5個以下になった時点で通知)。
  • アラート送信先 ID: 注文通知用とは別の宛先に送信したい場合に個別IDを入力します(空欄時は上の「通知先 ID」に送信されます)。
  • 手動テスト送信: 「在庫アラートをテスト送信」ボタンを押すことで、現在の閾値に基づいた低在庫通知を即座に LINE へテスト送信できます。
  • 在庫不足商品のプレビュー: 設定画面の下部に「現在の在庫不足商品」一覧(商品名・規格・現在庫数)がリアルタイムに表示されるため、管理画面上でも低在庫商品を即座に把握できます。

7-2. 自動検知タイミング

お客様が商品を注文・購入した瞬間に在庫数を判定し、閾値以下となった商品があれば即座にアラート通知が送信されます(即時アラート連携)。また、下記の cron コマンドにより定期バッチでまとめて検出・通知することも可能です。

8日次売上レポート・在庫監視 (cron設定)

定期バッチを実行するために、サーバーの cron 設定ファイルに以下のコマンドを追加します。

8-1. 日次売上レポートコマンド(朝または夜間に実行)

前日(または当日)の注文件数・売上合計金額・受注商品内訳を自動集計し、管理者の LINE へサマリーレポートを送信します。

# 毎朝 08:00 に前日分の売上レポートを集計してLINE通知
0 8 * * * cd /path/to/eccube && php bin/console line:daily-sales-report >> var/log/line-sales.log 2>&1

# オプション指定例: 特定の日付を指定 (--date) または テスト送信なしで結果確認 (--dry-run)
php bin/console line:daily-sales-report --date=2026-09-13
php bin/console line:daily-sales-report --dry-run

8-2. 在庫監視アラートコマンド(毎朝または数時間ごと)

定期的にショップ全体の在庫をスキャンし、設定閾値以下の低在庫商品を LINE Flex Message でまとめて通知します。

# 毎日 午前 09:00 に定期在庫チェックを実行
0 9 * * * cd /path/to/eccube && php bin/console line:stock-alert >> var/log/line-stock-alert.log 2>&1

# オプション指定例: 一時的に閾値を3個に変更 (--threshold) または 送信せず確認 (--dry-run)
php bin/console line:stock-alert --threshold=3
php bin/console line:stock-alert --dry-run

9よくあるご質問(FAQ)

Q1. テスト送信時に「API接続エラー」になります。

A. LINE Developers Console にて「チャンネルアクセストークン(長期)」が正しくコピーされているかご確認ください。余分な改行や半角スペースが含まれている場合があります。

Q2. グループにLINE通知を送りたいが、ボットから何も届きません。

A. グループチャットに LINE ボットを追加(招待)し、その後グループトーク上で生成した「PINコード」を投稿して自動ID登録を完了させてください。

Q3. カスタマイズの依頼や不具合報告の問い合わせ先は?

A. CubeLab 公式サイトのコンタクトフォームより詳細をご相談ください。

Q4. 注文通知のレイアウトを事前に確認できますか?

A. はい。プラグイン設定画面の「注文通知をテスト送信」(注文通知プレビュー)ボタンをクリックすることで、本番注文なしに管理者自身の LINE へ実際の注文通知と同じカード型メッセージが即座にテスト送信されます。

Q5. ステータス変更通知で、特定のステータス(「発送済み」のみ等)だけを受け取ることはできますか?

A. はい可能です。設定画面の「通知対象のステータス」一覧から、通知を受け取りたいステータス(例: 「発送済み」「入金済み」など)にのみチェックを入れて保存してください。チェックしたステータスに変化した時のみ LINE 通知が届きます。

Q6. データベース暗号化によって、既存の平文設定データが読み取れなくなったりしませんか?

A. 問題ありません。本プラグインには完全な後方互換性機能が搭載されており、以前のバージョンで保存された平文データも自動判別してそのまま読み込まれます。次回設定画面で保存を行った際に、自動的に安全な AES-256 暗号化データ へ変換されて保存されます。