メッセージに既読をつける
LINEのトークにおいて、ユーザーが送ったメッセージを相手が閲覧した場合、メッセージに既読がつきます。LINE公式アカウントでチャット機能を利用する場合、ユーザーからのメッセージには自動で既読がつきませんが、Messaging APIを利用することで、チャット機能を利用しつつ任意のメッセージに既読をつけることができます。
このページでは、ユーザーから送られたメッセージにMessaging APIを通して既読をつける方法について説明します。
Messaging APIでメッセージに既読をつけるための条件
LINE Official Account Managerの[応答設定]において、[チャット]がオフになっている場合、ユーザーから送られたメッセージには自動で既読がつきます。Messaging APIを通して既読をつけたい場合は、[チャット]がオンである必要があります。
Messaging APIでメッセージに既読をつける方法
ユーザーから送られたメッセージに既読をつけるには、以下の手順に従ってください。
それぞれの手順について説明します。
1. メッセージの既読トークンを取得する
ユーザーがLINE公式アカウントに対してメッセージを送ると、LINEプラットフォームからボットサーバーに対してWebhookのメッセージイベントが送信されます。このイベントオブジェクトに、メッセージに既読をつけるためのmarkAsReadTokenプロパティ(既読トークン)が含まれています。
Webhookのメッセージイベントオブジェクトの例を以下に示します。なお、既読トークンに有効期限はありません。
json
{
"destination": "xxxxxxxxxx",
"events": [
{
"type": "message",
"webhookEventId": "01FZ74A0TDDPYRVKNK77XKC3ZR",
"message": {
"id": "444573844083572737",
"type": "text",
"quoteToken": "q3Plxr4AgKd...",
"markAsReadToken": "30yhdy232...", // 既読トークン
"text": "Hello, world!"
},
// 省略
}
]
}
2. 「メッセージに既読をつける」エンドポイントを使用する
メッセージに既読をつけるには、手順1で取得した既読トークンを用いて、「メッセージに既読をつける」エンドポイントを使用します。以下のようなリクエストを実行することで、指定したメッセージと、それ以前に送られたすべてのメッセージに既読をつけることができます。
sh
curl -v -X POST https://api.line.me/v2/bot/chat/markAsRead \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer {channel access token}' \
-d '{
"markAsReadToken": "{mark as read token}"
}'