お問い合わせメールをLINEで気づける通知システムの実装
- LOGZAWEB
- ホームページ制作の技術的な取り組み
- お問い合わせメールをLINEで気づける通知システムの実装
ここでは、お問い合わせフォームから送信された内容をLINEへ自動通知し、メールの見逃しを防ぐ仕組みの実装方法について解説します。
本システムではLINE公式アカウントのMessaging APIを利用し、PHPから直接LINEへ通知を送信する構成を採用しています。
Messaging APIの注意事項
Messaging APIはLINE公式アカウントの機能の一つであり、LINEへメッセージを送信できる便利な仕組みですが、いくつかの注意点があります。
従来は「LINE Notify」を利用した通知システムも多く採用されていましたが、LINE Notifyはサービス終了が発表されており、現在は代替手段としてMessaging APIの利用が主流となっています。
また、LINE公式アカウントには無料枠と送信数制限があり、月間メッセージ送信数がプラン上限に達するとメッセージ送信時にエラーが発生します。
- 無料プラン:月/200通
- ライトプラン:月/5,000通(月/5,000円)
- スタンダードプラン:月/30,000通(月/15,000円)
スタンダードプランのみ追加メッセージ料金が1通あたり「~3円」となっており、その他のプランは追加メッセージは不可となっています。
通知コストを気にせず運用したい場合は、Webプッシュ通知の導入もおすすめです。
LINE Messaging APIの設定と必要情報の取得
① LINE公式アカウントへログイン
まず初めにLINE公式アカウントにログインします。
LINE公式アカウントに記載の「管理画面にログイン」をクリックすることで「LINEアカウント」「ビジネスアカウント」「Yahoo!JAPAN ID」からログインを行うことができます。
LINE公式アカウントを作成していない場合は新規で作成する必要があります。
② LINE公式アカウントの設定
LINE公式アカウントにログインできたら次にMessaging APIの画面に行くため右上部にある設定をクリックします。
③ Messaging APIを利用する
左メニューに「Messaging API」があるのでクリックし画面に表示される「Messaging APIを利用する」をクリックします。
④ LINE Developersコンソールをクリック
Messaging APIの画面が開いたら「LINE Developersコンソール」をクリックします。
⑤ プロバイダーの選択
プロバイダー一覧が開くので該当のプロバイダーを選択します。
LINE公式アカウントからMessaging APIを利用開始すると、LINE Developers側にプロバイダーが自動作成されます。
⑥ チャネルの選択
次にチャネルの選択をします。
LINE公式アカウントからMessaging APIを利用開始すると、LINE Developers側にチャネルが自動作成されます。
⑦ ユーザIDの取得
現在、「チャネル基本設定」タブになっているので下の方へスクロールし「あなたのユーザーID」を後ほど説明するPHPで使用する為、控えておきます。
⑧ Messaging API設定の選択
次にMessaging API設定のタブを選択します。
⑨ チャネルアクセストークンの発行
下の方へスクロールするとチャネルアクセストークンの項目があるので発行を押します。
こちらは後ほど説明するPHPのアクセストークンで使用する為、控えておきます。
PHPの設定
PHP側では、LINE Messaging APIを利用して指定したユーザーへメッセージを送信する処理を実装します。
sendLineMessage関数では、チャネルアクセストークンと通知先ユーザーIDを設定し、LINEのPush Message APIへリクエストを送信することでLINE通知を実現しています。
下記の使用例では、お問い合わせフォームの入力内容を変数としてメッセージを作成し、LINEへ通知する処理を記述しています。
<?php
// ==============================
// LINE通知関数
// ==============================
function sendLineMessage($message)
{
$accessToken = 'ここにチャネルアクセストークン';
// 通知先ユーザーID(複数指定可能)
$userIds = [
'Uxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
// 'Uyyyyyyyyyyyyyyyyyyyyyyyy'
];
$url = 'https://api.line.me/v2/bot/message/push';
foreach ($userIds as $userId) {
$data = [
'to' => $userId,
'messages' => [
[
'type' => 'text',
'text' => $message
]
]
];
$headers = [
'Content-Type: application/json',
'Authorization: Bearer ' . $accessToken
];
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_exec($ch);
curl_close($ch);
}
}
// ==============================
// 使用例(お問い合わせ通知)
// ==============================
// フォーム入力例
$name = "山田太郎";
$userkana = "ヤマダタロウ";
$email = "test@example.com";
$tel = "090-0000-0000";
$consultation = "ホームページ制作";
$msg = "お問い合わせ内容のサンプルです。";
$lineMessage = <<<EOT
【お問い合わせ通知】
名前:{$name}
フリガナ:{$userkana}
メール:{$email}
電話:{$tel}
種別:{$consultation}
内容:
{$msg}
EOT;
sendLineMessage($lineMessage);
?>
LINE通知を複数人設定したい場合
LINE Developersに記載の「あなたのユーザーID」以外の人にも通知をしたい場合、通知先となるユーザーのIDを追加することで複数人へ同時に送信することが可能です。
ユーザーIDを取得するには、一時的にWebhookを利用してLINEの送信情報を確認する方法が最も簡単です。
② Webhook URLを設定する
LINE公式アカウントの「Messaging API設定」画面からWebhook URLの「編集」をクリックします。
ここにWebhook.siteで取得したURLを入力し、「Webhookの利用」をONにします。
③ 追加したいユーザーで公式LINEへメッセージ送信
通知を受け取りたいユーザーに公式LINEを友だち追加してもらい、任意のメッセージを送信してもらいます。
するとWebhook.site側に送信データが表示されます。
Webhookの受信データ内にある「userId」が通知先ユーザーのIDになります。
"source": {
"type": "user",
"userId": "Uxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
}
④ PHPにユーザーIDを追加
このuserIdをPHP側の配列へ追加することで複数人へ通知が可能になります。
送信テストが完了したら「Messaging API設定」画面から設定したWebhookは一時的にuseridを取得する為に使ったので削除します。
まとめ
今回は、お問い合わせフォームから送信された内容をLINEへ自動通知する仕組みの実装方法について解説しました。
LINE Messaging APIを利用することで、メール通知だけでは気づきにくいお問い合わせもリアルタイムで確認できるようになり、対応スピードの向上や機会損失の防止につながります。
- LINE公式アカウントの作成
- Messaging APIの有効化
- ユーザーIDとチャネルアクセストークンの取得
- PHPからLINE通知を送信する処理の実装
- 複数ユーザー通知の設定(Webhookで取得)
LINE通知はお問い合わせ通知だけでなく、予約通知・注文通知・エラー通知・社内連絡など様々な用途に応用できます。
通知の見逃しを防ぎ、業務効率を向上させたい場合には非常に有効な仕組みです。
LOGZAWEBでは、お客様の運用に合わせた通知システムや業務自動化の仕組み構築にも対応しております。
導入をご検討の方はお気軽にご相談ください。