LY Corporation Tech Blog

支持 LY Corporation 和 LY Corporation Group (LINE Plus, LINE Taiwan and LINE Vietnam) 服務,宣傳技術和開發文化。

LINE API Update 2024 - 平台更新整理 (Messaging API 篇)

LINE API Update 2024 年末整理

時光飛逝,轉眼間我們即將告別 2024 年。在這一年中,LINE 平台為開發者們帶來了哪些令人興奮的新功能和更新呢?今天,小編將為大家詳細整理這些新變化,讓你在新的一年中能夠更好地利用這些工具,提升你的應用和服務。

在這篇文章中,我們將深入探討 LINE 平台的最新 API 更新,包括 Messaging API、LINE Login 和 LIFF。大部分的圖片和資訊來源於 LINE Thailand Developer Conference 2024(會議內容為泰文),有興趣的朋友可以去觀看相關影片,獲取更多靈感和見解。

現在,就讓我們一同揭開這些新功能的神秘面紗吧!

Messaging API

Messaging API 是 LINE 平台上最受歡迎的功能之一,它讓開發者能夠輕鬆地與用戶進行互動和溝通。在 2024 年,Messaging API 迎來了多項重要更新,進一步提升了其靈活性和功能性。

  • 20240207 - New Follower or UnBlocked
  • 20240417 - Loading Animation 
  • 20241030 - Text Message (v2)
  • 20241030 -User Bot Mention
  • 20241202 - 更多 LINE Emoji 可以使用

20240207 - New Follower or UnBlocked (查看是新用戶,還是解除封鎖)

Follow Event 新功能- New Follower or UnBlocked

在 2024 年 2 月 7 日,LINE Messaging API 推出了一項新功能,讓開發者可以透過 webhook 的 follow 事件來判斷用戶是新增 LINE 官方帳號為好友,還是解除封鎖。

功能詳解

  • 新增 follow.isUnblocked 屬性:當用戶新增 LINE 官方帳號為好友或解除封鎖時,會透過 webhook 發送 follow 事件。過去,僅依賴 follow 事件無法區分「新增好友」或「解除封鎖」。現在,透過新增的 follow.isUnblocked 屬性,可以判斷用戶是首次新增好友,還是曾經封鎖後又解除封鎖。

  • 應用場景

    • 當用戶首次新增為好友時,可以發送特別優惠券。
    • 根據「新增好友」或「解除封鎖」的不同情境,調整回覆訊息的內容。

範例

以下是用戶解除封鎖 LINE 官方帳號時的 follow 事件範例:

{
  "destination": "xxxxxxxxxx",
  "events": [
    {
      "replyToken": "nHuyWiB7yP5Zw52FIkcQobQuGDXCTA",
      "type": "follow",
      "mode": "active",
      "timestamp": 1462629479859,
      "source": {
        "type": "user",
        "userId": "U4af4980629..."
      },
      "webhookEventId": "01FZ74A0TDDPYRVKNK77XKC3ZR",
      "deliveryContext": {
        "isRedelivery": false
      },
      "follow": {
        "isUnblocked": true // 用戶已解除封鎖 LINE 官方帳號
      }
    }
  ]
}

更多資訊請參閱 Messaging API 參考中的 Follow event

20240417 - Loading Animation

就在 2024/04/17 更新的新聞稿介紹。在 LINE 官方帳號收到用戶訊息後,若因為訊息準備或預約處理而需要一些時間回應,現在可以透過顯示載入動畫來告知用戶稍候片刻。

功能介紹

  • 顯示載入動畫:使用 Display a loading animation 端點,可以在用戶與 LINE 官方帳號的一對一聊天中顯示載入動畫。動畫會在指定的秒數(5 到 60 秒)後自動消失,或在官方帳號發送新訊息時消失。

  • 顯示範圍:載入動畫僅能在用戶與官方帳號的一對一聊天中顯示,無法在群組聊天或多人聊天中使用。

  • 顯示條件:動畫只有在用戶正在查看與官方帳號的聊天畫面時才會顯示。如果用戶不在查看聊天畫面,則不會有任何通知,即使用戶稍後打開聊天畫面,動畫也不會顯示。

  • 重複請求:如果在動畫仍在顯示時再次請求顯示,動畫將繼續顯示,並且消失時間將被第二次請求中指定的秒數覆蓋。

範例請求

以下是顯示載入動畫 5 秒的範例請求:

curl -v -X POST https://api.line.me/v2/bot/chat/loading/start \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer {channel access token}' \
-d '{
    "chatId": "U4af4980629...",
    "loadingSeconds": 5
}'
更多資訊請參閱 Messaging API 參考中的 Display a loading animation

相關文章:

20241030 - Text Message (v2)

LINE Messaging API 推出了新的訊息物件:Text Message V2。這個更新讓開發者能夠在訊息中提及用戶,並更輕鬆地指定 LINE 表情符號。

功能詳解

  • 新增 Text Message V2:這是一種新的訊息物件,允許在發送文字訊息時使用 {} 包含的字串來替代提及和表情符號。

  • 範例

    • 使用 substitution 屬性來指定提及或表情符號的內容,並在 text 屬性中使用 {} 包含的字串來替代:

