Skip to main content
GET
查詢你透過建立 Link Session 建立的連結 URL 的狀態——你的使用者 是否已開啟它、它是否仍然有效,以及它已被使用了多少次。 當你想在不詢問使用者的情況下得知他們是否已開始連結帳號,或想在建立替代連結之前確認某個連結已失效時, 此端點非常實用。
不存在的 sessionId,或屬於其他帳戶的 sessionId,都會回傳相同的 not found 回應。這是刻意的設計, 讓此端點無法被用來探測某個識別碼是否真實存在。

標頭參數

路徑參數

string
必填
建立連結時所回傳的 sessionId

連結狀態

state 欄位為以下其中之一:
  • pending:已建立,從未被開啟。
  • active:至少被開啟過一次,仍在有效期內。
  • expired:已超過 expiresAt
  • revoked:已透過撤銷 Link Session 終止。
已撤銷的連結即使超過有效期後仍會回報 revoked,因為這是更有用的答案。

已連結的帳號

當你的使用者連結帳號時,連結會記錄下來。一旦有帳號連結成功,就會出現三個欄位,在那之前 則不存在:
  • completedAt:第一個帳號連結完成的時間。
  • lastCompletedAt:最近一個帳號連結完成的時間。
  • completedNetworks:在此連結上連結完成的每一個網路。
這些欄位與 state 是分開的,且兩者回答的都是真實的問題:一個連結可以是 active 卻還沒有連結 任何帳號,也可以是 expired 但在到期前已連結了三個帳號。輪詢 completedNetworks 正是伺服器端 渲染的應用程式或行動應用程式得知連結完成的方式,也是 Telegram 唯一的訊號——Telegram 的連結在 頻外完成。
completedNetworks 是此 link session 的歷史紀錄,不是 profile 的目前狀態。它是只增不減的: 網路在透過此工作階段連結成功時被加入,且永遠不會被移除,因此在帳號被取消連結、透過其他工作階段 重新連結,或在網路那一端被中斷連線之後,它仍會列在其中。若要查看此刻有哪些網路連結到該 User Profile,請以 include=state 呼叫 取得 User Profiles