LINE 注文通知プラグイン
LineAdminOrderNotify — 注文・ステータス変更・在庫アラート・日次売上・お問い合わせを LINE で管理者へリアルタイムにプッシュ通知
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:clear3LINE側の初期設定
通知を送るための 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 Token | LINE Developers で発行した長期アクセストークンを貼り付けます。 暗号化保存 データベース保存時に AES-256-CBC + HMAC-SHA256 で自動暗号化されます。管理画面上では eyJhbGciOiJ...********************...k9Lz と安全にマスキング表示され、平文データがブラウザに漏洩しない安心設計です。 |
| Channel Secret | LINE 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通知が送信されます。
見やすいカード型レイアウトにより、注文者のお名前(都道府県)・支払方法・注文日時に加え、お届け先や配送希望日時(指定がある場合)、各注文商品(商品名・規格・個数)、合計金額が整然と枠線でレイアウトされます。 また、お客様が注文時に入力した「お客様通信欄(メッセージ・備考)」がある場合は、自動的に目立つ専用枠でメッセージ全文が表示されるため、特別なご要望を即座に見落とさず確認できます。 下部には管理画面の該当注文詳細ページにワンタップで直接移動できる「注文詳細を表示」ボタンが含まれます。
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-run8-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-run9よくあるご質問(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 暗号化データ へ変換されて保存されます。