DodoSpeak Oral

怎麼嵌進你們的系統

兩種正式接入(頁面掛件 / 登入換票)、掛載表面、個性化與完成態核對。

oraldeveloper

受眾:整合開發者 · 適用:DodoSpeak Oral

目標:按固定路徑把練習 / 任務 / 記錄 / 考試嵌進你們的頁面;先選接入方式,再掛載。

準備事項見 要用起來先準備什麼。兩種接入對照見 兩種正式接入:頁面掛件與登入換票。成績與記錄見 如何取得考試成績與查看記錄。想對著真實樣例抄:在官網開通試用後登入 口語接入台(預設 管理者,先在 設定 裡選嵌入方式、維護名冊),再切到開發者,進 如何嵌

先選接入方式

兩種都是正式接入:同一套嵌入頁、同一套開口 / 評分 / 考試引擎;按人能力與計費單價相同。差別在認人整合誰來做,以及寫回你們 LMS 是否順手。

頁面掛件登入換票
你們要做的貼腳本 + 登記 Origin;匯入名冊併發學員碼(學生先認人再開口)已有登入成功處由後端換短時 嵌入令牌,再交給頁面
要不要在伺服器執行命令不要要能改登入接口或雲函數(不必自建口語引擎)
學生是誰Oral 名冊學員(學員碼 / 自助綁定)你們系統已登入用戶的 外部用戶 id
Oral 內按人記錄 / 成績
直接按 LMS 登入號寫回成績冊需匯出映射或另整合順手
計費與換票相同與掛件相同
前端憑證可發佈鑰匙 + 學員認人嵌入令牌(後端用 機構密鑰 換出)

選型細表與「掛件必須多做的工作」見 兩種正式接入。不要說「掛件是試用、更便宜或不能按人」。

路徑 A:頁面掛件

  1. 口語接入台「如何嵌」領取 可發佈鑰匙,登記網站 Origin。
  2. 在接入台 匯入名冊,生成並分發 學員碼(或啟用學員 OTP / PIN)。
  3. 頁面引入嵌入腳本,用掛件方式掛載(樣例在接入台「如何嵌 · 頁面掛件」)。
  4. 學生開啟頁面後 先掃碼 / 輸碼,再練、交任務、考試或看記錄。
  5. 機構密鑰 / 店鑰匙(如 olk_test_不要寫進頁面。
  6. 完成態若要對賬:後端仍可再問 Oral API;寫回你們 LMS 時按名冊學號欄位映射,或改用登入換票更省事。

未完成學員認人時掛件不能開口——這是預期。

路徑 B:登入換票(固定路徑)

  1. 開通機構,拿到 機構密鑰(只放後端)。試用可在官網開通口語接入台;正式密鑰以商務開通為準。
  2. 學生登入你們系統後,你們的後端 POST /api/v2/oral/embed-sessions,換回短時 嵌入令牌(須帶 external_user_id 等)。
  3. 前端把令牌交給 OralEmbed.mount,指定表面(practice / assignment / report / exam)。
  4. 學生開口練或考;結束後你們後端再調 Oral API(或收 Webhook)核對完成態、成績與用量。

瀏覽器裡只有短時嵌入令牌,沒有機構密鑰。

介面在哪(對照用)

接入台切到開發者 → 側欄 如何嵌:先選 頁面掛件 | 登入換票,再按步做。那是樣板,不是要你們照搬整站。

前端掛載(登入換票示意)

頁面準備一個容器,引入嵌入腳本後:

<div id="oral"></div>
<script src="https://(嵌入脚本地址)/oral-embed.js"></script>
<script>
  OralEmbed.mount("#oral", {
    token: window.__ORAL_EMBED_TOKEN__,
    surface: "practice",
    locale: "zh-CN",
    /* 可选:主题 token,见下方「个性化」 */
    onCompleted: function () {
      /* 再调自家后端核对完成态 */
    }
  });
</script>

token 必須由你們後端下發。腳本地址與 API 基址以開通材料為準。頁面掛件樣例以接入台「如何嵌」複製區為準(可發佈鑰匙 + 學員認人,不傳店鑰匙)。

個性化(主題 token)

嵌入頁可按你們產品外觀微調,不是換整站皮膚。

說明
可調什麼主色、圓角、密度、角標文案等(以接入台預覽與 mount 欄位為準)
在哪試接入台「如何嵌」預覽旁調節;可同步進複製代碼
生產怎麼帶OralEmbed.mount 傳入主題相關欄位(與預覽一致)
注意掛件與換票都支援外觀個性化;不能用個性化代替學員認人或完成態核對

表面與套餐

四個表面都會出現在能力清單裡;套餐不夠時接口拒絕(常見為無權限),不要靠藏按鈕假裝沒有。

表面做什麼通常從哪檔套餐起
練習 practice開口練Lite
任務 assignment完成已發布任務Class
記錄 report看結果(記錄表面;對齊「學員看自己的練/考結果」)Assess
考試 exam正式考試Exam

套餐細節見 套餐、權利與用量。成績與記錄見 如何取得考試成績與查看記錄

如何確認成功

  • 頁面出現嵌入的口語介面;掛件路徑須先完成學員認人,麥克風授權後能開口。
  • 換票路徑:結束後,你們後端能按 外部用戶 id 查到對應會話 / 成績。
  • 掛件路徑:結束後,能按 名冊學員 在 Oral 側看到對應記錄;寫回 LMS 按你們映射方案核對。
  • 用低於套餐的表面請求時,API 拒絕,而不是前端「沒這個按鈕」。

常見失敗

現象先查
嵌入空白或跨域失敗Origin 是否已登記;CSP / iframe 祖先
401 / 令牌無效嵌入令牌是否過期;是否誤把機構密鑰塞進前端
掛件只顯示認人、不能練名冊 / 學員碼是否就緒;學生是否已掃碼
能看到入口但一開就失敗套餐是否包含該表面;角色是否允許(接入台直鏈無權限會回首頁)
前端顯示完成、教務側沒有完成態未走 API / Webhook;掛件寫回是否未做學號映射

相關閱讀

最後更新:Mon Aug 17

本指南適用於 DodoSpeak 幫助中心。

怎麼嵌進你們的系統 · DodoSpeak 幫助中心