1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

LINE messaging APIで新しく利用できるようになった既読API

Last updated at Posted at 2025-12-21

既読APIの一般公開

2025年11月5日に既読APIが法人ユーザーだけでなく、誰でも使えるようになりました。

既読APIとは

なんでわざわざ既読をAPIで、、、LINE公式アカウントを使ったbotなら既読が勝手につくから関係ない!
と、思われるかもしれないのですが、既読がつかない場合があります。

それは、応答設定でチャットをONにしていた場合です。

image.png

・チャットをONにしていてwebhookを併用することはない!
・webhookを使っているのにチャットをONにすることはない!
ということがほとんどだと思うのですが

・基本はwebhookを使ったbotで応答しているが、個別対応が必要なものはチャットで対応する

という運用の場合、併用することが多くあります。
その場合、botやオフィシャルアカウントマネージャーで自動応答した場合は、既読がつかず
オフィシャルアカウントマネージャーのチャット画面でメッセージを開くまで既読がつかないということになります。

以前はwebhookとチャットは併用ができなかったのですが、2022年12月1日より、チャットとwebhookの併用ができるようになりました。

既読APIと使うときに利用する、既読トークン

既読トークンってどこにあるの??っと思ったのですが
毎回メッセージを送るたびに送られておりました。

webhook.json
{"type":"message",
 "message":
    {
    "type":"text",
    "id":"593000101958385840",
    "quoteToken":"jLXhZ4-RHoqbmudH0zR8l1N9J************",
    "markAsReadToken":"MHo994SECoNEC4-0nWmS****************", //←既読APIに使う既読トークン
    "text":"おはよう"
    },
 "webhookEventId":"01KCZEEQCFZXG**********",
 "deliveryContext":
    {
        "isRedelivery":false
    },
  "timestamp":1766286908304,"source":
    {
    "type":"user","userId":"U799b8d72b1a6a**********"
    },
  "replyToken":"72ce31e6778246fc**********",
  "mode":"active"
}

このmarkAsReadTokenを指定して、既読APIを送ります

既読APIをGASで作ってみた

既読API.gs
function markAsRead() {
  var markAsReadToken ="markAsReadTokenのID"

  const url = 'https://api.line.me/v2/bot/chat/markAsRead';

  const payload = {
    markAsReadToken: markAsReadToken
  };

  const params = {
    method: 'post',
    headers: {
      'Authorization': 'Bearer ' + CHANNEL_ACCESS_TOKEN,
      'Content-Type': 'application/json'
    },
    payload: JSON.stringify(payload),
  };

上記のコードで、送られてきたメッセージの「markAsReadToken」を指定すれば、そのメッセージは既読がつきます!

送られてきたメッセージ毎に既読をつける場合は、上記の様なコードを組み込みましょう!!

どこまで既読がつくのか

メッセージが連続で送られてきた場合に、1つ1つ既読APIで既読をつける場合は特に問題ないのですが、
何かのタイミングで既読をつける際、1つ1つ既読APIで既読をつける必要があるのか?
もしかしたら、1回既読APIをつければ、全部つくのでは!?ということで、検証

image.png

チャットONで、WEBHOOKオンだとこのように既読がつきません。


一番最後のメッセージのmarkAsReadTokenを指定して、既読APIを実施してみます
image.png

そこまで送られてきたメッセージすべてに既読がつきました!!


次は、最初のメッセージのmarkAsReadTokenに既読APIを送ります

image.png

最初の文字だけに既読がつきました!


最後に真ん中のメッセージのmarkAsReadTokenに既読APIを送ります

image.png

連続で送っているのに途中までの既読をつけることができました!!


この検証により、

【既読APIを送ったメッセージまでものに既読がつく】

ということがわかりました!

毎回、送られてきたメッセージに既読APIを送るのが普通だと思いますが、
何かしらのタイミングで既読をつけるということがありましたら、この検証結果を参考にしていただければと思います!

LINEdevelopercommunityでは、LINEに関する勉強会は、ほぼ毎週いろいろやっております!

ぜひぜひ、お気軽にオンライン・オフラインのイベントにご参加ください!!

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?