お問い合わせメールをLINEで気づける通知システムの実装

ここでは、お問い合わせフォームから送信された内容をLINEへ自動通知し、メールの見逃しを防ぐ仕組みの実装方法について解説します。

本システムではLINE公式アカウントのMessaging APIを利用し、PHPから直接LINEへ通知を送信する構成を採用しています。

Messaging APIの注意事項

Messaging APIはLINE公式アカウントの機能の一つであり、LINEへメッセージを送信できる便利な仕組みですが、いくつかの注意点があります。

従来は「LINE Notify」を利用した通知システムも多く採用されていましたが、LINE Notifyはサービス終了が発表されており、現在は代替手段としてMessaging APIの利用が主流となっています。

また、LINE公式アカウントには無料枠と送信数制限があり、月間メッセージ送信数がプラン上限に達するとメッセージ送信時にエラーが発生します。

LINE公式アカウントの主なプラン
  • 無料プラン:月/200通
  • ライトプラン:月/5,000通(月/5,000円)
  • スタンダードプラン:月/30,000通(月/15,000円)

スタンダードプランのみ追加メッセージ料金が1通あたり「~3円」となっており、その他のプランは追加メッセージは不可となっています。

通知コストを気にせず運用したい場合は、Webプッシュ通知の導入もおすすめです。

LINE Messaging APIの設定と必要情報の取得

① LINE公式アカウントへログイン

LINE公式アカウントへログイン

まず初めにLINE公式アカウントにログインします。

LINE公式アカウントに記載の「管理画面にログイン」をクリックすることで「LINEアカウント」「ビジネスアカウント」「Yahoo!JAPAN ID」からログインを行うことができます。

LINE公式アカウントを作成していない場合は新規で作成する必要があります。

② LINE公式アカウントの設定

LINE公式アカウントの設定

LINE公式アカウントにログインできたら次にMessaging APIの画面に行くため右上部にある設定をクリックします。

③ Messaging APIを利用する

Messaging APIを利用する

左メニューに「Messaging API」があるのでクリックし画面に表示される「Messaging APIを利用する」をクリックします。

④ LINE Developersコンソールをクリック

LINE Developersコンソールをクリック

Messaging APIの画面が開いたら「LINE Developersコンソール」をクリックします。

⑤ プロバイダーの選択

プロバイダーの選択

プロバイダー一覧が開くので該当のプロバイダーを選択します。

LINE公式アカウントからMessaging APIを利用開始すると、LINE Developers側にプロバイダーが自動作成されます。

⑥ チャネルの選択

プロバイダーの選択

次にチャネルの選択をします。

LINE公式アカウントからMessaging APIを利用開始すると、LINE Developers側にチャネルが自動作成されます。

⑦ ユーザIDの取得

ユーザIDの取得

現在、「チャネル基本設定」タブになっているので下の方へスクロールし「あなたのユーザーID」を後ほど説明するPHPで使用する為、控えておきます。

⑧ Messaging API設定の選択

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.siteでURLを取得する

Webhook.siteでURLを取得する

Webhook.siteにアクセスすると自動で専用URLが発行されます。

表示されている「Your unique URL」をコピーします。

② Webhook URLを設定する

Webhook URLの「編集」

LINE公式アカウントの「Messaging API設定」画面からWebhook URLの「編集」をクリックします。

Webhookの利用「ON」

ここにWebhook.siteで取得したURLを入力し、「Webhookの利用」をONにします。

③ 追加したいユーザーで公式LINEへメッセージ送信

Webhookにuseridが表示される

通知を受け取りたいユーザーに公式LINEを友だち追加してもらい、任意のメッセージを送信してもらいます。

するとWebhook.site側に送信データが表示されます。

Webhookの受信データ内にある「userId」が通知先ユーザーのIDになります。


                        "source": {
                            "type": "user",
                            "userId": "Uxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
                        }
                        

④ PHPにユーザーIDを追加

PHPにユーザーIDを追加

このuserIdをPHP側の配列へ追加することで複数人へ通知が可能になります。

送信テストが完了したら「Messaging API設定」画面から設定したWebhookは一時的にuseridを取得する為に使ったので削除します。

まとめ

今回は、お問い合わせフォームから送信された内容をLINEへ自動通知する仕組みの実装方法について解説しました。

LINE Messaging APIを利用することで、メール通知だけでは気づきにくいお問い合わせもリアルタイムで確認できるようになり、対応スピードの向上や機会損失の防止につながります。

今回の実装工程
  • LINE公式アカウントの作成
  • Messaging APIの有効化
  • ユーザーIDとチャネルアクセストークンの取得
  • PHPからLINE通知を送信する処理の実装
  • 複数ユーザー通知の設定(Webhookで取得)

LINE通知はお問い合わせ通知だけでなく、予約通知・注文通知・エラー通知・社内連絡など様々な用途に応用できます。

通知の見逃しを防ぎ、業務効率を向上させたい場合には非常に有効な仕組みです。

LOGZAWEBでは、お客様の運用に合わせた通知システムや業務自動化の仕組み構築にも対応しております。
導入をご検討の方はお気軽にご相談ください。

関連ページのご案内

ホームページ制作のご依頼・ご相談

お電話でのお問い合わせ
平日 09:00-18:00
メールでのお問い合わせ