LINE 已讀 API 遷移指南:2026 年 10 月前轉用 markAsRead
要由 LINE Mark as read API(舊版)遷移,應從 Messaging API webhook 訊息事件取得 markAsReadToken,再呼叫 POST https://api.line.me/v2/bot/chat/markAsRead。新 endpoint 毋須另外申請,亦可與 Official Account Chat 一同使用。LINE 將於 2026 年 10 月底停止接受舊 API 的新申請,但未有宣佈同日停用現有接入。
重點
- LINE 於 2026 年 5 月 18 日宣佈,舊版企業功能會在 10 月底停止接受新申請;已獲批帳戶仍可繼續使用。
- 新 endpoint 使用 webhook 訊息事件內的不透明
markAsReadToken,不能由 user ID 或message.id自行建立。 POST /v2/bot/chat/markAsRead會將指定訊息以及之前的訊息一併標記為已讀,順序和確認時間都會影響用戶所見狀態。- 新 endpoint 可配合 Official Account Chat;舊 API 不可,因此遷移亦涉及客服流程。
- UnifyPort 可處理普通帳戶的獨立入站流程,但沒有 message-read API,亦不會提供 LINE 官方
markAsReadToken。
LINE 已讀 API 遷移有甚麼改變
LINE 的 5 月 18 日通知不是「10 月停用」通知。官方只表示 2026 年 10 月底停止接受 Mark as read API(舊版)的新申請,已獲批帳戶可繼續使用,並正考慮日後停用舊功能。新開發應改用 Messaging API 的將訊息標記為已讀流程。
兩套契約不同,不能只改 endpoint:
| 項目 | Mark as read API(舊版) | Messaging API markAsRead |
|---|---|---|
| 開通 | 企業選用功能,需申請 | 毋須另外申請 |
| Chat | 不能與 Official Account Chat 共用 | 手動標記已讀時需開啟 Chat |
| 輸入 | 舊 API 的用戶導向契約 | webhook 訊息事件的 markAsReadToken |
| 範圍 | 為某位用戶的訊息顯示已讀 | 將 token 對應及更早訊息標記為已讀 |
| 新項目 | 不建議 | 官方建議 |
若 LINE Official Account Manager 內的 Chat 已關閉,用戶訊息會自動顯示已讀,毋須再加入 API call。新 endpoint 適合保持 Chat 開啟,同時由後端控制已讀時間的團隊。
如何遷移至 POST /v2/bot/chat/markAsRead
1. 定義客服流程內的「已讀」
先決定哪個業務節點才應向用戶顯示已讀:訊息進入 queue、客服真正開啟,還是自動處理器接手。不要把「webhook 已送達」直接當成「真人已閱讀」。一次 call 可能確認多條訊息,因此應先寫下清晰規則。
盤點所有舊 API caller、retry job、Official Account 和環境,並記錄 Chat 是否開啟。舊 API 文件指出,使用舊功能會停用自動已讀,而且不能同時使用 Chat;帳戶設定本身是遷移狀態的一部分。
2. 將 webhook read token 當作不透明值
用戶向 LINE Official Account 發訊息時,Messaging API 訊息事件可能包含 message.markAsReadToken。LINE 表示 read token 沒有到期日,但 reference 亦註明欄位不一定存在。缺少時應記錄並保留未讀,不能從 message.id 推算或自行建立 token。
將 token 與 webhook event ID、message ID、對話負責人、接收時間和處理狀態一起儲存。不要把它放入 analytics label 或前端 log;它即使不是 channel access token,仍屬 LINE webhook 契約的動作憑證。
3. 呼叫 Messaging API endpoint
使用與實際處理進度相符的最新 token:
curl -X POST "https://api.line.me/v2/bot/chat/markAsRead" \
-H "Authorization: Bearer ${LINE_CHANNEL_ACCESS_TOKEN}" \
-H "Content-Type: application/json" \
-d '{"markAsReadToken":"30yhdy232..."}'
官方 reference 記錄:成功回傳 200 和空 JSON,read token 無效回傳 400,rate limit 為每秒 2,000 次。成功 call 會影響指定訊息及之前所有訊息,不只一筆 database record。
4. 保持對話內順序和 retry 邊界
按對話處理已讀確認。如果訊息 B 比 A 新,確認 B 也會涵蓋 A。全域 worker 若令同一對話的 token 亂序競爭,可能在內部工作未完成前便提前顯示已讀。
呼叫 LINE 前先儲存「準備確認」狀態,呼叫後再記錄 response。400 應視為契約或資料錯誤;timeout 或 server failure 則按 LINE 最新通用 retry 指引設上限,不應無限重試。log 要能追蹤 token 及觸發它的業務事件。
5. 以帳戶為單位驗收
用非 production Official Account 或受控測試對話,在 Chat 開啟時驗證:
- 用戶訊息產生含
markAsReadToken的 webhook 事件; - 約定節點前不顯示已讀;
- 到達節點後 endpoint 回傳
200; - 當前及更早訊息顯示已讀;
- token 缺少或無效時不會誤認後續訊息;
- 遷移後 Official Account Chat 仍正常運作。
新路徑及人工 Chat 都通過後才移除舊 caller。10 月是新申請截止日期,不是現有用戶必須倉促切換的停用日。
UnifyPort 的位置
官方 markAsReadToken 流程屬於 LINE Official Account 和 Messaging API。如 LINE 用戶端必須顯示官方已讀狀態,就應保留官方路徑。
UnifyPort 處理另一個需求:連接普通 LINE 帳戶後,將支援的入站對話以標準化 message.received 事件傳送到後端,並與 WhatsApp、Telegram、TikTok、Zalo、X 共用 envelope。webhook endpoint 設定 signing_secret 後,會以 X-Device-Timestamp 和 X-Device-Signature 驗證 HMAC-SHA256。
該事件不含 LINE 官方 markAsReadToken,而 UnifyPort 現有文件亦表明沒有 message-read API。Official Account 已讀 worker 與 UnifyPort 入站 worker 應保持為兩項獨立能力。
前置決策可參考毋須 Official Account 接收 LINE 訊息及為何 LINE analytics polling 不是入站路由。
限制與取捨
需要 Official Account 身份、Chat、官方已讀回條、rich menu、audience 工具或其他 LINE 原生控制時,應使用官方 Messaging API;新的 markAsRead endpoint 是已讀需求的官方方案。
非官方接口不能提供 Official Account 功能、改變 LINE 申請政策,亦不能將 Official Account 對話標記為已讀。後端收到訊息不代表真人已閱讀。如只需要跨渠道入站 queue,可另行評估;如 LINE 畫面必須出現「已讀」,架構內仍需官方 endpoint。
FAQ
LINE Mark as read API(舊版)會在 2026 年 10 月停用嗎?
沒有這項公告。LINE 會在 10 月底停止接受新申請,已獲批帳戶可繼續使用;官方正在考慮未來停用並建議遷移。
新 LINE markAsRead endpoint 需要申請嗎?
不需要。它使用 channel access token 和 Messaging API webhook 訊息事件內的 markAsReadToken。
markAsRead 可與 LINE Official Account Chat 共用嗎?
可以。透過 Messaging API 手動標記已讀時 Chat 必須開啟;Chat 關閉時,入站訊息會自動標記為已讀。
markAsReadToken 會過期嗎?
LINE 目前表示 read token 沒有到期日,但仍應按營運和資料保留政策儲存,並使用對應實際確認節點的 token。
UnifyPort 可將 LINE Official Account 訊息標記為已讀嗎?
不可以。UnifyPort 可傳遞連接 LINE 帳戶的支援入站訊息,但沒有 message-read API,亦不提供官方 markAsReadToken。
下一步
將舊 caller 對照 LINE 官方將訊息標記為已讀指南,並在受控 Official Account 完成六項驗收。如另一需求是普通帳戶入站路由,再查看 UnifyPort 的 LINE 授權指南設計第二條獨立路徑。
來源
以下 LINE 官方來源核對於 2026 年 7 月 25 日: