Messaging APIの概要
LINEでチャットメッセージの送受信をするためには、Messaging APIを使って行います。Messaging APIを利用したメッセージの送受信でのシステムとの関係は図1のようになります。
Messaging APIではチャットメッセージだけではなく、LINEでの友だち登録や、ブロックをした際もメッセージを受信します。
また、メッセージの送信ではテキストだけではなく、リンクやボタンなどを含んだメッセージ形式も可能です。そして、それらの操作イベントも同様にメッセージとして受信します。
送信タイミングという観点では(1)のようなサービス側が任意のタイミングで送信する場合と、(2)のようにメッセージを受信したタイミングで返信する場合があり、これらでは利用するAPIが異なります。そして、利用料金にも関係しますので、この違いは必ず理解しシステムを作る必要があります。
LINEでメッセージを送信する際の利用料金について
LINEでメッセージを送信する際には、表1のような料金プランに応じた送信料金がかかります。ただし、2023年6月1日に料金プランの改定を予定している旨の告知があるので、実際にサービスとして利用することを想定している方はご注意下さい。
プラン名 | 固定料金(月額) | 無料メッセージ通数 | 追加メッセージ料金(税別) |
---|---|---|---|
フリープラン | 0円 | 1,000通 | 不可 |
ライトプラン | 5,000円 | 15,000通 | 5円 |
スタンダードプラン | 15,000円 | 45,000通 | 〜3円 |
メッセージ送信での1通とは宛先人数×メッセージ数になります。つまり、1000人の宛てにメッセージを1回だけ送信する場合でも1000通になります。従って、頻繁に販促メッセージなどを送る場合には送る対象の数と頻度などからプランを考える必要があります。
ただし、送信するすべてのメッセージが料金としてカウントされるメッセージではありません。
基本的な考え方としては、図2の(1)のようにサービス側から任意のタイミングで送信するメッセージ送信は料金がかかるメッセージとしてカウントされます。
一方、(2)や(3)のように利用者からのメッセージ送信やアクションに応じて返信メッセージの送信では料金がかかるメッセージにはカウントされません。
つまり、電子メールやPUSH通知のような利用者への喚起目的で送信するメッセージに対しては料金がかかりますが、チャットBotアプリのような操作系のメッセージでは料金がかからず構築が可能です。
必要なシステム情報と設定
実装を始める前にLINE Developersコンソールから、図3の(1)のチャネルシークレットと(2)のチャネルアクセストークンをあらかじめメモをしておいてください。
また、まだMessaging API用のチャネルを作成していない場合には、初回記事を参照し作成してください。
また、(3)では受信するメッセージを受け取るサーバを指定します。設定する際には必ずhttpsになるのでご注意下さい。
メッセージを送信する
サービス側での任意のタイミングでメッセージを送信する場合には表2のような方法があります。
送信方法 | 説明 |
---|---|
プッシュメッセージ | 特定の1人に対してメッセージを送信 |
マルチキャストメッセージ | 複数の指定したユーザに対してメッセージを送信 |
ナローキャストメッセージ | 条件で対象を絞りこんでメッセージを送信 |
ブロードキャストメッセージ | すべての友だちに対してメッセージを送信 |
ただし、ナローキャストメッセージは、一定数以上の友だち登録がない場合には利用できません。そのため、ある程度、利用者数が多くなってから利用してください。
また、事前に実際の送信数などが把握できないことからも利用するには少々難しいところがあります。連携しているシステム側でユーザ情報などを持っている場合には、それらの情報から対象を絞ってマルチキャストメッセージで送信することが、筆者の場合には多いです。