{
  "type": "textV2",
  "text": "Welcome, {user1}! {laugh}\n{everyone} There is a newcomer!",
  "substitution": {
    "user1": {
      "type": "mention",
      "mentionee": {
        "type": "user",
        "userId": "U49585cd0d5..."
      }
    },
    "laugh": {
      "type": "emoji",
      "productId": "5a8555cfe6256cc92ea23c2a",
      "emojiId": "002"
    },
    "everyone": {
      "type": "mention",
      "mentionee": {
        "type": "all"
      }
    }
  }
}
  • 驗證訊息:與以往的文字訊息一樣,可以使用回覆訊息或推送訊息的端點來驗證 Text Message V2 的內容。

  • 持續使用舊版文字訊息:舊版文字訊息仍可使用,但未來的新功能可能只會添加到 Text Message V2。

提及功能的重要注意事項

  • 提及物件只能用於回覆訊息或推送訊息。
  • 訊息的目的地必須是群組聊天或多人聊天。
  • 發送訊息的 LINE 官方帳號必須是該群組或多人聊天的成員。
  • 所有被提及的用戶必須是該群組或多人聊天的成員。

更多有關 Text Message V2 的資訊,請參閱 Messaging API 參考中的相關章節。

20241030 -User Bot Mention

2024 年 10 月 30 日,LINE Messaging API 推出了一項新功能,允許用戶在群組聊天中提及機器人(bot)。這項更新讓開發者能夠更精確地識別用戶對機器人的提及,提升互動體驗。

功能亮點

  1. 新增 mention.mentionees[].isSelf 屬性

    • 當用戶提及機器人時,isSelf 屬性會被設定為 true,用來判斷提及的對象是否為機器人。
  2. Webhook 事件物件更新

    • 當訊息中提及機器人時,mention.mentionees[].type 設為 useruserId 設為機器人的用戶 ID,isSelf 設為 true

使用範例

  • 提及機器人

"mention": {
  "mentionees": [
    {
      "userId": "{bot's user ID}",
      "isSelf": true
    }
  ]
}
  • 提及其他用戶

"mention": {
  "mentionees": [
    {
      "userId": "U49585cd0d5...",
      "isSelf": false
    }
  ]
}

注意事項

確保你的機器人伺服器能夠處理不同結構的 webhook 事件物件,以避免功能異常。更多資訊請參閱 LINE Messaging API 文件。

相關文章

20241202 - 更多 LINE Emoji 可以使用

隨著 LINE 應用的表情符號更新,LINE Messaging API 現在提供了更多的 LINE 表情符號供開發者使用。這次更新擴充了可用的 LINE 表情符號數量,讓開發者在訊息中能夠更豐富地表達情感和意圖。

功能詳解

  • 擴充的表情符號庫:除了現有的 LINE 表情符號外,開發者現在可以使用更多新的表情符號,這些表情符號可以在訊息中增添趣味性和互動性。

  • 如何使用:開發者可以透過指定 productId  emojiId 來發送 LINE 表情符號。這些屬性可以在 Text Message V2 或傳統文字訊息中使用。

  • 應用場景:這些新增的表情符號可以用於各種訊息場景中,無論是歡迎訊息、促銷活動,還是日常互動,都能讓訊息內容更加生動。

更多有關如何發送訊息的資訊,請參閱 Messaging API 文件中的相關章節。這次更新不僅提升了訊息的表達力,也為開發者提供了更多創新的可能性。

總結:2024 年 LINE Messaging API 新功能

在 2024 年,LINE Messaging API 推出了多項令人興奮的新功能,進一步提升了開發者與用戶之間的互動體驗:

  1. User Bot Mention 功能(10/30 更新):開發者現在可以識別用戶在群組聊天中對機器人的提及,並根據提及情境調整回覆內容。

  2. Loading Animation 功能(04/17 更新):在用戶與 LINE 官方帳號的一對一聊天中顯示載入動畫,讓用戶在等待回應時獲得更好的體驗。

  3. Follow Event 新功能(02/07 更新):新增 follow.isUnblocked 屬性,讓開發者能夠區分用戶是首次新增好友還是解除封鎖,從而提供更個性化的互動。

  4. Text Message V2 功能(10/30 更新):推出新的訊息物件,允許在訊息中提及用戶和使用 LINE 表情符號,提升訊息的表達力和互動性。

  5. 更多的 Emoji(12/02 更新):隨著 LINE 應用的表情符號更新,Messaging API 現在支持更多的 LINE 表情符號。開發者可以透過指定 productId  emojiId 在 Text Message V2 或傳統文字訊息中發送這些表情符號。

這些更新不僅提升了 LINE Messaging API 的功能,也為開發者提供了更多創新的可能性。無論是提升用戶體驗,還是優化業務流程,這些新功能都將成為開發者不可或缺的利器。

敬請期待我們下一次的介紹,我們將深入探討 LIFF 的年度更新,帶你了解更多關於 LINE 平台的最新進展!