LINE公式アカウントをWordPressで処理する方法
LINE公式アカウントでメッセージを送信する際、無料メッセージ枠が決められているそうですが、おそらくリプライAPIは無料で利用できるような記述が
課金対象となるメッセージについて
LINE公式アカウントではさまざまなメッセージ機能がありますが、すべてのメッセージ配信が課金対象としてカウントされるわけではありません。LINEチャットの送受信や自動応答メッセージなど、一部のメッセージ配信は無料で活用できます。
【カウントされるメッセージ】
・メッセージ配信(絞り込み配信,ステップ配信含む)
・Messaging APIの「Push API」「Multicast API」「Broadcast API」「Narrowcast API」
【カウントされないメッセージ】
・LINEチャットの送受信
・応答メッセージ
・あいさつメッセージ
・Messaging APIの「Reply API」
大人しく「応答メッセージ」を使えば問題ないが、Webサイトを運営しているお店で、情報が変わった時にLINEにも反映させたい人もいるかもしれません。
飲食店のメニュー替え(アレルギー情報)
アパレルのセール情報
その他イベントなど
下記のソースコードは受け取ったメッセージをそのままユーザーに送り返す機能だが、get_postsなどを利用すれば、サイトを更新するだけで公式ラインの返答も変更できます。
細かいカスタムは必要です。
function line() {
if($_SERVER['HTTPS'] != "on") {
http_response_code(403);
return;
}
$line_webhook = 'LINEのWebhookに登録したURLを設定';
$headers = array();
foreach ($_SERVER as $key => $value) {
if (substr($key, 0, 5) == 'HTTP_') {
$header = str_replace(' ', '-', ucwords(str_replace('_', ' ', strtolower(substr($key, 5)))));
$headers[$header] = $value;
}
}
$request_body = file_get_contents('php://input');
$line_secret = 'LINEのシークレットキーを設定';
$hash = hash_hmac('sha256', $request_body, $line_secret, true);
$calculated_signature = base64_encode($hash);
$line_signature = isset($headers['X-Line-Signature']) ? $headers['X-Line-Signature'] : '';
$data = json_decode($request_body, true);
if ($calculated_signature === $line_signature) {
foreach ($data['events'] as $event) {
$user_text = $event['message']['text'];
$user_token = $event['replyToken'];
}
$url = 'https://api.line.me/v2/bot/message/reply';
$lineApiKey = 'LINEのアクセストークン';
$headers = [
'Content-Type: application/json',
'Authorization: Bearer ' . $lineApiKey
];
$postData = json_encode([
'replyToken' => $user_token,
'messages' => [
[
'type' => 'text',
'text' => 'あなたは「'.$user_text.'」と送信しましたね」'
]
]
]);
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postData);
$result = curl_exec($ch);
curl_close($ch);
}
}
ここから先は
0字
メンバーシップ加入で、全ての記事が閲覧できます。