SDK 參考
每一個 Telybot SDK——Android、iOS、React Native、Flutter、Ionic——都實作了相同的簡短合約。如果您用過其中一個,就等於全部都會用。
API
| 通話 | 它的功能 |
|---|---|
init / initialize | 儲存您的 client id。進行驗證,若格式不正確則會明確報錯。 |
show | 在您的 App 上方顯示聊天。可選擇傳入一個問題放進訊息框(0.2.0)。 |
dismiss | 關閉它。 |
isShowing | 目前是否正處於呈現狀態。 |
| 內嵌聊天 | 嵌在您自己某個畫面中的聊天,例如說明分頁(0.2.0)。 |
onShow / onDismiss | 在聊天開啟和關閉時收到通知,適用於 Android 和 iOS(0.2.0)。 |
setVisitor | 已登入顧客的姓名、電話和電子郵件,在聊天的表單中提供(0.2.0)。 |
hasUnreadReply / onReply | 顧客尚未看到的團隊回覆(0.2.0)。 |
帶著問題開啟。 把問題傳給 show,它就會出現在聊天的訊息框中;顧客讀完後點擊送出。問題透過連結的 #fragment 傳遞,因此絕不會進入伺服器日誌。最多 500 個字元,單行。
嵌在您自己畫面中的聊天。 Android 的 KeydaBotView、iOS 的 KeydaBot.makeChatViewController 或 SwiftUI 的 KeydaBotView、React Native 的 <KeydaBotChat />、Flutter 的 KeydaBotChat,以及 Ionic 套件的 embedWidget()。它沒有關閉按鈕——您畫面的導覽就是出口。在 Android 上,返回鍵會先關閉開啟中的商品或購物車:當聊天是最前面的畫面時,React Native 和 Flutter 會替您處理;使用原生 KeydaBotView 時,由您的返回處理呼叫它的 goBack()。
已登入的顧客。 把顧客的姓名、電話號碼或電子郵件交給 SDK,聊天就會填入您的 App 已經知道的資訊。這些資訊只是提供,絕不會自動送出:它們出現在「與真人交談」表單、訂單、預約以及詢問姓名、電話或電子郵件的歡迎問題中,由顧客自己送出。它們透過連結的 #fragment 傳遞,代表的是您 App 的說法,而不是經過驗證的身分。聊天會拒絕的值將被略過:超過 80 個字元的姓名、不是 8 到 15 位數字的電話號碼、沒有有效網域的電子郵件地址。Ionic 的全螢幕聊天在系統瀏覽器中開啟,而瀏覽器會把網址保留在歷史記錄中,因此不接收這些資訊;其內嵌小工具則接收。
聊天關閉時的回覆。 當顧客要求轉真人並關閉聊天後,您在後台的回覆會在對話中等待。Android、iOS、React Native 和 Flutter 的 SDK 會在您的 App 回到前景時檢查,並通知您的 App,讓您可以在聊天按鈕上顯示一個圓點,直到顧客打開聊天。它們只查詢顧客在最近 14 天內要求過轉真人的聊天。App 在視線之外保持載入的聊天(例如背景中的說明分頁)不算已讀:圓點會一直保留,直到顧客看到。這不是推播通知:回覆在 App 開啟時才會被發現。
刻意不再提供其他功能。沒有傳送訊息的 API,也沒有使用者身分呼叫——因為兩者都還沒有端對端可用,而一個不可用的方法比沒有這個方法更糟。
每個 SDK 開啟的 URL
{baseUrl}/chat/{clientId}baseUrl 預設為 https://telybot.com,且可在所有平台上覆寫,適用於測試環境或自行主機託管安裝。
為什麼使用網頁檢視(web view),以及它對您的影響
只有一個由平台提供的聊天介面,每個管道都會載入它。
您將獲得: 業主在儀表板中所做的任何變更(主色調、歡迎訊息、機器人名稱、上線)都會立即同步至所有應用程式,無需重新發布。修復會同時生效於各處。跨平台的聊天體驗完全相同。
費用說明:聊天功能需要連線。目前沒有離線模式,也沒有推播通知。
我們寧願您在發布前就知道這一點,而不是事後才發現。
各 SDK 所提供的保證
- 導覽跳脫。 連往任何其他來源的連結會在系統瀏覽器中開啟,而不是取代聊天。沒有這個功能,只要輕觸一下頁腳連結就會結束客戶的對話,且無法返回。
- 對話連續性。已啟用 DOM 儲存,因此關閉應用程式後再次返回的客戶可以繼續之前的對話串(持續 24 小時)。
- 鍵盤絕不會遮擋輸入框。
- 尊重安全區域 — 聊天視窗不會顯示在瀏海或主畫面指示器下方。
- 任何崩潰都不會影響你的應用程式。 載入失敗時會顯示重試按鈕。
- 沒有分析、沒有裝置識別碼、沒有第三方相依性。新增 Telybot SDK 不會在您的應用程式中加入追蹤器。
- 返回鍵先關閉顧客正在查看的內容。 在 Android 上,在開啟中的商品、購物車或預約上按返回鍵會先關閉它,然後才關閉聊天(SDK 0.2.0 及更新版本)。
在聊天中
這些都來自託管頁面,因此不需更新 SDK 就能到達每個 App:
- 帶有建議按鈕的歡迎訊息,使用機器人設定的語言。
- 對話在裝置上保留 24 小時,聊天不會建立訪客 ID。在網站上,一次對話只持續一個瀏覽器分頁。(Ionic SDK 的全螢幕聊天需要 0.2.0 才能做到。)
- 訂單與預約(在商家開通時):購物車、預約日期與時間、當訂單或預約等待過久時撥打商家電話的連結,以及已確認預約的「加入行事曆」。
- 附件:照片(JPEG、PNG、WebP、GIF)以及 PDF、DOCX、TXT、CSV 和 MD 檔案。附件按鈕需要 Android 和 Flutter SDK 0.1.4 或更新版本,文件需要 Flutter 0.2.0。
- 「加入行事曆」是指向
.ics檔案的連結。 iOS 會在行事曆中將其作為可訂閱的行事曆開啟。Android 在手機的行事曆 App 能匯入.ics檔案時會提供該 App(目前的 Google 日曆可以),否則由瀏覽器下載該檔案。
Client id 格式
kb_live_ followed by 8-48 hexadecimal characters任何其他內容在初始化時就會遭到拒絕,而不會在客戶面前開啟 404 頁面。Client ID 依設計就是公開的——它會顯示在任何嵌入該小工具的網站中——並且不具備讀取或修改您帳戶的權限。請參閱限制與安全性。
來源
公開且採用 MIT 授權:github.com/telybotai/telybot-Sdks. 每個套件都必須遵守的共用協定位於該儲存庫頂端的 CONTRACT.md 中。