跳至主要內容

MiniApp 概覽與核心標識:miniapp_id、shortName、entryUrl 與直達連結

MPChat MiniApp 是什麼,以及各標識如何配合:miniapp_id、shortName、entryUrl、botUsername,還有固定的直達連結格式。

不要混淆這些標識。miniapp_id 是 MPChat 產生的、帶簽名的業務 ID;shortName 是每個 Bot 下的連結名;entryUrl 是用戶最終開啟的頁面。三者角色不同。


總覽

MPChat MiniApp 是在 MPChat 內開啟的 Web 應用。目前階段聚焦於:開啟 MiniApp、暴露簽名後的初始化資料、讓後端驗證用戶身分。尚未實作完整 WebApp JavaScript API。

核心標識

名稱

來源

用途

miniapp_id

建立 MiniApp 時由 MPChat 產生(形如 ma_...)。

業務 ID;出現在簽名後的 initData.miniapp_id。需在後端校驗。

shortName

建立時設定的短連結名。

與 bot 用戶名組合成直達連結。同一 Bot 下唯一。

entryUrl

建立時設定的 H5 入口 URL。

用戶開啟的頁面;在 sendMessage 中作為 web_app.url

botUsername

bot 用戶名。

直達連結的第一段路徑。

直達連結規則

https://mp.net/{botUsername}/{shortName}

  • 路徑中不要帶 @

  • shortName 在同一 Bot 下唯一;不同 Bot 可重名。

  • 只傳 botUsername 只解析到 Bot、不會選中預設 MiniApp——請帶上 shortName

  • 啟動參數會放進簽名的 initData.start_param;前端讀 initDataUnsafe.startParam 做路由。

建立與開啟如何銜接

  • 建立 MiniApp(例如 BotFather /newapp);記錄 miniapp_idshortNameentryUrl

  • 透過 sendMessage 的 web_app 按鈕或直達連結開啟。

  • 開啟時 MPChat 產生簽名的啟動上下文;後端用簽名的 miniapp_id 確認請求屬於哪個 MiniApp。

相關文章

miniapp_id 不是前端定義的頁面 ID,也不等於 shortName。始終信任原始 initData 中的簽名值,絕不信任前端提交的未簽名值。

是否回答了您的問題?