LINE API串接怎麼規劃?會員綁定與通知的設定步驟
Posted in :
LINE API串接是讓 LINE 官方帳號和企業自己的官網、會員或訂單系統交換資料,常用的有三項:Messaging API 用來收發訊息,LINE Login 讓使用者以 LINE 帳號登入或註冊,LIFF 則是在 LINE 裡開啟的網頁應用程式。規劃時先決定要做會員綁定、訂單通知或預約提醒,再依序處理官方帳號建立、選擇提供者並建立頻道、Webhook 伺服器、使用者同意與個資告知。透過 Messaging API 發送的推播訊息依官方帳號方案計費,實際費用以官方公告為準。
LINE 串接常用的三種 API 與分工
| 名稱 | 用途 | 使用的頻道 |
|---|---|---|
| Messaging API | 讓自家伺服器透過 LINE 平台收發訊息,可回覆、主動推播、取得使用者個人檔案、設定圖文選單與帳號連結 | Messaging API 頻道,須先有 LINE 官方帳號 |
| LINE Login | 讓使用者以 LINE 帳號註冊與登入網站或 App,登入後可取得使用者 ID、顯示名稱與大頭貼 | LINE Login 頻道 |
| LIFF | 在 LINE 內開啟的網頁應用程式,可取得 LINE 使用者 ID,適合做表單、預約或會員頁 | LINE Login 或 LINE MINI App 頻道,不能加在 Messaging API 頻道 |
官方說明 LIFF 預計併入 LINE MINI App,建議新的 LIFF 應用程式以 LINE MINI App 建立。如果需求只是群發、自動回應或圖文選單,後台就能設定,不一定要串接,可先參考LINE官方帳號的功能與開通設定。
會員綁定、訂單通知與預約提醒怎麼串
會員綁定有兩種常見做法。其一是在官網註冊或會員中心加上 LINE Login,登入後把使用者 ID 寫進會員資料;登入時可透過 bot_prompt 參數,在同意畫面顯示加入官方帳號好友的選項,或在同意畫面之後另開畫面詢問。前提是官方帳號的 Messaging API 頻道與 LINE Login 頻道屬於同一個提供者,而且一個 LINE Login 頻道只能連結一個官方帳號。
其二是 Messaging API 的帳號連結:已是好友的使用者從聊天室開啟連結網址、登入自家服務後完成綁定。官方說明連結權杖只能使用一次、效期十分鐘,nonce 不要用會員編號這類可預測的值;企業也必須讓使用者隨時能解除連結,並在連結時告知可以解除。
訂單通知是在訂單狀態改變時,由系統依使用者 ID 對已綁定的好友發送推播訊息。預約提醒可讓顧客在 LIFF 頁面預約,再由系統排程發送提醒。LIFF 頁面應把 ID 權杖或存取權杖送到伺服器驗證,不要直接傳送前端取得的個人檔案。
先選定提供者:使用者 ID 會跟著它走
LINE Developers Console 裡,頻道歸在「提供者」底下,這個選擇會直接影響會員資料能不能對起來:
- 使用者 ID 是平台核發的識別碼,和顯示名稱、使用者為了讓朋友搜尋而設定的 LINE ID 都不同。
- 同一位使用者在不同提供者下會拿到不同的使用者 ID;同一個提供者下,不論是 LINE Login 或 Messaging API 頻道,使用者 ID 相同。
- 官方帳號指定提供者後,就無法變更或取消;選擇既有的提供者,需要具備該提供者的管理員權限。
因此,提供者應由公司帳號建立,廠商以成員身分加入;若頻道建在廠商的提供者底下,日後換廠商時頻道無法搬移,使用者 ID 也可能對不上。官方也提醒,由第三方頻道管理服務管理的提供者要先評估風險。
Messaging API 的設定步驟
- 建立 LINE 官方帳號,已有則略過。
- 在 LINE 官方帳號管理後台啟用 Messaging API 並選擇提供者,系統會建立 Messaging API 頻道;官方已不再開放直接從 LINE Developers Console 建立這類頻道。
- 以同一個帳號登入 LINE Developers Console,確認頻道出現在選定的提供者下,並備妥頻道存取權杖,官方建議用可自訂效期的版本。
- 準備 Webhook 伺服器:網址必須使用 HTTPS,並使用一般瀏覽器廣泛信任的憑證機構簽發的憑證,不接受自簽憑證。
- 在頻道的 Messaging API 分頁編輯 Webhook URL 並按「Update」儲存,再按「Verify」確認顯示成功,接著開啟「Use webhook」。
- 若改由系統回覆,官方建議把管理後台的加入好友歡迎訊息與自動回應訊息設為停用,這兩項在頻道建立時預設為啟用。
- 需要 LINE Login 時,在同一個提供者下建立 LINE Login 頻道,並在基本設定中連結官方帳號,操作者須是兩邊的管理員;新的 LIFF 則依官方建議以 LINE MINI App 建立。
Webhook 與頻道存取權杖的注意事項
- 驗證簽章:處理事件前,先以頻道密鑰驗證請求標頭 x-line-signature 中的簽章,確認請求來自 LINE 平台、傳送途中未遭竄改。頻道密鑰需要管理員權限才能查看或重新發行。
- 非同步處理:官方建議以非同步方式處理 Webhook 事件。
- 防止重複處理:同一個事件可能送達不只一次,可用事件中的 webhookEventId 判斷是否已處理過。
- 重新傳送:此功能預設停用;開啟後,伺服器未回應成功狀態碼的事件會在一段時間內重送,次數與間隔未公開,也不代表一定送達。
- 頻道存取權杖:分成可自訂效期、上限三十天的版本,十五分鐘有效的無狀態權杖,三十天有效的短期權杖,以及不會過期、僅限 Messaging API 頻道的長期權杖。官方建議在到期前自動發行新權杖;權杖外洩時,第三方可能用它對所有好友群發訊息,懷疑外洩就應撤銷。
用戶同意、個資告知與訊息費用
會員綁定會把 LINE 的使用者 ID 與官網會員資料連在一起。個資法第八條第一項規定,向當事人蒐集個人資料時,應明確告知蒐集者名稱、蒐集目的、個人資料類別、利用的期間地區對象及方式、當事人可行使的權利及方式,以及不提供對其權益的影響;同條第二項另列有免告知的情形。綁定頁說明與網站隱私權政策要一併更新,適用細節請以主管機關公告或專業意見為準。
費用方面,Messaging API 的推播(push)、多人推播(multicast)、廣播(broadcast)與分眾(narrowcast)訊息計入方案的訊息則數,回覆訊息不計入。可免費發送的則數依方案而定,方案也因國家或地區不同,估算可參考LINE官方帳號費用怎麼算,實際以官方公告為準。
常見問題
LINE 官方帳號一定要串 API 嗎?
不一定。群發、自動回應、圖文選單與優惠券在後台就能設定;需要依會員身分發送個人化訊息,或把訂單、預約狀態自動通知顧客時,才需要透過 API 和自家系統串接。
LINE Login 要付費嗎?
LINE 官方文件說明 LINE Login 免費提供,成本主要來自自家網站或系統的開發與維護;若同時透過 Messaging API 主動推播訊息,推播會計入方案的訊息則數。
已經有官網會員,怎麼讓舊會員綁定 LINE?
可以在會員中心提供以 LINE 綁定的按鈕,會員登入官網後再透過 LINE Login 授權,系統把取得的使用者 ID 寫入會員資料。綁定前說明用途,並提供解除綁定的方式。
Webhook 伺服器可以放在一般虛擬主機嗎?
只要能以 HTTPS 接收請求、使用受信任的憑證,並能及時處理事件即可。另要考量促銷期間的流量、事件重複與重新傳送,正式上線前建議先用測試用的官方帳號完整驗證。
LIFF 和一般網頁有什麼不同?
LIFF 應用程式也是網頁,在 LINE 內以 LIFF 瀏覽器開啟時,可以取得 LINE 使用者 ID 等平台資料,從聊天室開啟且使用者同意相關權限時,也能代使用者傳送訊息;一般網頁要另外整合 LINE Login 才知道使用者是誰。
本文由京采數位科技整理。我們自 2005 年起提供官網設計、系統開發與 Google SEO 服務,實際案例可見成果與案例。
想直接討論你自己的網站狀況,或需要一份初步的搜尋機會評估?
相關主題
下一步
建議先寫下要串接的情境、會用到的會員或訂單資料,並確認 LINE 官方帳號與提供者都由公司帳號管理。京采的網頁設計服務可以協助需求釐清、規劃會員綁定流程,並開發 Webhook 伺服器、LIFF 頁面與官網後台的 API 串接;歡迎與我們聯繫討論。

